ace-rails-ap 4.0.1 → 4.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ace/rails/version.rb +1 -1
- data/vendor/assets/javascripts/ace/ace.js +187 -175
- data/vendor/assets/javascripts/ace/ext-chromevox.js +5 -5
- data/vendor/assets/javascripts/ace/ext-emmet.js +4 -5
- data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +1 -1
- data/vendor/assets/javascripts/ace/ext-language_tools.js +23 -22
- data/vendor/assets/javascripts/ace/ext-modelist.js +11 -5
- data/vendor/assets/javascripts/ace/ext-settings_menu.js +13 -7
- data/vendor/assets/javascripts/ace/ext-textarea.js +0 -72
- data/vendor/assets/javascripts/ace/keybinding-emacs.js +3 -2
- data/vendor/assets/javascripts/ace/keybinding-vim.js +23 -18
- data/vendor/assets/javascripts/ace/mode-abap.js +3 -19
- data/vendor/assets/javascripts/ace/mode-c_cpp.js +21 -29
- data/vendor/assets/javascripts/ace/mode-cirru.js +15 -15
- data/vendor/assets/javascripts/ace/mode-coffee.js +3 -22
- data/vendor/assets/javascripts/ace/mode-coldfusion.js +40 -54
- data/vendor/assets/javascripts/ace/mode-csharp.js +6 -0
- data/vendor/assets/javascripts/ace/mode-css.js +3 -3
- data/vendor/assets/javascripts/ace/mode-curly.js +40 -54
- data/vendor/assets/javascripts/ace/mode-dart.js +21 -29
- data/vendor/assets/javascripts/ace/mode-django.js +40 -54
- data/vendor/assets/javascripts/ace/mode-eiffel.js +2 -2
- data/vendor/assets/javascripts/ace/mode-ejs.js +41 -55
- data/vendor/assets/javascripts/ace/mode-elm.js +3 -3
- data/vendor/assets/javascripts/ace/mode-ftl.js +36 -50
- data/vendor/assets/javascripts/ace/mode-gherkin.js +6 -6
- data/vendor/assets/javascripts/ace/mode-glsl.js +21 -29
- data/vendor/assets/javascripts/ace/mode-gobstones.js +1273 -0
- data/vendor/assets/javascripts/ace/mode-golang.js +2 -2
- data/vendor/assets/javascripts/ace/mode-groovy.js +33 -47
- data/vendor/assets/javascripts/ace/mode-haml.js +981 -27
- data/vendor/assets/javascripts/ace/mode-handlebars.js +40 -54
- data/vendor/assets/javascripts/ace/mode-html.js +40 -54
- data/vendor/assets/javascripts/ace/mode-html_elixir.js +40 -54
- data/vendor/assets/javascripts/ace/mode-html_ruby.js +41 -55
- data/vendor/assets/javascripts/ace/mode-jade.js +83 -189
- data/vendor/assets/javascripts/ace/mode-java.js +35 -49
- data/vendor/assets/javascripts/ace/mode-javascript.js +33 -47
- data/vendor/assets/javascripts/ace/mode-jsp.js +38 -52
- data/vendor/assets/javascripts/ace/mode-lean.js +1 -1
- data/vendor/assets/javascripts/ace/mode-less.js +368 -136
- data/vendor/assets/javascripts/ace/mode-liquid.js +36 -50
- data/vendor/assets/javascripts/ace/mode-livescript.js +3 -18
- data/vendor/assets/javascripts/ace/mode-logiql.js +11 -11
- data/vendor/assets/javascripts/ace/mode-lua.js +1 -4
- data/vendor/assets/javascripts/ace/mode-luapage.js +41 -58
- data/vendor/assets/javascripts/ace/mode-markdown.js +40 -54
- data/vendor/assets/javascripts/ace/mode-mask.js +36 -50
- data/vendor/assets/javascripts/ace/mode-matlab.js +1 -1
- data/vendor/assets/javascripts/ace/mode-mel.js +1 -1
- data/vendor/assets/javascripts/ace/mode-nix.js +21 -29
- data/vendor/assets/javascripts/ace/mode-nsis.js +304 -0
- data/vendor/assets/javascripts/ace/mode-objectivec.js +21 -29
- data/vendor/assets/javascripts/ace/mode-pascal.js +1 -1
- data/vendor/assets/javascripts/ace/mode-pgsql.js +33 -47
- data/vendor/assets/javascripts/ace/mode-php.js +42 -57
- data/vendor/assets/javascripts/ace/mode-powershell.js +86 -57
- data/vendor/assets/javascripts/ace/mode-praat.js +1 -1
- data/vendor/assets/javascripts/ace/mode-protobuf.js +21 -29
- data/vendor/assets/javascripts/ace/mode-r.js +20 -20
- data/vendor/assets/javascripts/ace/mode-razor.js +3136 -0
- data/vendor/assets/javascripts/ace/mode-rdoc.js +20 -20
- data/vendor/assets/javascripts/ace/mode-rhtml.js +60 -74
- data/vendor/assets/javascripts/ace/mode-rst.js +249 -0
- data/vendor/assets/javascripts/ace/mode-ruby.js +1 -1
- data/vendor/assets/javascripts/ace/mode-rust.js +4 -8
- data/vendor/assets/javascripts/ace/mode-scala.js +33 -47
- data/vendor/assets/javascripts/ace/mode-sjs.js +42 -56
- data/vendor/assets/javascripts/ace/mode-smarty.js +40 -54
- data/vendor/assets/javascripts/ace/mode-soy_template.js +41 -55
- data/vendor/assets/javascripts/ace/mode-sqlserver.js +3 -3
- data/vendor/assets/javascripts/ace/mode-stylus.js +1 -1
- data/vendor/assets/javascripts/ace/mode-svg.js +34 -48
- data/vendor/assets/javascripts/ace/mode-swift.js +5 -5
- data/vendor/assets/javascripts/ace/mode-tex.js +24 -24
- data/vendor/assets/javascripts/ace/mode-twig.js +40 -54
- data/vendor/assets/javascripts/ace/mode-typescript.js +33 -47
- data/vendor/assets/javascripts/ace/mode-velocity.js +40 -54
- data/vendor/assets/javascripts/ace/mode-vhdl.js +2 -2
- data/vendor/assets/javascripts/ace/mode-wollok.js +1256 -0
- data/vendor/assets/javascripts/ace/mode-xml.js +1 -1
- data/vendor/assets/javascripts/ace/worker-coffee.js +1 -1
- data/vendor/assets/javascripts/ace/worker-css.js +1 -1
- data/vendor/assets/javascripts/ace/worker-html.js +2 -2
- data/vendor/assets/javascripts/ace/worker-javascript.js +1 -1
- data/vendor/assets/javascripts/ace/worker-json.js +1 -1
- data/vendor/assets/javascripts/ace/worker-lua.js +1 -1
- data/vendor/assets/javascripts/ace/worker-php.js +2 -4
- data/vendor/assets/javascripts/ace/worker-xml.js +1 -1
- data/vendor/assets/javascripts/ace/worker-xquery.js +1 -1
- metadata +8 -3
@@ -0,0 +1,304 @@
|
|
1
|
+
define("ace/mode/nsis_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
|
2
|
+
"use strict";
|
3
|
+
|
4
|
+
var oop = require("../lib/oop");
|
5
|
+
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
6
|
+
|
7
|
+
var NSISHighlightRules = function() {
|
8
|
+
|
9
|
+
this.$rules = {
|
10
|
+
start: [{
|
11
|
+
token: "keyword.compiler.nsis",
|
12
|
+
regex: /(?:\b|^\s*)\!(?:include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|finalize|getdllversion|system|tempfile|warning|verbose|define|undef|insertmacro|macro|macroend|makensis|searchparse|searchreplace)\b/,
|
13
|
+
caseInsensitive: true
|
14
|
+
}, {
|
15
|
+
token: "keyword.command.nsis",
|
16
|
+
regex: /(?:\b|^\s*)(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|IntCmp|IntCmpU|IntFmt|IntOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetPluginUnload|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegStr|WriteUninstaller|XPStyle)\b/,
|
17
|
+
caseInsensitive: true
|
18
|
+
}, {
|
19
|
+
token: "keyword.control.nsis",
|
20
|
+
regex: /(?:\b|^\s*)\!(?:ifdef|ifndef|if|ifmacrodef|ifmacrondef|else|endif)\b/,
|
21
|
+
caseInsensitive: true
|
22
|
+
}, {
|
23
|
+
token: "keyword.plugin.nsis",
|
24
|
+
regex: /(?:\b|^\s*)\w+\:\:\w+/,
|
25
|
+
caseInsensitive: true
|
26
|
+
}, {
|
27
|
+
token: "keyword.operator.comparison.nsis",
|
28
|
+
regex: /[!<>]?=|<>|<|>/
|
29
|
+
}, {
|
30
|
+
token: "support.function.nsis",
|
31
|
+
regex: /(?:\b|^\s*)(?:Function|FunctionEnd|Section|SectionEnd|SectionGroup|SectionGroupEnd|SubSection|SubSectionEnd|PageEx|PageExEnd)\b/,
|
32
|
+
caseInsensitive: true
|
33
|
+
}, {
|
34
|
+
token: "support.library.nsis",
|
35
|
+
regex: /\${[\w]+}/
|
36
|
+
}, {
|
37
|
+
token: "constant.nsis",
|
38
|
+
regex: /(?:\b|^\s*)(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/,
|
39
|
+
caseInsensitive: true
|
40
|
+
}, {
|
41
|
+
token: "constant.library.nsis",
|
42
|
+
regex: /\${(?:AtLeastServicePack|AtLeastWin7|AtLeastWin8|AtLeastWin10|AtLeastWin95|AtLeastWin98|AtLeastWin2000|AtLeastWin2003|AtLeastWin2008|AtLeastWin2008R2|AtLeastWinME|AtLeastWinNT4|AtLeastWinVista|AtLeastWinXP|AtMostServicePack|AtMostWin7|AtMostWin8|AtMostWin10|AtMostWin95|AtMostWin98|AtMostWin2000|AtMostWin2003|AtMostWin2008|AtMostWin2008R2|AtMostWinME|AtMostWinNT4|AtMostWinVista|AtMostWinXP|IsNT|IsServer|IsServicePack|IsWin7|IsWin8|IsWin10|IsWin95|IsWin98|IsWin2000|IsWin2003|IsWin2008|IsWin2008R2|IsWinME|IsWinNT4|IsWinVista|IsWinXP)}/
|
43
|
+
}, {
|
44
|
+
token: "constant.language.boolean.true.nsis",
|
45
|
+
regex: /\b(?:true|on)\b/
|
46
|
+
}, {
|
47
|
+
token: "constant.language.boolean.false.nsis",
|
48
|
+
regex: /\b(?:false|off)\b/
|
49
|
+
}, {
|
50
|
+
token: "constant.language.option.nsis",
|
51
|
+
regex: /(?:\b|^\s*)(?:(?:un\.)?components|(?:un\.)?custom|(?:un\.)?directory|(?:un\.)?instfiles|(?:un\.)?license|uninstConfirm|admin|all|auto|both|bottom|bzip2|current|force|hide|highest|ifdiff|ifnewer|lastused|leave|left|listonly|lzma|nevershow|none|normal|notset|right|show|silent|silentlog|textonly|top|try|user|Win10|Win7|Win8|WinVista|zlib)\b/,
|
52
|
+
caseInsensitive: true
|
53
|
+
}, {
|
54
|
+
token: "constant.language.slash-option.nsis",
|
55
|
+
regex: /\/(?:a|BRANDING|CENTER|COMPONENTSONLYONCUSTOM|CUSTOMSTRING\=|date|e|ENABLECANCEL|FILESONLY|file|FINAL|GLOBAL|gray|ifempty|ifndef|ignorecase|IMGID\=|ITALIC|LANG\=|NOCUSTOM|noerrors|NONFATAL|nonfatal|oname\=|o|REBOOTOK|redef|RESIZETOFIT|r|SHORT|SILENT|SOLID|STRIKE|TRIM|UNDERLINE|utcdate|windows|x)\b/,
|
56
|
+
caseInsensitive: true
|
57
|
+
}, {
|
58
|
+
token: "constant.numeric.nsis",
|
59
|
+
regex: /\b(?:0(?:x|X)[0-9a-fA-F]+|[0-9]+(?:\.[0-9]+)?)\b/
|
60
|
+
}, {
|
61
|
+
token: "entity.name.function.nsis",
|
62
|
+
regex: /\${[\w]+}/
|
63
|
+
}, {
|
64
|
+
token: "storage.type.function.nsis",
|
65
|
+
regex: /\$[\w]+/
|
66
|
+
}, {
|
67
|
+
token: "punctuation.definition.string.begin.nsis",
|
68
|
+
regex: /`/,
|
69
|
+
push: [{
|
70
|
+
token: "punctuation.definition.string.end.nsis",
|
71
|
+
regex: /`/,
|
72
|
+
next: "pop"
|
73
|
+
}, {
|
74
|
+
token: "constant.character.escape.nsis",
|
75
|
+
regex: /\$\\./
|
76
|
+
}, {
|
77
|
+
defaultToken: "string.quoted.back.nsis"
|
78
|
+
}]
|
79
|
+
}, {
|
80
|
+
token: "punctuation.definition.string.begin.nsis",
|
81
|
+
regex: /"/,
|
82
|
+
push: [{
|
83
|
+
token: "punctuation.definition.string.end.nsis",
|
84
|
+
regex: /"/,
|
85
|
+
next: "pop"
|
86
|
+
}, {
|
87
|
+
token: "constant.character.escape.nsis",
|
88
|
+
regex: /\$\\./
|
89
|
+
}, {
|
90
|
+
defaultToken: "string.quoted.double.nsis"
|
91
|
+
}]
|
92
|
+
}, {
|
93
|
+
token: "punctuation.definition.string.begin.nsis",
|
94
|
+
regex: /'/,
|
95
|
+
push: [{
|
96
|
+
token: "punctuation.definition.string.end.nsis",
|
97
|
+
regex: /'/,
|
98
|
+
next: "pop"
|
99
|
+
}, {
|
100
|
+
token: "constant.character.escape.nsis",
|
101
|
+
regex: /\$\\./
|
102
|
+
}, {
|
103
|
+
defaultToken: "string.quoted.single.nsis"
|
104
|
+
}]
|
105
|
+
}, {
|
106
|
+
token: [
|
107
|
+
"punctuation.definition.comment.nsis",
|
108
|
+
"comment.line.nsis"
|
109
|
+
],
|
110
|
+
regex: /(;|#)(.*$)/
|
111
|
+
}, {
|
112
|
+
token: "punctuation.definition.comment.nsis",
|
113
|
+
regex: /\/\*/,
|
114
|
+
push: [{
|
115
|
+
token: "punctuation.definition.comment.nsis",
|
116
|
+
regex: /\*\//,
|
117
|
+
next: "pop"
|
118
|
+
}, {
|
119
|
+
defaultToken: "comment.block.nsis"
|
120
|
+
}]
|
121
|
+
}, {
|
122
|
+
token: "text",
|
123
|
+
regex: /(?:\!include|\!insertmacro)\b/
|
124
|
+
}]
|
125
|
+
};
|
126
|
+
|
127
|
+
this.normalizeRules();
|
128
|
+
};
|
129
|
+
|
130
|
+
NSISHighlightRules.metaData = {
|
131
|
+
comment: "\n\ttodo: - highlight functions\n\t",
|
132
|
+
fileTypes: ["nsi", "nsh"],
|
133
|
+
name: "NSIS",
|
134
|
+
scopeName: "source.nsis"
|
135
|
+
};
|
136
|
+
|
137
|
+
|
138
|
+
oop.inherits(NSISHighlightRules, TextHighlightRules);
|
139
|
+
|
140
|
+
exports.NSISHighlightRules = NSISHighlightRules;
|
141
|
+
});
|
142
|
+
|
143
|
+
define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
|
144
|
+
"use strict";
|
145
|
+
|
146
|
+
var oop = require("../../lib/oop");
|
147
|
+
var Range = require("../../range").Range;
|
148
|
+
var BaseFoldMode = require("./fold_mode").FoldMode;
|
149
|
+
|
150
|
+
var FoldMode = exports.FoldMode = function(commentRegex) {
|
151
|
+
if (commentRegex) {
|
152
|
+
this.foldingStartMarker = new RegExp(
|
153
|
+
this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
|
154
|
+
);
|
155
|
+
this.foldingStopMarker = new RegExp(
|
156
|
+
this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
|
157
|
+
);
|
158
|
+
}
|
159
|
+
};
|
160
|
+
oop.inherits(FoldMode, BaseFoldMode);
|
161
|
+
|
162
|
+
(function() {
|
163
|
+
|
164
|
+
this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
|
165
|
+
this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
|
166
|
+
this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
|
167
|
+
this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
|
168
|
+
this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
|
169
|
+
this._getFoldWidgetBase = this.getFoldWidget;
|
170
|
+
this.getFoldWidget = function(session, foldStyle, row) {
|
171
|
+
var line = session.getLine(row);
|
172
|
+
|
173
|
+
if (this.singleLineBlockCommentRe.test(line)) {
|
174
|
+
if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
|
175
|
+
return "";
|
176
|
+
}
|
177
|
+
|
178
|
+
var fw = this._getFoldWidgetBase(session, foldStyle, row);
|
179
|
+
|
180
|
+
if (!fw && this.startRegionRe.test(line))
|
181
|
+
return "start"; // lineCommentRegionStart
|
182
|
+
|
183
|
+
return fw;
|
184
|
+
};
|
185
|
+
|
186
|
+
this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
|
187
|
+
var line = session.getLine(row);
|
188
|
+
|
189
|
+
if (this.startRegionRe.test(line))
|
190
|
+
return this.getCommentRegionBlock(session, line, row);
|
191
|
+
|
192
|
+
var match = line.match(this.foldingStartMarker);
|
193
|
+
if (match) {
|
194
|
+
var i = match.index;
|
195
|
+
|
196
|
+
if (match[1])
|
197
|
+
return this.openingBracketBlock(session, match[1], row, i);
|
198
|
+
|
199
|
+
var range = session.getCommentFoldRange(row, i + match[0].length, 1);
|
200
|
+
|
201
|
+
if (range && !range.isMultiLine()) {
|
202
|
+
if (forceMultiline) {
|
203
|
+
range = this.getSectionRange(session, row);
|
204
|
+
} else if (foldStyle != "all")
|
205
|
+
range = null;
|
206
|
+
}
|
207
|
+
|
208
|
+
return range;
|
209
|
+
}
|
210
|
+
|
211
|
+
if (foldStyle === "markbegin")
|
212
|
+
return;
|
213
|
+
|
214
|
+
var match = line.match(this.foldingStopMarker);
|
215
|
+
if (match) {
|
216
|
+
var i = match.index + match[0].length;
|
217
|
+
|
218
|
+
if (match[1])
|
219
|
+
return this.closingBracketBlock(session, match[1], row, i);
|
220
|
+
|
221
|
+
return session.getCommentFoldRange(row, i, -1);
|
222
|
+
}
|
223
|
+
};
|
224
|
+
|
225
|
+
this.getSectionRange = function(session, row) {
|
226
|
+
var line = session.getLine(row);
|
227
|
+
var startIndent = line.search(/\S/);
|
228
|
+
var startRow = row;
|
229
|
+
var startColumn = line.length;
|
230
|
+
row = row + 1;
|
231
|
+
var endRow = row;
|
232
|
+
var maxRow = session.getLength();
|
233
|
+
while (++row < maxRow) {
|
234
|
+
line = session.getLine(row);
|
235
|
+
var indent = line.search(/\S/);
|
236
|
+
if (indent === -1)
|
237
|
+
continue;
|
238
|
+
if (startIndent > indent)
|
239
|
+
break;
|
240
|
+
var subRange = this.getFoldWidgetRange(session, "all", row);
|
241
|
+
|
242
|
+
if (subRange) {
|
243
|
+
if (subRange.start.row <= startRow) {
|
244
|
+
break;
|
245
|
+
} else if (subRange.isMultiLine()) {
|
246
|
+
row = subRange.end.row;
|
247
|
+
} else if (startIndent == indent) {
|
248
|
+
break;
|
249
|
+
}
|
250
|
+
}
|
251
|
+
endRow = row;
|
252
|
+
}
|
253
|
+
|
254
|
+
return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
|
255
|
+
};
|
256
|
+
this.getCommentRegionBlock = function(session, line, row) {
|
257
|
+
var startColumn = line.search(/\s*$/);
|
258
|
+
var maxRow = session.getLength();
|
259
|
+
var startRow = row;
|
260
|
+
|
261
|
+
var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
|
262
|
+
var depth = 1;
|
263
|
+
while (++row < maxRow) {
|
264
|
+
line = session.getLine(row);
|
265
|
+
var m = re.exec(line);
|
266
|
+
if (!m) continue;
|
267
|
+
if (m[1]) depth--;
|
268
|
+
else depth++;
|
269
|
+
|
270
|
+
if (!depth) break;
|
271
|
+
}
|
272
|
+
|
273
|
+
var endRow = row;
|
274
|
+
if (endRow > startRow) {
|
275
|
+
return new Range(startRow, startColumn, endRow, line.length);
|
276
|
+
}
|
277
|
+
};
|
278
|
+
|
279
|
+
}).call(FoldMode.prototype);
|
280
|
+
|
281
|
+
});
|
282
|
+
|
283
|
+
define("ace/mode/nsis",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/nsis_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
|
284
|
+
"use strict";
|
285
|
+
|
286
|
+
var oop = require("../lib/oop");
|
287
|
+
var TextMode = require("./text").Mode;
|
288
|
+
var NSISHighlightRules = require("./nsis_highlight_rules").NSISHighlightRules;
|
289
|
+
var FoldMode = require("./folding/cstyle").FoldMode;
|
290
|
+
|
291
|
+
var Mode = function() {
|
292
|
+
this.HighlightRules = NSISHighlightRules;
|
293
|
+
this.foldingRules = new FoldMode();
|
294
|
+
};
|
295
|
+
oop.inherits(Mode, TextMode);
|
296
|
+
|
297
|
+
(function() {
|
298
|
+
this.lineCommentStart = [";", "#"];
|
299
|
+
this.blockComment = {start: "/*", end: "*/"};
|
300
|
+
this.$id = "ace/mode/nsis";
|
301
|
+
}).call(Mode.prototype);
|
302
|
+
|
303
|
+
exports.Mode = Mode;
|
304
|
+
});
|
@@ -94,6 +94,7 @@ var c_cppHighlightRules = function() {
|
|
94
94
|
}, "identifier");
|
95
95
|
|
96
96
|
var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\d\\$_\u00a1-\uffff]*\\b";
|
97
|
+
var escapeRe = /\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;
|
97
98
|
|
98
99
|
this.$rules = {
|
99
100
|
"start" : [
|
@@ -112,19 +113,27 @@ var c_cppHighlightRules = function() {
|
|
112
113
|
regex : "\\/\\*",
|
113
114
|
next : "comment"
|
114
115
|
}, {
|
115
|
-
token : "string", //
|
116
|
-
regex : '
|
116
|
+
token : "string", // character
|
117
|
+
regex : "'(?:" + escapeRe + "|.)'"
|
117
118
|
}, {
|
118
|
-
token : "string",
|
119
|
-
regex : '
|
120
|
-
|
119
|
+
token : "string.start",
|
120
|
+
regex : '"',
|
121
|
+
stateName: "qqstring",
|
122
|
+
next: [
|
123
|
+
{ token: "string", regex: /\\\s*$/, next: "qqstring" },
|
124
|
+
{ token: "constant.language.escape", regex: escapeRe },
|
125
|
+
{ token: "constant.language.escape", regex: /%[^'"\\]/ },
|
126
|
+
{ token: "string.end", regex: '"|$', next: "start" },
|
127
|
+
{ defaultToken: "string"}
|
128
|
+
]
|
121
129
|
}, {
|
122
|
-
token : "string",
|
123
|
-
regex : "
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
130
|
+
token : "string.start",
|
131
|
+
regex : 'R"\\(',
|
132
|
+
stateName: "rawString",
|
133
|
+
next: [
|
134
|
+
{ token: "string.end", regex: '\\)"', next: "start" },
|
135
|
+
{ defaultToken: "string"}
|
136
|
+
]
|
128
137
|
}, {
|
129
138
|
token : "constant.numeric", // hex
|
130
139
|
regex : "0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"
|
@@ -184,24 +193,6 @@ var c_cppHighlightRules = function() {
|
|
184
193
|
defaultToken: "comment"
|
185
194
|
}
|
186
195
|
],
|
187
|
-
"qqstring" : [
|
188
|
-
{
|
189
|
-
token : "string",
|
190
|
-
regex : '(?:(?:\\\\.)|(?:[^"\\\\]))*?"',
|
191
|
-
next : "start"
|
192
|
-
}, {
|
193
|
-
defaultToken : "string"
|
194
|
-
}
|
195
|
-
],
|
196
|
-
"qstring" : [
|
197
|
-
{
|
198
|
-
token : "string",
|
199
|
-
regex : "(?:(?:\\\\.)|(?:[^'\\\\]))*?'",
|
200
|
-
next : "start"
|
201
|
-
}, {
|
202
|
-
defaultToken : "string"
|
203
|
-
}
|
204
|
-
],
|
205
196
|
"directive" : [
|
206
197
|
{
|
207
198
|
token : "constant.other.multiline",
|
@@ -236,6 +227,7 @@ var c_cppHighlightRules = function() {
|
|
236
227
|
|
237
228
|
this.embedRules(DocCommentHighlightRules, "doc-",
|
238
229
|
[ DocCommentHighlightRules.getEndRule("start") ]);
|
230
|
+
this.normalizeRules();
|
239
231
|
};
|
240
232
|
|
241
233
|
oop.inherits(c_cppHighlightRules, TextHighlightRules);
|
@@ -59,7 +59,7 @@ var PascalHighlightRules = function() {
|
|
59
59
|
{ token: 'punctuation.definition.string.end.pascal',
|
60
60
|
regex: '"',
|
61
61
|
next: 'pop' },
|
62
|
-
{ defaultToken: 'string.quoted.double.pascal' } ]
|
62
|
+
{ defaultToken: 'string.quoted.double.pascal' } ]
|
63
63
|
},
|
64
64
|
{ token: 'punctuation.definition.string.begin.pascal',
|
65
65
|
regex: '\'',
|
@@ -444,25 +444,17 @@ var JavaScriptHighlightRules = function(options) {
|
|
444
444
|
|
445
445
|
var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
|
446
446
|
"u[0-9a-fA-F]{4}|" + // unicode
|
447
|
+
"u{[0-9a-fA-F]{1,6}}|" + // es6 unicode
|
447
448
|
"[0-2][0-7]{0,2}|" + // oct
|
448
|
-
"3[0-
|
449
|
-
"37[0-7]?|" + // oct
|
449
|
+
"3[0-7][0-7]?|" + // oct
|
450
450
|
"[4-7][0-7]?|" + //oct
|
451
451
|
".)";
|
452
452
|
|
453
453
|
this.$rules = {
|
454
454
|
"no_regex" : [
|
455
|
-
{
|
456
|
-
token : "comment",
|
457
|
-
regex : "\\/\\/",
|
458
|
-
next : "line_comment"
|
459
|
-
},
|
460
455
|
DocCommentHighlightRules.getStartRule("doc-start"),
|
456
|
+
comments("no_regex"),
|
461
457
|
{
|
462
|
-
token : "comment", // multi line comment
|
463
|
-
regex : /\/\*/,
|
464
|
-
next : "comment"
|
465
|
-
}, {
|
466
458
|
token : "string",
|
467
459
|
regex : "'(?=.)",
|
468
460
|
next : "qstring"
|
@@ -472,10 +464,10 @@ var JavaScriptHighlightRules = function(options) {
|
|
472
464
|
next : "qqstring"
|
473
465
|
}, {
|
474
466
|
token : "constant.numeric", // hex
|
475
|
-
regex : /0[xX][0-9a-fA-F]
|
467
|
+
regex : /0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/
|
476
468
|
}, {
|
477
469
|
token : "constant.numeric", // float
|
478
|
-
regex : /[+-]?\d
|
470
|
+
regex : /[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/
|
479
471
|
}, {
|
480
472
|
token : [
|
481
473
|
"storage.type", "punctuation.operator", "support.function",
|
@@ -543,7 +535,7 @@ var JavaScriptHighlightRules = function(options) {
|
|
543
535
|
next : "property"
|
544
536
|
}, {
|
545
537
|
token : "keyword.operator",
|
546
|
-
regex : /--|\+\+|\.{3}
|
538
|
+
regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,
|
547
539
|
next : "start"
|
548
540
|
}, {
|
549
541
|
token : "punctuation.operator",
|
@@ -595,15 +587,8 @@ var JavaScriptHighlightRules = function(options) {
|
|
595
587
|
],
|
596
588
|
"start": [
|
597
589
|
DocCommentHighlightRules.getStartRule("doc-start"),
|
590
|
+
comments("start"),
|
598
591
|
{
|
599
|
-
token : "comment", // multi line comment
|
600
|
-
regex : "\\/\\*",
|
601
|
-
next : "comment_regex_allowed"
|
602
|
-
}, {
|
603
|
-
token : "comment",
|
604
|
-
regex : "\\/\\/",
|
605
|
-
next : "line_comment_regex_allowed"
|
606
|
-
}, {
|
607
592
|
token: "string.regexp",
|
608
593
|
regex: "\\/",
|
609
594
|
next: "regex"
|
@@ -681,26 +666,6 @@ var JavaScriptHighlightRules = function(options) {
|
|
681
666
|
next: "no_regex"
|
682
667
|
}
|
683
668
|
],
|
684
|
-
"comment_regex_allowed" : [
|
685
|
-
DocCommentHighlightRules.getTagRule(),
|
686
|
-
{token : "comment", regex : "\\*\\/", next : "start"},
|
687
|
-
{defaultToken : "comment", caseInsensitive: true}
|
688
|
-
],
|
689
|
-
"comment" : [
|
690
|
-
DocCommentHighlightRules.getTagRule(),
|
691
|
-
{token : "comment", regex : "\\*\\/", next : "no_regex"},
|
692
|
-
{defaultToken : "comment", caseInsensitive: true}
|
693
|
-
],
|
694
|
-
"line_comment_regex_allowed" : [
|
695
|
-
DocCommentHighlightRules.getTagRule(),
|
696
|
-
{token : "comment", regex : "$|^", next : "start"},
|
697
|
-
{defaultToken : "comment", caseInsensitive: true}
|
698
|
-
],
|
699
|
-
"line_comment" : [
|
700
|
-
DocCommentHighlightRules.getTagRule(),
|
701
|
-
{token : "comment", regex : "$|^", next : "no_regex"},
|
702
|
-
{defaultToken : "comment", caseInsensitive: true}
|
703
|
-
],
|
704
669
|
"qqstring" : [
|
705
670
|
{
|
706
671
|
token : "constant.language.escape",
|
@@ -742,9 +707,8 @@ var JavaScriptHighlightRules = function(options) {
|
|
742
707
|
this.next = val == "{" ? this.nextState : "";
|
743
708
|
if (val == "{" && stack.length) {
|
744
709
|
stack.unshift("start", state);
|
745
|
-
return "paren";
|
746
710
|
}
|
747
|
-
if (val == "}" && stack.length) {
|
711
|
+
else if (val == "}" && stack.length) {
|
748
712
|
stack.shift();
|
749
713
|
this.next = stack.shift();
|
750
714
|
if (this.next.indexOf("string") != -1 || this.next.indexOf("jsx") != -1)
|
@@ -847,6 +811,7 @@ function JSX() {
|
|
847
811
|
nextState: "jsx"
|
848
812
|
},
|
849
813
|
jsxJsRule,
|
814
|
+
comments("jsxAttributes"),
|
850
815
|
{
|
851
816
|
token : "entity.other.attribute-name.xml",
|
852
817
|
regex : tagRegex
|
@@ -862,7 +827,6 @@ function JSX() {
|
|
862
827
|
stateName : "jsx_attr_q",
|
863
828
|
push : [
|
864
829
|
{token : "string.attribute-value.xml", regex: "'", next: "pop"},
|
865
|
-
jsxJsRule,
|
866
830
|
{include : "reference"},
|
867
831
|
{defaultToken : "string.attribute-value.xml"}
|
868
832
|
]
|
@@ -871,18 +835,40 @@ function JSX() {
|
|
871
835
|
regex : '"',
|
872
836
|
stateName : "jsx_attr_qq",
|
873
837
|
push : [
|
874
|
-
jsxJsRule,
|
875
838
|
{token : "string.attribute-value.xml", regex: '"', next: "pop"},
|
876
839
|
{include : "reference"},
|
877
840
|
{defaultToken : "string.attribute-value.xml"}
|
878
841
|
]
|
879
|
-
}
|
842
|
+
},
|
843
|
+
jsxTag
|
844
|
+
];
|
880
845
|
this.$rules.reference = [{
|
881
846
|
token : "constant.language.escape.reference.xml",
|
882
847
|
regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
|
883
848
|
}];
|
884
849
|
}
|
885
850
|
|
851
|
+
function comments(next) {
|
852
|
+
return [
|
853
|
+
{
|
854
|
+
token : "comment", // multi line comment
|
855
|
+
regex : /\/\*/,
|
856
|
+
next: [
|
857
|
+
DocCommentHighlightRules.getTagRule(),
|
858
|
+
{token : "comment", regex : "\\*\\/", next : next || "pop"},
|
859
|
+
{defaultToken : "comment", caseInsensitive: true}
|
860
|
+
]
|
861
|
+
}, {
|
862
|
+
token : "comment",
|
863
|
+
regex : "\\/\\/",
|
864
|
+
next: [
|
865
|
+
DocCommentHighlightRules.getTagRule(),
|
866
|
+
{token : "comment", regex : "$|^", next : next || "pop"},
|
867
|
+
{defaultToken : "comment", caseInsensitive: true}
|
868
|
+
]
|
869
|
+
}
|
870
|
+
];
|
871
|
+
}
|
886
872
|
exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
|
887
873
|
});
|
888
874
|
|