ace-rails-ap 4.3 → 4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/ace-rails-ap.gemspec +0 -2
  4. data/lib/ace/rails/version.rb +1 -1
  5. data/vendor/assets/javascripts/ace/ace.js +659 -1137
  6. data/vendor/assets/javascripts/ace/ext-beautify.js +5 -2
  7. data/vendor/assets/javascripts/ace/ext-code_lens.js +238 -0
  8. data/vendor/assets/javascripts/ace/ext-emmet.js +36 -28
  9. data/vendor/assets/javascripts/ace/ext-language_tools.js +63 -48
  10. data/vendor/assets/javascripts/ace/ext-modelist.js +12 -6
  11. data/vendor/assets/javascripts/ace/ext-options.js +46 -19
  12. data/vendor/assets/javascripts/ace/ext-prompt.js +57 -38
  13. data/vendor/assets/javascripts/ace/ext-settings_menu.js +46 -19
  14. data/vendor/assets/javascripts/ace/ext-spellcheck.js +0 -1
  15. data/vendor/assets/javascripts/ace/ext-themelist.js +2 -1
  16. data/vendor/assets/javascripts/ace/keybinding-emacs.js +21 -22
  17. data/vendor/assets/javascripts/ace/keybinding-sublime.js +2 -5
  18. data/vendor/assets/javascripts/ace/keybinding-vim.js +45 -9
  19. data/vendor/assets/javascripts/ace/keybinding-vscode.js +262 -0
  20. data/vendor/assets/javascripts/ace/mode-abc.js +3 -0
  21. data/vendor/assets/javascripts/ace/mode-actionscript.js +1 -0
  22. data/vendor/assets/javascripts/ace/mode-alda.js +311 -0
  23. data/vendor/assets/javascripts/ace/mode-asl.js +17 -16
  24. data/vendor/assets/javascripts/ace/mode-c_cpp.js +1 -0
  25. data/vendor/assets/javascripts/ace/mode-clojure.js +1 -0
  26. data/vendor/assets/javascripts/ace/mode-coffee.js +1 -0
  27. data/vendor/assets/javascripts/ace/mode-coldfusion.js +3 -0
  28. data/vendor/assets/javascripts/ace/mode-csound_document.js +40 -5
  29. data/vendor/assets/javascripts/ace/mode-csound_orchestra.js +37 -5
  30. data/vendor/assets/javascripts/ace/mode-csound_score.js +1 -0
  31. data/vendor/assets/javascripts/ace/mode-css.js +1 -0
  32. data/vendor/assets/javascripts/ace/mode-curly.js +3 -0
  33. data/vendor/assets/javascripts/ace/mode-d.js +1 -1
  34. data/vendor/assets/javascripts/ace/mode-dart.js +2 -0
  35. data/vendor/assets/javascripts/ace/mode-diff.js +1 -0
  36. data/vendor/assets/javascripts/ace/mode-django.js +4 -0
  37. data/vendor/assets/javascripts/ace/mode-dockerfile.js +1 -0
  38. data/vendor/assets/javascripts/ace/mode-drools.js +1 -0
  39. data/vendor/assets/javascripts/ace/mode-edifact.js +1 -0
  40. data/vendor/assets/javascripts/ace/mode-ejs.js +673 -165
  41. data/vendor/assets/javascripts/ace/mode-erlang.js +1 -0
  42. data/vendor/assets/javascripts/ace/mode-fsl.js +1 -0
  43. data/vendor/assets/javascripts/ace/mode-glsl.js +1 -0
  44. data/vendor/assets/javascripts/ace/mode-gobstones.js +2 -0
  45. data/vendor/assets/javascripts/ace/mode-graphqlschema.js +1 -0
  46. data/vendor/assets/javascripts/ace/mode-groovy.js +1 -0
  47. data/vendor/assets/javascripts/ace/mode-haml.js +419 -104
  48. data/vendor/assets/javascripts/ace/mode-handlebars.js +3 -0
  49. data/vendor/assets/javascripts/ace/mode-haskell.js +1 -0
  50. data/vendor/assets/javascripts/ace/mode-html.js +3 -0
  51. data/vendor/assets/javascripts/ace/mode-html_elixir.js +3 -0
  52. data/vendor/assets/javascripts/ace/mode-html_ruby.js +673 -165
  53. data/vendor/assets/javascripts/ace/mode-io.js +1 -0
  54. data/vendor/assets/javascripts/ace/mode-java.js +2 -0
  55. data/vendor/assets/javascripts/ace/mode-javascript.js +1 -0
  56. data/vendor/assets/javascripts/ace/mode-json.js +3 -0
  57. data/vendor/assets/javascripts/ace/mode-json5.js +360 -0
  58. data/vendor/assets/javascripts/ace/mode-jsoniq.js +1 -0
  59. data/vendor/assets/javascripts/ace/mode-jsp.js +1 -0
  60. data/vendor/assets/javascripts/ace/mode-kotlin.js +2 -0
  61. data/vendor/assets/javascripts/ace/mode-liquid.js +4 -0
  62. data/vendor/assets/javascripts/ace/mode-lsl.js +1 -0
  63. data/vendor/assets/javascripts/ace/mode-lua.js +1 -0
  64. data/vendor/assets/javascripts/ace/mode-luapage.js +4 -0
  65. data/vendor/assets/javascripts/ace/mode-makefile.js +1 -0
  66. data/vendor/assets/javascripts/ace/mode-markdown.js +5 -0
  67. data/vendor/assets/javascripts/ace/mode-maze.js +1 -0
  68. data/vendor/assets/javascripts/ace/mode-mediawiki.js +592 -0
  69. data/vendor/assets/javascripts/ace/mode-nix.js +1 -0
  70. data/vendor/assets/javascripts/ace/mode-nsis.js +1 -1
  71. data/vendor/assets/javascripts/ace/mode-nunjucks.js +2698 -0
  72. data/vendor/assets/javascripts/ace/mode-perl.js +1 -0
  73. data/vendor/assets/javascripts/ace/mode-pgsql.js +2 -2
  74. data/vendor/assets/javascripts/ace/mode-php.js +4 -0
  75. data/vendor/assets/javascripts/ace/mode-php_laravel_blade.js +4 -0
  76. data/vendor/assets/javascripts/ace/mode-prisma.js +489 -0
  77. data/vendor/assets/javascripts/ace/mode-protobuf.js +1 -0
  78. data/vendor/assets/javascripts/ace/mode-puppet.js +5 -6
  79. data/vendor/assets/javascripts/ace/mode-python.js +3 -2
  80. data/vendor/assets/javascripts/ace/mode-qml.js +381 -0
  81. data/vendor/assets/javascripts/ace/mode-r.js +1 -0
  82. data/vendor/assets/javascripts/ace/mode-razor.js +4 -0
  83. data/vendor/assets/javascripts/ace/mode-rhtml.js +3 -0
  84. data/vendor/assets/javascripts/ace/mode-rst.js +1 -0
  85. data/vendor/assets/javascripts/ace/mode-ruby.js +670 -165
  86. data/vendor/assets/javascripts/ace/mode-rust.js +1 -1
  87. data/vendor/assets/javascripts/ace/mode-scala.js +1 -0
  88. data/vendor/assets/javascripts/ace/mode-sh.js +1 -0
  89. data/vendor/assets/javascripts/ace/mode-sjs.js +1 -0
  90. data/vendor/assets/javascripts/ace/mode-slim.js +708 -110
  91. data/vendor/assets/javascripts/ace/mode-smarty.js +3 -0
  92. data/vendor/assets/javascripts/ace/mode-snippets.js +1 -0
  93. data/vendor/assets/javascripts/ace/mode-soy_template.js +3 -0
  94. data/vendor/assets/javascripts/ace/mode-sql.js +1 -0
  95. data/vendor/assets/javascripts/ace/mode-sqlserver.js +2 -1
  96. data/vendor/assets/javascripts/ace/mode-svg.js +1 -0
  97. data/vendor/assets/javascripts/ace/mode-swift.js +6 -0
  98. data/vendor/assets/javascripts/ace/mode-tcl.js +1 -0
  99. data/vendor/assets/javascripts/ace/mode-terraform.js +10 -7
  100. data/vendor/assets/javascripts/ace/mode-tex.js +1 -0
  101. data/vendor/assets/javascripts/ace/mode-textile.js +1 -0
  102. data/vendor/assets/javascripts/ace/mode-tsx.js +1 -0
  103. data/vendor/assets/javascripts/ace/mode-twig.js +3 -0
  104. data/vendor/assets/javascripts/ace/mode-typescript.js +1 -0
  105. data/vendor/assets/javascripts/ace/mode-vala.js +1 -0
  106. data/vendor/assets/javascripts/ace/mode-vbscript.js +444 -15
  107. data/vendor/assets/javascripts/ace/mode-velocity.js +4 -0
  108. data/vendor/assets/javascripts/ace/mode-vhdl.js +5 -6
  109. data/vendor/assets/javascripts/ace/mode-visualforce.js +3 -0
  110. data/vendor/assets/javascripts/ace/mode-wollok.js +2 -0
  111. data/vendor/assets/javascripts/ace/mode-xquery.js +1 -0
  112. data/vendor/assets/javascripts/ace/snippets/abap.js +1 -6
  113. data/vendor/assets/javascripts/ace/snippets/ada.js +1 -6
  114. data/vendor/assets/javascripts/ace/snippets/alda.js +9 -0
  115. data/vendor/assets/javascripts/ace/snippets/apache_conf.js +1 -6
  116. data/vendor/assets/javascripts/ace/snippets/apex.js +1 -6
  117. data/vendor/assets/javascripts/ace/snippets/applescript.js +1 -6
  118. data/vendor/assets/javascripts/ace/snippets/aql.js +1 -6
  119. data/vendor/assets/javascripts/ace/snippets/asciidoc.js +1 -6
  120. data/vendor/assets/javascripts/ace/snippets/asl.js +1 -5
  121. data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +1 -6
  122. data/vendor/assets/javascripts/ace/snippets/autohotkey.js +1 -6
  123. data/vendor/assets/javascripts/ace/snippets/batchfile.js +1 -6
  124. data/vendor/assets/javascripts/ace/snippets/c9search.js +1 -6
  125. data/vendor/assets/javascripts/ace/snippets/cirru.js +1 -6
  126. data/vendor/assets/javascripts/ace/snippets/cobol.js +1 -6
  127. data/vendor/assets/javascripts/ace/snippets/coldfusion.js +1 -6
  128. data/vendor/assets/javascripts/ace/snippets/crystal.js +1 -6
  129. data/vendor/assets/javascripts/ace/snippets/csharp.js +1 -6
  130. data/vendor/assets/javascripts/ace/snippets/csound_score.js +1 -6
  131. data/vendor/assets/javascripts/ace/snippets/csp.js +1 -6
  132. data/vendor/assets/javascripts/ace/snippets/curly.js +1 -6
  133. data/vendor/assets/javascripts/ace/snippets/d.js +1 -6
  134. data/vendor/assets/javascripts/ace/snippets/dockerfile.js +1 -6
  135. data/vendor/assets/javascripts/ace/snippets/dot.js +1 -6
  136. data/vendor/assets/javascripts/ace/snippets/eiffel.js +1 -6
  137. data/vendor/assets/javascripts/ace/snippets/ejs.js +1 -6
  138. data/vendor/assets/javascripts/ace/snippets/elixir.js +1 -6
  139. data/vendor/assets/javascripts/ace/snippets/elm.js +1 -6
  140. data/vendor/assets/javascripts/ace/snippets/forth.js +1 -6
  141. data/vendor/assets/javascripts/ace/snippets/fortran.js +1 -6
  142. data/vendor/assets/javascripts/ace/snippets/fsharp.js +1 -6
  143. data/vendor/assets/javascripts/ace/snippets/ftl.js +1 -6
  144. data/vendor/assets/javascripts/ace/snippets/gcode.js +1 -6
  145. data/vendor/assets/javascripts/ace/snippets/gherkin.js +1 -6
  146. data/vendor/assets/javascripts/ace/snippets/gitignore.js +1 -6
  147. data/vendor/assets/javascripts/ace/snippets/glsl.js +1 -6
  148. data/vendor/assets/javascripts/ace/snippets/golang.js +1 -6
  149. data/vendor/assets/javascripts/ace/snippets/groovy.js +1 -6
  150. data/vendor/assets/javascripts/ace/snippets/handlebars.js +1 -6
  151. data/vendor/assets/javascripts/ace/snippets/haskell_cabal.js +1 -6
  152. data/vendor/assets/javascripts/ace/snippets/haxe.js +1 -6
  153. data/vendor/assets/javascripts/ace/snippets/hjson.js +1 -6
  154. data/vendor/assets/javascripts/ace/snippets/html_elixir.js +1 -6
  155. data/vendor/assets/javascripts/ace/snippets/html_ruby.js +1 -6
  156. data/vendor/assets/javascripts/ace/snippets/ini.js +1 -6
  157. data/vendor/assets/javascripts/ace/snippets/jack.js +1 -6
  158. data/vendor/assets/javascripts/ace/snippets/jade.js +1 -6
  159. data/vendor/assets/javascripts/ace/snippets/json.js +1 -6
  160. data/vendor/assets/javascripts/ace/snippets/json5.js +9 -0
  161. data/vendor/assets/javascripts/ace/snippets/jssm.js +1 -6
  162. data/vendor/assets/javascripts/ace/snippets/jsx.js +1 -6
  163. data/vendor/assets/javascripts/ace/snippets/julia.js +1 -6
  164. data/vendor/assets/javascripts/ace/snippets/kotlin.js +1 -6
  165. data/vendor/assets/javascripts/ace/snippets/latex.js +1 -6
  166. data/vendor/assets/javascripts/ace/snippets/less.js +1 -6
  167. data/vendor/assets/javascripts/ace/snippets/lisp.js +1 -6
  168. data/vendor/assets/javascripts/ace/snippets/livescript.js +1 -6
  169. data/vendor/assets/javascripts/ace/snippets/logiql.js +1 -6
  170. data/vendor/assets/javascripts/ace/snippets/logtalk.js +1 -6
  171. data/vendor/assets/javascripts/ace/snippets/luapage.js +1 -6
  172. data/vendor/assets/javascripts/ace/snippets/lucene.js +1 -6
  173. data/vendor/assets/javascripts/ace/snippets/mask.js +1 -6
  174. data/vendor/assets/javascripts/ace/snippets/matlab.js +1 -6
  175. data/vendor/assets/javascripts/ace/snippets/mediawiki.js +9 -0
  176. data/vendor/assets/javascripts/ace/snippets/mel.js +1 -6
  177. data/vendor/assets/javascripts/ace/snippets/mixal.js +1 -6
  178. data/vendor/assets/javascripts/ace/snippets/mushcode.js +1 -6
  179. data/vendor/assets/javascripts/ace/snippets/mysql.js +1 -6
  180. data/vendor/assets/javascripts/ace/snippets/nginx.js +1 -6
  181. data/vendor/assets/javascripts/ace/snippets/nim.js +1 -6
  182. data/vendor/assets/javascripts/ace/snippets/nix.js +1 -6
  183. data/vendor/assets/javascripts/ace/snippets/nsis.js +1 -6
  184. data/vendor/assets/javascripts/ace/snippets/nunjucks.js +9 -0
  185. data/vendor/assets/javascripts/ace/snippets/objectivec.js +1 -6
  186. data/vendor/assets/javascripts/ace/snippets/ocaml.js +1 -6
  187. data/vendor/assets/javascripts/ace/snippets/pascal.js +1 -6
  188. data/vendor/assets/javascripts/ace/snippets/perl6.js +1 -6
  189. data/vendor/assets/javascripts/ace/snippets/pgsql.js +1 -6
  190. data/vendor/assets/javascripts/ace/snippets/php_laravel_blade.js +1 -6
  191. data/vendor/assets/javascripts/ace/snippets/pig.js +1 -6
  192. data/vendor/assets/javascripts/ace/snippets/plain_text.js +1 -6
  193. data/vendor/assets/javascripts/ace/snippets/powershell.js +1 -6
  194. data/vendor/assets/javascripts/ace/snippets/praat.js +1 -6
  195. data/vendor/assets/javascripts/ace/snippets/prisma.js +9 -0
  196. data/vendor/assets/javascripts/ace/snippets/prolog.js +1 -6
  197. data/vendor/assets/javascripts/ace/snippets/properties.js +1 -6
  198. data/vendor/assets/javascripts/ace/snippets/protobuf.js +1 -6
  199. data/vendor/assets/javascripts/ace/snippets/puppet.js +1 -6
  200. data/vendor/assets/javascripts/ace/snippets/qml.js +9 -0
  201. data/vendor/assets/javascripts/ace/snippets/rdoc.js +1 -6
  202. data/vendor/assets/javascripts/ace/snippets/red.js +1 -6
  203. data/vendor/assets/javascripts/ace/snippets/redshift.js +1 -6
  204. data/vendor/assets/javascripts/ace/snippets/rhtml.js +1 -6
  205. data/vendor/assets/javascripts/ace/snippets/rust.js +1 -6
  206. data/vendor/assets/javascripts/ace/snippets/sass.js +1 -6
  207. data/vendor/assets/javascripts/ace/snippets/scad.js +1 -6
  208. data/vendor/assets/javascripts/ace/snippets/scala.js +1 -6
  209. data/vendor/assets/javascripts/ace/snippets/scheme.js +1 -6
  210. data/vendor/assets/javascripts/ace/snippets/scss.js +1 -6
  211. data/vendor/assets/javascripts/ace/snippets/sjs.js +1 -6
  212. data/vendor/assets/javascripts/ace/snippets/slim.js +1 -6
  213. data/vendor/assets/javascripts/ace/snippets/smarty.js +1 -6
  214. data/vendor/assets/javascripts/ace/snippets/soy_template.js +1 -6
  215. data/vendor/assets/javascripts/ace/snippets/space.js +1 -6
  216. data/vendor/assets/javascripts/ace/snippets/sparql.js +1 -6
  217. data/vendor/assets/javascripts/ace/snippets/stylus.js +1 -6
  218. data/vendor/assets/javascripts/ace/snippets/svg.js +1 -6
  219. data/vendor/assets/javascripts/ace/snippets/swift.js +1 -6
  220. data/vendor/assets/javascripts/ace/snippets/terraform.js +1 -6
  221. data/vendor/assets/javascripts/ace/snippets/text.js +1 -6
  222. data/vendor/assets/javascripts/ace/snippets/toml.js +1 -6
  223. data/vendor/assets/javascripts/ace/snippets/tsx.js +1 -6
  224. data/vendor/assets/javascripts/ace/snippets/turtle.js +1 -6
  225. data/vendor/assets/javascripts/ace/snippets/twig.js +1 -6
  226. data/vendor/assets/javascripts/ace/snippets/typescript.js +1 -6
  227. data/vendor/assets/javascripts/ace/snippets/vbscript.js +1 -6
  228. data/vendor/assets/javascripts/ace/snippets/verilog.js +1 -6
  229. data/vendor/assets/javascripts/ace/snippets/vhdl.js +1 -6
  230. data/vendor/assets/javascripts/ace/snippets/visualforce.js +1 -6
  231. data/vendor/assets/javascripts/ace/snippets/xml.js +1 -6
  232. data/vendor/assets/javascripts/ace/snippets/yaml.js +1 -6
  233. data/vendor/assets/javascripts/ace/snippets/zeek.js +1 -6
  234. data/vendor/assets/javascripts/ace/theme-ambiance.js +3 -2
  235. data/vendor/assets/javascripts/ace/theme-chaos.js +1 -1
  236. data/vendor/assets/javascripts/ace/theme-nord_dark.js +102 -0
  237. data/vendor/assets/javascripts/ace/worker-base.js +1421 -0
  238. data/vendor/assets/javascripts/ace/worker-coffee.js +17 -703
  239. data/vendor/assets/javascripts/ace/worker-css.js +17 -703
  240. data/vendor/assets/javascripts/ace/worker-html.js +17 -703
  241. data/vendor/assets/javascripts/ace/worker-javascript.js +7833 -5352
  242. data/vendor/assets/javascripts/ace/worker-json.js +17 -703
  243. data/vendor/assets/javascripts/ace/worker-lua.js +17 -703
  244. data/vendor/assets/javascripts/ace/worker-php.js +857 -1475
  245. data/vendor/assets/javascripts/ace/worker-xml.js +26 -707
  246. data/vendor/assets/javascripts/ace/worker-xquery.js +17 -703
  247. metadata +18 -4
  248. data/vendor/assets/javascripts/ace/mode-bro.js +0 -334
  249. data/vendor/assets/javascripts/ace/snippets/bro.js +0 -14
