ace.define( 'ace/mode/ini_highlight_rules', ['require', 'exports', 'module', 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function (e, t, n) { 'use strict' var r = e('../lib/oop'), i = e('./text_highlight_rules').TextHighlightRules, s = '\\\\(?:[\\\\0abtrn;#=:]|x[a-fA-F\\d]{4})', o = function () { ;(this.$rules = { start: [ { token: 'punctuation.definition.comment.ini', regex: '#.*', push_: [ { token: 'comment.line.number-sign.ini', regex: '$|^', next: 'pop' }, { defaultToken: 'comment.line.number-sign.ini' }, ], }, { token: 'punctuation.definition.comment.ini', regex: ';.*', push_: [ { token: 'comment.line.semicolon.ini', regex: '$|^', next: 'pop' }, { defaultToken: 'comment.line.semicolon.ini' }, ], }, { token: [ 'keyword.other.definition.ini', 'text', 'punctuation.separator.key-value.ini', ], regex: '\\b([a-zA-Z0-9_.-]+)\\b(\\s*)(=)', }, { token: [ 'punctuation.definition.entity.ini', 'constant.section.group-title.ini', 'punctuation.definition.entity.ini', ], regex: '^(\\[)(.*?)(\\])', }, { token: 'punctuation.definition.string.begin.ini', regex: "'", push: [ { token: 'punctuation.definition.string.end.ini', regex: "'", next: 'pop' }, { token: 'constant.language.escape', regex: s }, { defaultToken: 'string.quoted.single.ini' }, ], }, { token: 'punctuation.definition.string.begin.ini', regex: '"', push: [ { token: 'constant.language.escape', regex: s }, { token: 'punctuation.definition.string.end.ini', regex: '"', next: 'pop' }, { defaultToken: 'string.quoted.double.ini' }, ], }, ], }), this.normalizeRules() } ;(o.metaData = { fileTypes: ['ini', 'conf'], keyEquivalent: '^~I', name: 'Ini', scopeName: 'source.ini', }), r.inherits(o, i), (t.IniHighlightRules = o) } ), ace.define( 'ace/mode/folding/ini', ['require', 'exports', 'module', 'ace/lib/oop', 'ace/range', 'ace/mode/folding/fold_mode'], function (e, t, n) { 'use strict' var r = e('../../lib/oop'), i = e('../../range').Range, s = e('./fold_mode').FoldMode, o = (t.FoldMode = function () {}) r.inherits(o, s), function () { ;(this.foldingStartMarker = /^\s*\[([^\])]*)]\s*(?:$|[;#])/), (this.getFoldWidgetRange = function (e, t, n) { var r = this.foldingStartMarker, s = e.getLine(n), o = s.match(r) if (!o) return var u = o[1] + '.', a = s.length, f = e.getLength(), l = n, c = n while (++n < f) { s = e.getLine(n) if (/^\s*$/.test(s)) continue o = s.match(r) if (o && o[1].lastIndexOf(u, 0) !== 0) break c = n } if (c > l) { var h = e.getLine(c).length return new i(l, a, c, h) } }) }.call(o.prototype) } ), ace.define( 'ace/mode/ini', [ 'require', 'exports', 'module', 'ace/lib/oop', 'ace/mode/text', 'ace/mode/ini_highlight_rules', 'ace/mode/folding/ini', ], function (e, t, n) { 'use strict' var r = e('../lib/oop'), i = e('./text').Mode, s = e('./ini_highlight_rules').IniHighlightRules, o = e('./folding/ini').FoldMode, u = function () { ;(this.HighlightRules = s), (this.foldingRules = new o()), (this.$behaviour = this.$defaultBehaviour) } r.inherits(u, i), function () { ;(this.lineCommentStart = ';'), (this.blockComment = null), (this.$id = 'ace/mode/ini') }.call(u.prototype), (t.Mode = u) } ) ;(function () { ace.require(['ace/mode/ini'], function (m) { if (typeof module == 'object' && typeof exports == 'object' && module) { module.exports = m } }) })()