@@ -160,22 +160,23 @@ var supportedModes = {
160
160
  ABC: ["abc"],
161
161
  ActionScript:["as"],
162
162
  ADA: ["ada|adb"],
163
+ Alda: ["alda"],
163
164
  Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],
165
+ Apex: ["apex|cls|trigger|tgr"],
166
+ AQL: ["aql"],
164
167
  AsciiDoc: ["asciidoc|adoc"],
165
168
  ASL: ["dsl|asl"],
166
169
  Assembly_x86:["asm|a"],
167
170
  AutoHotKey: ["ahk"],
168
- Apex: ["apex|cls|trigger|tgr"],
169
- AQL: ["aql"],
170
171
  BatchFile: ["bat|cmd"],
171
172
  C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"],
172
173
  C9Search: ["c9search_results"],
173
- Crystal: ["cr"],
174
174
  Cirru: ["cirru|cr"],
175
175
  Clojure: ["clj|cljs"],
176
176
  Cobol: ["CBL|COB"],
177
177
  coffee: ["coffee|cf|cson|^Cakefile"],
178
178
  ColdFusion: ["cfm"],
179
+ Crystal: ["cr"],
179
180
  CSharp: ["cs"],
180
181
  Csound_Document: ["csd"],
181
182
  Csound_Orchestra: ["orc"],
@@ -223,6 +224,7 @@ var supportedModes = {
223
224
  Java: ["java"],
224
225
  JavaScript: ["js|jsm|jsx"],
225
226
  JSON: ["json"],
227
+ JSON5: ["json5"],
226
228
  JSONiq: ["jq"],
227
229
  JSP: ["jsp"],
228
230
  JSSM: ["jssm|jssm_state"],
@@ -244,30 +246,34 @@ var supportedModes = {
244
246
  Mask: ["mask"],
245
247
  MATLAB: ["matlab"],
246
248
  Maze: ["mz"],
249
+ MediaWiki: ["wiki|mediawiki"],
247
250
  MEL: ["mel"],
248
251
  MIXAL: ["mixal"],
249
252
  MUSHCode: ["mc|mush"],
250
253
  MySQL: ["mysql"],
251
254
  Nginx: ["nginx|conf"],
252
- Nix: ["nix"],
253
255
  Nim: ["nim"],
256
+ Nix: ["nix"],
254
257
  NSIS: ["nsi|nsh"],
258
+ Nunjucks: ["nunjucks|nunjs|nj|njk"],
255
259
  ObjectiveC: ["m|mm"],
256
260
  OCaml: ["ml|mli"],
257
261
  Pascal: ["pas|p"],
258
262
  Perl: ["pl|pm"],
259
263
  Perl6: ["p6|pl6|pm6"],
260
264
  pgSQL: ["pgsql"],
261
- PHP_Laravel_blade: ["blade.php"],
262
265
  PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],
263
- Puppet: ["epp|pp"],
266
+ PHP_Laravel_blade: ["blade.php"],
264
267
  Pig: ["pig"],
265
268
  Powershell: ["ps1"],
266
269
  Praat: ["praat|praatscript|psc|proc"],
270
+ Prisma: ["prisma"],
267
271
  Prolog: ["plg|prolog"],
268
272
  Properties: ["properties"],
269
273
  Protobuf: ["proto"],
274
+ Puppet: ["epp|pp"],
270
275
  Python: ["py"],
276
+ QML: ["qml"],
271
277
  R: ["r"],
272
278
  Razor: ["cshtml|asp"],
273
279
  RDoc: ["Rd"],
@@ -365,7 +371,7 @@ var themeData = [
365
371
  ["Solarized Light"],
366
372
  ["TextMate" ],
367
373
  ["Tomorrow" ],
368
- ["XCode" ],
374
+ ["Xcode" ],
369
375
  ["Kuroir"],
370
376
  ["KatzenMilch"],
371
377
  ["SQL Server" ,"sqlserver" , "light"],
@@ -382,6 +388,7 @@ var themeData = [
382
388
  ["Merbivore Soft" ,"merbivore_soft" , "dark"],
383
389
  ["Mono Industrial" ,"mono_industrial" , "dark"],
384
390
  ["Monokai" ,"monokai" , "dark"],
391
+ ["Nord Dark" ,"nord_dark" , "dark"],
385
392
  ["Pastel on dark" ,"pastel_on_dark" , "dark"],
386
393
  ["Solarized Dark" ,"solarized_dark" , "dark"],
387
394
  ["Terminal" ,"terminal" , "dark"],
@@ -411,9 +418,9 @@ exports.themes = themeData.map(function(data) {
411
418
 
412
419
  define("ace/ext/options",["require","exports","module","ace/ext/menu_tools/overlay_page","ace/lib/dom","ace/lib/oop","ace/config","ace/lib/event_emitter","ace/ext/modelist","ace/ext/themelist"], function(require, exports, module) {
413
420
  "use strict";
414
- var overlayPage = require('./menu_tools/overlay_page').overlayPage;
415
421
 
416
-
422
+ require("./menu_tools/overlay_page");
423
+
417
424
  var dom = require("../lib/dom");
418
425
  var oop = require("../lib/oop");
419
426
  var config = require("../config");
@@ -452,7 +459,8 @@ var optionGroups = {
452
459
  { caption : "Ace", value : null },
453
460
  { caption : "Vim", value : "ace/keyboard/vim" },
454
461
  { caption : "Emacs", value : "ace/keyboard/emacs" },
455
- { caption : "Sublime", value : "ace/keyboard/sublime" }
462
+ { caption : "Sublime", value : "ace/keyboard/sublime" },
463
+ { caption : "VSCode", value : "ace/keyboard/vscode" }
456
464
  ]
457
465
  },
458
466
  "Font Size": {
@@ -495,6 +503,7 @@ var optionGroups = {
495
503
  "Soft Tabs": [{
496
504
  path: "useSoftTabs"
497
505
  }, {
506
+ ariaLabel: "Tab Size",
498
507
  path: "tabSize",
499
508
  type: "number",
500
509
  values: [2, 3, 4, 8, 16]
@@ -516,6 +525,12 @@ var optionGroups = {
516
525
  "Enable Behaviours": {
517
526
  path: "behavioursEnabled"
518
527
  },
528
+ "Wrap with quotes": {
529
+ path: "wrapBehavioursEnabled"
530
+ },
531
+ "Enable Auto Indent": {
532
+ path: "enableAutoIndent"
533
+ },
519
534
  "Full Line Selection": {
520
535
  type: "checkbox",
521
536
  values: "text|line",
@@ -530,11 +545,12 @@ var optionGroups = {
530
545
  "Show Indent Guides": {
531
546
  path: "displayIndentGuides"
532
547
  },
533
- "Persistent Scrollbar": [{
548
+ "Persistent HScrollbar": {
534
549
  path: "hScrollBarAlwaysVisible"
535
- }, {
550
+ },
551
+ "Persistent VScrollbar": {
536
552
  path: "vScrollBarAlwaysVisible"
537
- }],
553
+ },
538
554
  "Animate scrolling": {
539
555
  path: "animatedScroll"
540
556
  },
@@ -553,6 +569,7 @@ var optionGroups = {
553
569
  "Show Print Margin": [{
554
570
  path: "showPrintMargin"
555
571
  }, {
572
+ ariaLabel: "Print Margin",
556
573
  type: "number",
557
574
  path: "printMarginColumn"
558
575
  }],
@@ -615,10 +632,10 @@ var OptionPanel = function(editor, element) {
615
632
 
616
633
  this.render = function() {
617
634
  this.container.innerHTML = "";
618
- buildDom(["table", {id: "controls"},
635
+ buildDom(["table", {role: "presentation", id: "controls"},
619
636
  this.renderOptionGroup(optionGroups.Main),
620
637
  ["tr", null, ["td", {colspan: 2},
621
- ["table", {id: "more-controls"},
638
+ ["table", {role: "presentation", id: "more-controls"},
622
639
  this.renderOptionGroup(optionGroups.More)
623
640
  ]
624
641
  ]],
@@ -661,17 +678,20 @@ var OptionPanel = function(editor, element) {
661
678
  }
662
679
 
663
680
  if (option.type == "buttonBar") {
664
- control = ["div", option.items.map(function(item) {
681
+ control = ["div", {role: "group", "aria-labelledby": option.path + "-label"}, option.items.map(function(item) {
665
682
  return ["button", {
666
683
  value: item.value,
667
684
  ace_selected_button: value == item.value,
685
+ 'aria-pressed': value == item.value,
668
686
  onclick: function() {
669
687
  self.setOption(option, item.value);
670
688
  var nodes = this.parentNode.querySelectorAll("[ace_selected_button]");
671
689
  for (var i = 0; i < nodes.length; i++) {
672
690
  nodes[i].removeAttribute("ace_selected_button");
691
+ nodes[i].setAttribute("aria-pressed", false);
673
692
  }
674
693
  this.setAttribute("ace_selected_button", true);
694
+ this.setAttribute("aria-pressed", true);
675
695
  }
676
696
  }, item.desc || item.caption || item.name];
677
697
  })];
@@ -679,6 +699,11 @@ var OptionPanel = function(editor, element) {
679
699
  control = ["input", {type: "number", value: value || option.defaultValue, style:"width:3em", oninput: function() {
680
700
  self.setOption(option, parseInt(this.value));
681
701
  }}];
702
+ if (option.ariaLabel) {
703
+ control[1]["aria-label"] = option.ariaLabel;
704
+ } else {
705
+ control[1].id = key;
706
+ }
682
707
  if (option.defaults) {
683
708
  control = [control, option.defaults.map(function(item) {
684
709
  return ["button", {onclick: function() {
@@ -722,11 +747,13 @@ var OptionPanel = function(editor, element) {
722
747
  this.renderOption = function(key, option) {
723
748
  if (option.path && !option.onchange && !this.editor.$options[option.path])
724
749
  return;
725
- this.options[option.path] = option;
726
- var safeKey = "-" + option.path;
750
+ var path = Array.isArray(option) ? option[0].path : option.path;
751
+ this.options[path] = option;
752
+ var safeKey = "-" + path;
753
+ var safeId = path + "-label";
727
754
  var control = this.renderOptionControl(safeKey, option);
728
755
  return ["tr", {class: "ace_optionsMenuEntry"}, ["td",
729
- ["label", {for: safeKey}, key]
756
+ ["label", {for: safeKey, id: safeId}, key]
730
757
  ], ["td", control]];
731
758
  };
732
759
 
@@ -28,7 +28,6 @@ exports.contextMenuHandler = function(e){
28
28
  });
29
29
 
30
30
  host.textInput.setInputHandler(function(newVal) {
31
- console.log(newVal , value, text.selectionStart, text.selectionEnd);
32
31
  if (newVal == value)
33
32
  return '';
34
33
  if (newVal.lastIndexOf(value, 0) === 0)
@@ -13,7 +13,7 @@ var themeData = [
13
13
  ["Solarized Light"],
14
14
  ["TextMate" ],
15
15
  ["Tomorrow" ],
16
- ["XCode" ],
16
+ ["Xcode" ],
17
17
  ["Kuroir"],
18
18
  ["KatzenMilch"],
19
19
  ["SQL Server" ,"sqlserver" , "light"],
@@ -30,6 +30,7 @@ var themeData = [
30
30
  ["Merbivore Soft" ,"merbivore_soft" , "dark"],
31
31
  ["Mono Industrial" ,"mono_industrial" , "dark"],
32
32
  ["Monokai" ,"monokai" , "dark"],
33
+ ["Nord Dark" ,"nord_dark" , "dark"],
33
34
  ["Pastel on dark" ,"pastel_on_dark" , "dark"],
34
35
  ["Solarized Dark" ,"solarized_dark" , "dark"],
35
36
  ["Terminal" ,"terminal" , "dark"],
@@ -325,7 +325,7 @@ oop.inherits(IncrementalSearchKeyboardHandler, HashHandler);
325
325
  this.attach = function(editor) {
326
326
  var iSearch = this.$iSearch;
327
327
  HashHandler.call(this, exports.iSearchCommands, editor.commands.platform);
328
- this.$commandExecHandler = editor.commands.addEventListener('exec', function(e) {
328
+ this.$commandExecHandler = editor.commands.on('exec', function(e) {
329
329
  if (!e.command.isIncrementalSearchCommand)
330
330
  return iSearch.deactivate();
331
331
  e.stopPropagation();
@@ -340,7 +340,7 @@ oop.inherits(IncrementalSearchKeyboardHandler, HashHandler);
340
340
 
341
341
  this.detach = function(editor) {
342
342
  if (!this.$commandExecHandler) return;
343
- editor.commands.removeEventListener('exec', this.$commandExecHandler);
343
+ editor.commands.off('exec', this.$commandExecHandler);
344
344
  delete this.$commandExecHandler;
345
345
  };
346
346
 
@@ -349,7 +349,7 @@ oop.inherits(IncrementalSearchKeyboardHandler, HashHandler);
349
349
  if (((hashId === 1/*ctrl*/ || hashId === 8/*command*/) && key === 'v')
350
350
  || (hashId === 1/*ctrl*/ && key === 'y')) return null;
351
351
  var cmd = handleKeyboard$super.call(this, data, hashId, key, keyCode);
352
- if (cmd.command) { return cmd; }
352
+ if (cmd && cmd.command) { return cmd; }
353
353
  if (hashId == -1) {
354
354
  var extendCmd = this.commands.extendSearchTerm;
355
355
  if (extendCmd) { return {command: extendCmd, args: key}; }
@@ -406,27 +406,28 @@ function objectToRegExp(obj) {
406
406
 
407
407
  (function() {
408
408
 
409
- this.activate = function(ed, backwards) {
410
- this.$editor = ed;
411
- this.$startPos = this.$currentPos = ed.getCursorPosition();
409
+ this.activate = function(editor, backwards) {
410
+ this.$editor = editor;
411
+ this.$startPos = this.$currentPos = editor.getCursorPosition();
412
412
  this.$options.needle = '';
413
413
  this.$options.backwards = backwards;
414
- ed.keyBinding.addKeyboardHandler(this.$keyboardHandler);
415
- this.$originalEditorOnPaste = ed.onPaste; ed.onPaste = this.onPaste.bind(this);
416
- this.$mousedownHandler = ed.addEventListener('mousedown', this.onMouseDown.bind(this));
417
- this.selectionFix(ed);
414
+ editor.keyBinding.addKeyboardHandler(this.$keyboardHandler);
415
+ this.$originalEditorOnPaste = editor.onPaste;
416
+ editor.onPaste = this.onPaste.bind(this);
417
+ this.$mousedownHandler = editor.on('mousedown', this.onMouseDown.bind(this));
418
+ this.selectionFix(editor);
418
419
  this.statusMessage(true);
419
420
  };
420
421
 
421
422
  this.deactivate = function(reset) {
422
423
  this.cancelSearch(reset);
423
- var ed = this.$editor;
424
- ed.keyBinding.removeKeyboardHandler(this.$keyboardHandler);
424
+ var editor = this.$editor;
425
+ editor.keyBinding.removeKeyboardHandler(this.$keyboardHandler);
425
426
  if (this.$mousedownHandler) {
426
- ed.removeEventListener('mousedown', this.$mousedownHandler);
427
+ editor.off('mousedown', this.$mousedownHandler);
427
428
  delete this.$mousedownHandler;
428
429
  }
429
- ed.onPaste = this.$originalEditorOnPaste;
430
+ editor.onPaste = this.$originalEditorOnPaste;
430
431
  this.message('');
431
432
  };
432
433
 
@@ -548,8 +549,6 @@ function objectToRegExp(obj) {
548
549
  if (this.$editor.showCommandLine) {
549
550
  this.$editor.showCommandLine(msg);
550
551
  this.$editor.focus();
551
- } else {
552
- console.log(msg);
553
552
  }
554
553
  };
555
554
 
@@ -702,20 +701,20 @@ exports.handler.attach = function(editor) {
702
701
  editor.commands.addCommands(commands);
703
702
  exports.handler.platform = editor.commands.platform;
704
703
  editor.$emacsModeHandler = this;
705
- editor.addEventListener('copy', this.onCopy);
706
- editor.addEventListener('paste', this.onPaste);
704
+ editor.on('copy', this.onCopy);
705
+ editor.on('paste', this.onPaste);
707
706
  };
708
707
 
709
708
  exports.handler.detach = function(editor) {
710
709
  editor.renderer.$blockCursor = false;
711
710
  editor.session.$selectLongWords = $formerLongWords;
712
711
  editor.session.$useEmacsStyleLineStart = $formerLineStart;
713
- editor.removeEventListener("click", $resetMarkMode);
714
- editor.removeEventListener("changeSession", $kbSessionChange);
712
+ editor.off("click", $resetMarkMode);
713
+ editor.off("changeSession", $kbSessionChange);
715
714
  editor.unsetStyle("emacs-mode");
716
715
  editor.commands.removeCommands(commands);
717
- editor.removeEventListener('copy', this.onCopy);
718
- editor.removeEventListener('paste', this.onPaste);
716
+ editor.off('copy', this.onCopy);
717
+ editor.off('paste', this.onPaste);
719
718
  editor.$emacsModeHandler = null;
720
719
  };
721
720
 
@@ -1,9 +1,6 @@
1
- define("ace/keyboard/sublime",["require","exports","module","ace/lib/keys","ace/lib/oop","ace/lib/useragent","ace/keyboard/hash_handler"], function(require, exports, module) {
1
+ define("ace/keyboard/sublime",["require","exports","module","ace/keyboard/hash_handler"], function(require, exports, module) {
2
2
  "use strict";
3
3
 
4
- var keyUtil = require("../lib/keys");
5
- var oop = require("../lib/oop");
6
- var useragent = require("../lib/useragent");
7
4
  var HashHandler = require("../keyboard/hash_handler").HashHandler;
8
5
 
9
6
  function moveBySubWords(editor, direction, extend) {
@@ -373,7 +370,7 @@ exports.handler.addCommands([{
373
370
  },
374
371
  {
375
372
  bindKey: { mac: "cmd-shift-l", win: "ctrl-shift-l" },
376
- name: "splitIntoLines"
373
+ name: "splitSelectionIntoLines"
377
374
  }, {
378
375
  bindKey: { mac: "ctrl-cmd-down", win: "ctrl-shift-down" },
379
376
  name: "movelinesdown"
@@ -435,6 +435,7 @@ define("ace/keyboard/vim",["require","exports","module","ace/range","ace/lib/eve
435
435
  if (!e) e = s;
436
436
  return this.ace.session.replace(new Range(s.line, s.ch, e.line, e.ch), text);
437
437
  };
438
+ this.replaceSelection =
438
439
  this.replaceSelections = function(p) {
439
440
  var sel = this.ace.selection;
440
441
  if (this.ace.inVirtualSelectionMode) {
@@ -596,8 +597,9 @@ define("ace/keyboard/vim",["require","exports","module","ace/range","ace/lib/eve
596
597
  this.getMode = function() {
597
598
  return { name : this.getOption("mode") };
598
599
  };
599
- this.execCommand = function() {
600
-
600
+ this.execCommand = function(name) {
601
+ if (name == "indentAuto") this.ace.execCommand("autoindent");
602
+ else console.log(name + " is not implemented");
601
603
  };
602
604
  }).call(CodeMirror.prototype);
603
605
  function toAcePos(cmPos) {
@@ -942,7 +944,9 @@ dom.importCssString(".normal-mode .ace_cursor{\
942
944
  { keys: 'A', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'eol' }, context: 'normal' },
943
945
  { keys: 'A', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'endOfSelectedArea' }, context: 'visual' },
944
946
  { keys: 'i', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'inplace' }, context: 'normal' },
947
+ { keys: 'gi', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'lastEdit' }, context: 'normal' },
945
948
  { keys: 'I', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'firstNonBlank'}, context: 'normal' },
949
+ { keys: 'gI', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'bol'}, context: 'normal' },
946
950
  { keys: 'I', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'startOfSelectedArea' }, context: 'visual' },
947
951
  { keys: 'o', type: 'action', action: 'newLineAndEnterInsertMode', isEdit: true, interlaceInsertRepeat: true, actionArgs: { after: true }, context: 'normal' },
948
952
  { keys: 'O', type: 'action', action: 'newLineAndEnterInsertMode', isEdit: true, interlaceInsertRepeat: true, actionArgs: { after: false }, context: 'normal' },
@@ -952,6 +956,7 @@ dom.importCssString(".normal-mode .ace_cursor{\
952
956
  { keys: '<C-q>', type: 'action', action: 'toggleVisualMode', actionArgs: { blockwise: true }},
953
957
  { keys: 'gv', type: 'action', action: 'reselectLastSelection' },
954
958
  { keys: 'J', type: 'action', action: 'joinLines', isEdit: true },
959
+ { keys: 'gJ', type: 'action', action: 'joinLines', actionArgs: { keepSpaces: true }, isEdit: true },
955
960
  { keys: 'p', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: true, isEdit: true }},
956
961
  { keys: 'P', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: false, isEdit: true }},
957
962
  { keys: 'r<character>', type: 'action', action: 'replace', isEdit: true },
@@ -1028,7 +1033,6 @@ dom.importCssString(".normal-mode .ace_cursor{\
1028
1033
  CodeMirror.off(cm.getInputField(), 'paste', getOnPasteFn(cm));
1029
1034
  cm.state.vim = null;
1030
1035
  }
1031
-
1032
1036
  function detachVimMap(cm, next) {
1033
1037
  if (this == CodeMirror.keyMap.vim)
1034
1038
  CodeMirror.rmClass(cm.getWrapperElement(), "cm-fat-cursor");
@@ -1298,9 +1302,16 @@ dom.importCssString(".normal-mode .ace_cursor{\
1298
1302
  }
1299
1303
  return mark;
1300
1304
  }
1305
+ function find(cm, offset) {
1306
+ var oldPointer = pointer;
1307
+ var mark = move(cm, offset);
1308
+ pointer = oldPointer;
1309
+ return mark && mark.find();
1310
+ }
1301
1311
  return {
1302
1312
  cachedCursor: undefined, //used for # and * jumps
1303
1313
  add: add,
1314
+ find: find,
1304
1315
  move: move
1305
1316
  };
1306
1317
  };
@@ -1945,6 +1956,7 @@ dom.importCssString(".normal-mode .ace_cursor{\
1945
1956
  });
1946
1957
  }
1947
1958
  function onPromptClose(query) {
1959
+ cm.scrollTo(originalScrollPos.left, originalScrollPos.top);
1948
1960
  handleQuery(query, true /** ignoreCase */, true /** smartCase */);
1949
1961
  var macroModeState = vimGlobalState.macroModeState;
1950
1962
  if (macroModeState.isRecording) {
@@ -2516,7 +2528,7 @@ dom.importCssString(".normal-mode .ace_cursor{\
2516
2528
  }
2517
2529
  }
2518
2530
  if (ch < lineText.length) {
2519
- var re = /[<>]/.test(lineText[ch]) ? /[(){}[\]<>]/ : /[(){}[\]]/;
2531
+ var re = /[<>]/.test(lineText[ch]) ? /[(){}[\]<>]/ : /[(){}[\]]/; //ace_patch?
2520
2532
  var matched = cm.findMatchingBracket(Pos(line, ch+1), {bracketRegex: re});
2521
2533
  return matched.to;
2522
2534
  } else {
@@ -2645,8 +2657,8 @@ dom.importCssString(".normal-mode .ace_cursor{\
2645
2657
  head.line--;
2646
2658
  cm.setSelection(anchor, head)
2647
2659
  text = cm.getSelection();
2648
- cm.replaceSelections("");
2649
- finalHead = anchor
2660
+ cm.replaceSelection("");
2661
+ finalHead = anchor;
2650
2662
  } else {
2651
2663
  text = cm.getSelection();
2652
2664
  var replacement = fillArray('', ranges.length);
@@ -2866,6 +2878,8 @@ dom.importCssString(".normal-mode .ace_cursor{\
2866
2878
  var height = cm.listSelections().length;
2867
2879
  if (insertAt == 'eol') {
2868
2880
  head = Pos(head.line, lineLength(cm, head.line));
2881
+ } else if (insertAt == 'bol') {
2882
+ head = Pos(head.line, 0);
2869
2883
  } else if (insertAt == 'charAfter') {
2870
2884
  head = offsetCursor(head, 0, 1);
2871
2885
  } else if (insertAt == 'firstNonBlank') {
@@ -2904,6 +2918,8 @@ dom.importCssString(".normal-mode .ace_cursor{\
2904
2918
  if (vim.visualMode){
2905
2919
  return;
2906
2920
  }
2921
+ } else if (insertAt == 'lastEdit') {
2922
+ head = getLastEditPos(cm) || head;
2907
2923
  }
2908
2924
  cm.setOption('disableInput', false);
2909
2925
  if (actionArgs && actionArgs.replace) {
@@ -3003,7 +3019,9 @@ dom.importCssString(".normal-mode .ace_cursor{\
3003
3019
  var tmp = Pos(curStart.line + 1,
3004
3020
  lineLength(cm, curStart.line + 1));
3005
3021
  var text = cm.getRange(curStart, tmp);
3006
- text = text.replace(/\n\s*/g, ' ');
3022
+ text = actionArgs.keepSpaces
3023
+ ? text.replace(/\n\r?/g, '')
3024
+ : text.replace(/\n\s*/g, ' ');
3007
3025
  cm.replaceRange(text, curStart, tmp);
3008
3026
  }
3009
3027
  var curFinalPos = Pos(curStart.line, finalCh);
@@ -4585,11 +4603,22 @@ dom.importCssString(".normal-mode .ace_cursor{\
4585
4603
  }
4586
4604
 
4587
4605
  function getMarkPos(cm, vim, markName) {
4606
+ if (markName == '\'' || markName == '`') {
4607
+ return vimGlobalState.jumpList.find(cm, -1) || Pos(0, 0);
4608
+ } else if (markName == '.') {
4609
+ return getLastEditPos(cm);
4610
+ }
4588
4611
 
4589
4612
  var mark = vim.marks[markName];
4590
4613
  return mark && mark.find();
4591
4614
  }
4592
4615
 
4616
+ function getLastEditPos(cm) {
4617
+ var undoManager = cm.ace.session.$undoManager;
4618
+ if (undoManager && undoManager.$lastDelta)
4619
+ return toCmPos(undoManager.$lastDelta.end);
4620
+ }
4621
+
4593
4622
  var ExCommandDispatcher = function() {
4594
4623
  this.buildCommandMap_();
4595
4624
  };
@@ -5070,6 +5099,9 @@ dom.importCssString(".normal-mode .ace_cursor{\
5070
5099
  var global = false; // True to replace all instances on a line, false to replace only 1.
5071
5100
  if (tokens.length) {
5072
5101
  regexPart = tokens[0];
5102
+ if (getOption('pcre') && regexPart !== '') {
5103
+ regexPart = new RegExp(regexPart).source; //normalize not escaped characters
5104
+ }
5073
5105
  replacePart = tokens[1];
5074
5106
  if (regexPart && regexPart[regexPart.length - 1] === '$') {
5075
5107
  regexPart = regexPart.slice(0, regexPart.length - 1) + '\\n';
@@ -5077,7 +5109,7 @@ dom.importCssString(".normal-mode .ace_cursor{\
5077
5109
  }
5078
5110
  if (replacePart !== undefined) {
5079
5111
  if (getOption('pcre')) {
5080
- replacePart = unescapeRegexReplace(replacePart);
5112
+ replacePart = unescapeRegexReplace(replacePart.replace(/([^\\])&/g,"$1$$&"));
5081
5113
  } else {
5082
5114
  replacePart = translateRegexReplace(replacePart);
5083
5115
  }
@@ -5103,7 +5135,11 @@ dom.importCssString(".normal-mode .ace_cursor{\
5103
5135
  global = true;
5104
5136
  flagsPart.replace('g', '');
5105
5137
  }
5106
- regexPart = regexPart.replace(/\//g, "\\/") + '/' + flagsPart;
5138
+ if (getOption('pcre')) {
5139
+ regexPart = regexPart + '/' + flagsPart;
5140
+ } else {
5141
+ regexPart = regexPart.replace(/\//g, "\\/") + '/' + flagsPart;
5142
+ }
5107
5143
  }
5108
5144
  }
5109
5145
  if (regexPart) {