ace-rails-ap 4.1.2 → 4.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (363) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ace/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/ace/ace.js +752 -261
  4. data/vendor/assets/javascripts/ace/ext-beautify.js +0 -0
  5. data/vendor/assets/javascripts/ace/ext-chromevox.js +0 -0
  6. data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +0 -0
  7. data/vendor/assets/javascripts/ace/ext-emmet.js +0 -0
  8. data/vendor/assets/javascripts/ace/ext-error_marker.js +0 -0
  9. data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +0 -0
  10. data/vendor/assets/javascripts/ace/ext-language_tools.js +19 -9
  11. data/vendor/assets/javascripts/ace/ext-linking.js +9 -0
  12. data/vendor/assets/javascripts/ace/ext-modelist.js +2 -0
  13. data/vendor/assets/javascripts/ace/ext-old_ie.js +0 -0
  14. data/vendor/assets/javascripts/ace/ext-searchbox.js +158 -66
  15. data/vendor/assets/javascripts/ace/ext-settings_menu.js +3 -0
  16. data/vendor/assets/javascripts/ace/ext-spellcheck.js +0 -0
  17. data/vendor/assets/javascripts/ace/ext-split.js +0 -0
  18. data/vendor/assets/javascripts/ace/ext-static_highlight.js +1 -1
  19. data/vendor/assets/javascripts/ace/ext-statusbar.js +0 -0
  20. data/vendor/assets/javascripts/ace/ext-textarea.js +1 -0
  21. data/vendor/assets/javascripts/ace/ext-themelist.js +1 -0
  22. data/vendor/assets/javascripts/ace/ext-whitespace.js +24 -3
  23. data/vendor/assets/javascripts/ace/keybinding-emacs.js +0 -0
  24. data/vendor/assets/javascripts/ace/keybinding-vim.js +12 -4
  25. data/vendor/assets/javascripts/ace/mode-abap.js +0 -0
  26. data/vendor/assets/javascripts/ace/mode-abc.js +0 -0
  27. data/vendor/assets/javascripts/ace/mode-actionscript.js +0 -0
  28. data/vendor/assets/javascripts/ace/mode-ada.js +0 -0
  29. data/vendor/assets/javascripts/ace/mode-apache_conf.js +0 -0
  30. data/vendor/assets/javascripts/ace/mode-applescript.js +0 -0
  31. data/vendor/assets/javascripts/ace/mode-asciidoc.js +0 -0
  32. data/vendor/assets/javascripts/ace/mode-assembly_x86.js +0 -0
  33. data/vendor/assets/javascripts/ace/mode-autohotkey.js +0 -0
  34. data/vendor/assets/javascripts/ace/mode-bash.js +247 -0
  35. data/vendor/assets/javascripts/ace/mode-batchfile.js +0 -0
  36. data/vendor/assets/javascripts/ace/mode-bro.js +0 -0
  37. data/vendor/assets/javascripts/ace/mode-c9search.js +0 -5
  38. data/vendor/assets/javascripts/ace/mode-c_cpp.js +2 -3
  39. data/vendor/assets/javascripts/ace/mode-cirru.js +0 -0
  40. data/vendor/assets/javascripts/ace/mode-clojure.js +0 -0
  41. data/vendor/assets/javascripts/ace/mode-cobol.js +0 -0
  42. data/vendor/assets/javascripts/ace/mode-coffee.js +0 -0
  43. data/vendor/assets/javascripts/ace/mode-coldfusion.js +132 -78
  44. data/vendor/assets/javascripts/ace/mode-csharp.js +3 -4
  45. data/vendor/assets/javascripts/ace/mode-css.js +95 -47
  46. data/vendor/assets/javascripts/ace/mode-curly.js +132 -78
  47. data/vendor/assets/javascripts/ace/mode-d.js +0 -0
  48. data/vendor/assets/javascripts/ace/mode-dart.js +5 -8
  49. data/vendor/assets/javascripts/ace/mode-diff.js +0 -0
  50. data/vendor/assets/javascripts/ace/mode-django.js +132 -83
  51. data/vendor/assets/javascripts/ace/mode-dockerfile.js +0 -0
  52. data/vendor/assets/javascripts/ace/mode-dot.js +2 -5
  53. data/vendor/assets/javascripts/ace/mode-drools.js +4 -6
  54. data/vendor/assets/javascripts/ace/mode-eiffel.js +0 -0
  55. data/vendor/assets/javascripts/ace/mode-ejs.js +137 -78
  56. data/vendor/assets/javascripts/ace/mode-elixir.js +0 -0
  57. data/vendor/assets/javascripts/ace/mode-elm.js +0 -0
  58. data/vendor/assets/javascripts/ace/mode-erlang.js +0 -0
  59. data/vendor/assets/javascripts/ace/mode-forth.js +0 -0
  60. data/vendor/assets/javascripts/ace/mode-fortran.js +0 -0
  61. data/vendor/assets/javascripts/ace/mode-ftl.js +122 -78
  62. data/vendor/assets/javascripts/ace/mode-gcode.js +0 -0
  63. data/vendor/assets/javascripts/ace/mode-gherkin.js +0 -0
  64. data/vendor/assets/javascripts/ace/mode-gitignore.js +0 -0
  65. data/vendor/assets/javascripts/ace/mode-glsl.js +2 -3
  66. data/vendor/assets/javascripts/ace/mode-gobstones.js +23 -17
  67. data/vendor/assets/javascripts/ace/mode-golang.js +0 -0
  68. data/vendor/assets/javascripts/ace/mode-graphqlschema.js +206 -0
  69. data/vendor/assets/javascripts/ace/mode-groovy.js +23 -17
  70. data/vendor/assets/javascripts/ace/mode-haml.js +247 -183
  71. data/vendor/assets/javascripts/ace/mode-handlebars.js +132 -78
  72. data/vendor/assets/javascripts/ace/mode-haskell.js +0 -0
  73. data/vendor/assets/javascripts/ace/mode-haskell_cabal.js +0 -0
  74. data/vendor/assets/javascripts/ace/mode-haxe.js +2 -3
  75. data/vendor/assets/javascripts/ace/mode-hjson.js +0 -0
  76. data/vendor/assets/javascripts/ace/mode-html.js +132 -78
  77. data/vendor/assets/javascripts/ace/mode-html_elixir.js +132 -78
  78. data/vendor/assets/javascripts/ace/mode-html_ruby.js +137 -78
  79. data/vendor/assets/javascripts/ace/mode-ini.js +0 -0
  80. data/vendor/assets/javascripts/ace/mode-io.js +0 -0
  81. data/vendor/assets/javascripts/ace/mode-jack.js +0 -0
  82. data/vendor/assets/javascripts/ace/mode-jade.js +150 -86
  83. data/vendor/assets/javascripts/ace/mode-java.js +23 -17
  84. data/vendor/assets/javascripts/ace/mode-javascript.js +21 -14
  85. data/vendor/assets/javascripts/ace/mode-json.js +16 -8
  86. data/vendor/assets/javascripts/ace/mode-jsoniq.js +27 -11
  87. data/vendor/assets/javascripts/ace/mode-jsp.js +122 -78
  88. data/vendor/assets/javascripts/ace/mode-jsx.js +2 -3
  89. data/vendor/assets/javascripts/ace/mode-julia.js +0 -0
  90. data/vendor/assets/javascripts/ace/mode-kotlin.js +0 -0
  91. data/vendor/assets/javascripts/ace/mode-latex.js +3 -2
  92. data/vendor/assets/javascripts/ace/mode-lean.js +0 -0
  93. data/vendor/assets/javascripts/ace/mode-less.js +97 -50
  94. data/vendor/assets/javascripts/ace/mode-liquid.js +120 -75
  95. data/vendor/assets/javascripts/ace/mode-lisp.js +0 -0
  96. data/vendor/assets/javascripts/ace/mode-live_script.js +0 -0
  97. data/vendor/assets/javascripts/ace/mode-livescript.js +0 -0
  98. data/vendor/assets/javascripts/ace/mode-logiql.js +0 -0
  99. data/vendor/assets/javascripts/ace/mode-lsl.js +0 -0
  100. data/vendor/assets/javascripts/ace/mode-lua.js +4 -4
  101. data/vendor/assets/javascripts/ace/mode-luapage.js +136 -82
  102. data/vendor/assets/javascripts/ace/mode-lucene.js +0 -0
  103. data/vendor/assets/javascripts/ace/mode-makefile.js +0 -0
  104. data/vendor/assets/javascripts/ace/mode-markdown.js +133 -80
  105. data/vendor/assets/javascripts/ace/mode-mask.js +121 -77
  106. data/vendor/assets/javascripts/ace/mode-matlab.js +0 -0
  107. data/vendor/assets/javascripts/ace/mode-maze.js +0 -0
  108. data/vendor/assets/javascripts/ace/mode-mel.js +0 -0
  109. data/vendor/assets/javascripts/ace/mode-mips_assembler.js +0 -0
  110. data/vendor/assets/javascripts/ace/mode-mipsassembler.js +0 -0
  111. data/vendor/assets/javascripts/ace/mode-mushcode.js +0 -0
  112. data/vendor/assets/javascripts/ace/mode-mysql.js +0 -0
  113. data/vendor/assets/javascripts/ace/mode-nix.js +4 -6
  114. data/vendor/assets/javascripts/ace/mode-nsis.js +0 -0
  115. data/vendor/assets/javascripts/ace/mode-objectivec.js +3 -5
  116. data/vendor/assets/javascripts/ace/mode-ocaml.js +2 -3
  117. data/vendor/assets/javascripts/ace/mode-pascal.js +0 -0
  118. data/vendor/assets/javascripts/ace/mode-perl.js +0 -0
  119. data/vendor/assets/javascripts/ace/mode-pgsql.js +42 -31
  120. data/vendor/assets/javascripts/ace/mode-php.js +132 -78
  121. data/vendor/assets/javascripts/ace/mode-pig.js +303 -0
  122. data/vendor/assets/javascripts/ace/mode-plain_text.js +0 -0
  123. data/vendor/assets/javascripts/ace/mode-powershell.js +0 -0
  124. data/vendor/assets/javascripts/ace/mode-praat.js +0 -0
  125. data/vendor/assets/javascripts/ace/mode-prolog.js +0 -0
  126. data/vendor/assets/javascripts/ace/mode-properties.js +0 -0
  127. data/vendor/assets/javascripts/ace/mode-protobuf.js +6 -8
  128. data/vendor/assets/javascripts/ace/mode-python.js +0 -0
  129. data/vendor/assets/javascripts/ace/mode-r.js +0 -0
  130. data/vendor/assets/javascripts/ace/mode-razor.js +135 -82
  131. data/vendor/assets/javascripts/ace/mode-rdoc.js +0 -0
  132. data/vendor/assets/javascripts/ace/mode-rhtml.js +132 -78
  133. data/vendor/assets/javascripts/ace/mode-rst.js +0 -0
  134. data/vendor/assets/javascripts/ace/mode-ruby.js +5 -0
  135. data/vendor/assets/javascripts/ace/mode-rust.js +1 -0
  136. data/vendor/assets/javascripts/ace/mode-sass.js +27 -6
  137. data/vendor/assets/javascripts/ace/mode-scad.js +2 -3
  138. data/vendor/assets/javascripts/ace/mode-scala.js +23 -17
  139. data/vendor/assets/javascripts/ace/mode-scheme.js +0 -0
  140. data/vendor/assets/javascripts/ace/mode-scss.js +27 -6
  141. data/vendor/assets/javascripts/ace/mode-sh.js +0 -0
  142. data/vendor/assets/javascripts/ace/mode-sjs.js +21 -14
  143. data/vendor/assets/javascripts/ace/mode-smarty.js +132 -78
  144. data/vendor/assets/javascripts/ace/mode-snippets.js +0 -0
  145. data/vendor/assets/javascripts/ace/mode-soy_template.js +132 -78
  146. data/vendor/assets/javascripts/ace/mode-space.js +0 -0
  147. data/vendor/assets/javascripts/ace/mode-sparql.js +313 -0
  148. data/vendor/assets/javascripts/ace/mode-sql.js +3 -0
  149. data/vendor/assets/javascripts/ace/mode-sqlserver.js +0 -0
  150. data/vendor/assets/javascripts/ace/mode-stylus.js +97 -50
  151. data/vendor/assets/javascripts/ace/mode-svg.js +37 -31
  152. data/vendor/assets/javascripts/ace/mode-swift.js +0 -0
  153. data/vendor/assets/javascripts/ace/mode-swig.js +0 -0
  154. data/vendor/assets/javascripts/ace/mode-tcl.js +0 -0
  155. data/vendor/assets/javascripts/ace/mode-tex.js +0 -0
  156. data/vendor/assets/javascripts/ace/mode-text.js +0 -0
  157. data/vendor/assets/javascripts/ace/mode-textile.js +0 -0
  158. data/vendor/assets/javascripts/ace/mode-toml.js +0 -0
  159. data/vendor/assets/javascripts/ace/mode-tsx.js +21 -14
  160. data/vendor/assets/javascripts/ace/mode-turtle.js +289 -0
  161. data/vendor/assets/javascripts/ace/mode-twig.js +132 -78
  162. data/vendor/assets/javascripts/ace/mode-typescript.js +21 -14
  163. data/vendor/assets/javascripts/ace/mode-vala.js +0 -0
  164. data/vendor/assets/javascripts/ace/mode-vbscript.js +0 -0
  165. data/vendor/assets/javascripts/ace/mode-velocity.js +132 -78
  166. data/vendor/assets/javascripts/ace/mode-verilog.js +0 -0
  167. data/vendor/assets/javascripts/ace/mode-vhdl.js +0 -0
  168. data/vendor/assets/javascripts/ace/mode-wollok.js +21 -14
  169. data/vendor/assets/javascripts/ace/mode-xml.js +16 -17
  170. data/vendor/assets/javascripts/ace/mode-xquery.js +0 -0
  171. data/vendor/assets/javascripts/ace/mode-yaml.js +40 -8
  172. data/vendor/assets/javascripts/ace/snippets/abap.js +0 -0
  173. data/vendor/assets/javascripts/ace/snippets/abc.js +0 -0
  174. data/vendor/assets/javascripts/ace/snippets/actionscript.js +0 -0
  175. data/vendor/assets/javascripts/ace/snippets/ada.js +0 -0
  176. data/vendor/assets/javascripts/ace/snippets/apache_conf.js +0 -0
  177. data/vendor/assets/javascripts/ace/snippets/applescript.js +0 -0
  178. data/vendor/assets/javascripts/ace/snippets/asciidoc.js +0 -0
  179. data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +0 -0
  180. data/vendor/assets/javascripts/ace/snippets/autohotkey.js +0 -0
  181. data/vendor/assets/javascripts/ace/snippets/batchfile.js +0 -0
  182. data/vendor/assets/javascripts/ace/snippets/bro.js +0 -0
  183. data/vendor/assets/javascripts/ace/snippets/c9search.js +0 -0
  184. data/vendor/assets/javascripts/ace/snippets/c_cpp.js +0 -0
  185. data/vendor/assets/javascripts/ace/snippets/cirru.js +0 -0
  186. data/vendor/assets/javascripts/ace/snippets/clojure.js +0 -0
  187. data/vendor/assets/javascripts/ace/snippets/cobol.js +0 -0
  188. data/vendor/assets/javascripts/ace/snippets/coffee.js +0 -0
  189. data/vendor/assets/javascripts/ace/snippets/coldfusion.js +0 -0
  190. data/vendor/assets/javascripts/ace/snippets/csharp.js +0 -0
  191. data/vendor/assets/javascripts/ace/snippets/css.js +0 -0
  192. data/vendor/assets/javascripts/ace/snippets/curly.js +0 -0
  193. data/vendor/assets/javascripts/ace/snippets/d.js +0 -0
  194. data/vendor/assets/javascripts/ace/snippets/dart.js +0 -0
  195. data/vendor/assets/javascripts/ace/snippets/diff.js +0 -0
  196. data/vendor/assets/javascripts/ace/snippets/django.js +0 -0
  197. data/vendor/assets/javascripts/ace/snippets/dockerfile.js +0 -0
  198. data/vendor/assets/javascripts/ace/snippets/dot.js +0 -0
  199. data/vendor/assets/javascripts/ace/snippets/drools.js +0 -0
  200. data/vendor/assets/javascripts/ace/snippets/eiffel.js +0 -0
  201. data/vendor/assets/javascripts/ace/snippets/ejs.js +0 -0
  202. data/vendor/assets/javascripts/ace/snippets/elixir.js +0 -0
  203. data/vendor/assets/javascripts/ace/snippets/elm.js +0 -0
  204. data/vendor/assets/javascripts/ace/snippets/erlang.js +0 -0
  205. data/vendor/assets/javascripts/ace/snippets/forth.js +0 -0
  206. data/vendor/assets/javascripts/ace/snippets/fortran.js +0 -0
  207. data/vendor/assets/javascripts/ace/snippets/ftl.js +0 -0
  208. data/vendor/assets/javascripts/ace/snippets/gcode.js +0 -0
  209. data/vendor/assets/javascripts/ace/snippets/gherkin.js +0 -0
  210. data/vendor/assets/javascripts/ace/snippets/gitignore.js +0 -0
  211. data/vendor/assets/javascripts/ace/snippets/glsl.js +0 -0
  212. data/vendor/assets/javascripts/ace/snippets/gobstones.js +0 -0
  213. data/vendor/assets/javascripts/ace/snippets/golang.js +0 -0
  214. data/vendor/assets/javascripts/ace/snippets/graphqlschema.js +39 -0
  215. data/vendor/assets/javascripts/ace/snippets/groovy.js +0 -0
  216. data/vendor/assets/javascripts/ace/snippets/haml.js +0 -0
  217. data/vendor/assets/javascripts/ace/snippets/handlebars.js +0 -0
  218. data/vendor/assets/javascripts/ace/snippets/haskell.js +0 -0
  219. data/vendor/assets/javascripts/ace/snippets/haskell_cabal.js +0 -0
  220. data/vendor/assets/javascripts/ace/snippets/haxe.js +0 -0
  221. data/vendor/assets/javascripts/ace/snippets/hjson.js +0 -0
  222. data/vendor/assets/javascripts/ace/snippets/html.js +0 -0
  223. data/vendor/assets/javascripts/ace/snippets/html_elixir.js +0 -0
  224. data/vendor/assets/javascripts/ace/snippets/html_ruby.js +0 -0
  225. data/vendor/assets/javascripts/ace/snippets/ini.js +0 -0
  226. data/vendor/assets/javascripts/ace/snippets/io.js +0 -0
  227. data/vendor/assets/javascripts/ace/snippets/jack.js +0 -0
  228. data/vendor/assets/javascripts/ace/snippets/jade.js +0 -0
  229. data/vendor/assets/javascripts/ace/snippets/java.js +0 -0
  230. data/vendor/assets/javascripts/ace/snippets/javascript.js +0 -0
  231. data/vendor/assets/javascripts/ace/snippets/json.js +0 -0
  232. data/vendor/assets/javascripts/ace/snippets/jsoniq.js +0 -0
  233. data/vendor/assets/javascripts/ace/snippets/jsp.js +0 -0
  234. data/vendor/assets/javascripts/ace/snippets/jsx.js +0 -0
  235. data/vendor/assets/javascripts/ace/snippets/julia.js +0 -0
  236. data/vendor/assets/javascripts/ace/snippets/kotlin.js +0 -0
  237. data/vendor/assets/javascripts/ace/snippets/latex.js +0 -0
  238. data/vendor/assets/javascripts/ace/snippets/lean.js +0 -0
  239. data/vendor/assets/javascripts/ace/snippets/less.js +0 -0
  240. data/vendor/assets/javascripts/ace/snippets/liquid.js +0 -0
  241. data/vendor/assets/javascripts/ace/snippets/lisp.js +0 -0
  242. data/vendor/assets/javascripts/ace/snippets/live_script.js +0 -0
  243. data/vendor/assets/javascripts/ace/snippets/livescript.js +0 -0
  244. data/vendor/assets/javascripts/ace/snippets/logiql.js +0 -0
  245. data/vendor/assets/javascripts/ace/snippets/lsl.js +0 -0
  246. data/vendor/assets/javascripts/ace/snippets/lua.js +0 -0
  247. data/vendor/assets/javascripts/ace/snippets/luapage.js +0 -0
  248. data/vendor/assets/javascripts/ace/snippets/lucene.js +0 -0
  249. data/vendor/assets/javascripts/ace/snippets/makefile.js +0 -0
  250. data/vendor/assets/javascripts/ace/snippets/markdown.js +0 -0
  251. data/vendor/assets/javascripts/ace/snippets/mask.js +0 -0
  252. data/vendor/assets/javascripts/ace/snippets/matlab.js +0 -0
  253. data/vendor/assets/javascripts/ace/snippets/maze.js +0 -0
  254. data/vendor/assets/javascripts/ace/snippets/mel.js +0 -0
  255. data/vendor/assets/javascripts/ace/snippets/mips_assembler.js +0 -0
  256. data/vendor/assets/javascripts/ace/snippets/mipsassembler.js +0 -0
  257. data/vendor/assets/javascripts/ace/snippets/mushcode.js +0 -0
  258. data/vendor/assets/javascripts/ace/snippets/mysql.js +0 -0
  259. data/vendor/assets/javascripts/ace/snippets/nix.js +0 -0
  260. data/vendor/assets/javascripts/ace/snippets/nsis.js +0 -0
  261. data/vendor/assets/javascripts/ace/snippets/objectivec.js +0 -0
  262. data/vendor/assets/javascripts/ace/snippets/ocaml.js +0 -0
  263. data/vendor/assets/javascripts/ace/snippets/pascal.js +0 -0
  264. data/vendor/assets/javascripts/ace/snippets/perl.js +0 -0
  265. data/vendor/assets/javascripts/ace/snippets/pgsql.js +0 -0
  266. data/vendor/assets/javascripts/ace/snippets/php.js +0 -0
  267. data/vendor/assets/javascripts/ace/snippets/pig.js +7 -0
  268. data/vendor/assets/javascripts/ace/snippets/plain_text.js +0 -0
  269. data/vendor/assets/javascripts/ace/snippets/powershell.js +0 -0
  270. data/vendor/assets/javascripts/ace/snippets/praat.js +0 -0
  271. data/vendor/assets/javascripts/ace/snippets/prolog.js +0 -0
  272. data/vendor/assets/javascripts/ace/snippets/properties.js +0 -0
  273. data/vendor/assets/javascripts/ace/snippets/protobuf.js +0 -0
  274. data/vendor/assets/javascripts/ace/snippets/python.js +0 -0
  275. data/vendor/assets/javascripts/ace/snippets/r.js +0 -0
  276. data/vendor/assets/javascripts/ace/snippets/razor.js +0 -0
  277. data/vendor/assets/javascripts/ace/snippets/rdoc.js +0 -0
  278. data/vendor/assets/javascripts/ace/snippets/rhtml.js +0 -0
  279. data/vendor/assets/javascripts/ace/snippets/rst.js +0 -0
  280. data/vendor/assets/javascripts/ace/snippets/ruby.js +0 -0
  281. data/vendor/assets/javascripts/ace/snippets/rust.js +0 -0
  282. data/vendor/assets/javascripts/ace/snippets/sass.js +0 -0
  283. data/vendor/assets/javascripts/ace/snippets/scad.js +0 -0
  284. data/vendor/assets/javascripts/ace/snippets/scala.js +0 -0
  285. data/vendor/assets/javascripts/ace/snippets/scheme.js +0 -0
  286. data/vendor/assets/javascripts/ace/snippets/scss.js +0 -0
  287. data/vendor/assets/javascripts/ace/snippets/sh.js +1 -1
  288. data/vendor/assets/javascripts/ace/snippets/sjs.js +0 -0
  289. data/vendor/assets/javascripts/ace/snippets/smarty.js +0 -0
  290. data/vendor/assets/javascripts/ace/snippets/snippets.js +0 -0
  291. data/vendor/assets/javascripts/ace/snippets/soy_template.js +0 -0
  292. data/vendor/assets/javascripts/ace/snippets/space.js +0 -0
  293. data/vendor/assets/javascripts/ace/snippets/sparql.js +7 -0
  294. data/vendor/assets/javascripts/ace/snippets/sql.js +0 -0
  295. data/vendor/assets/javascripts/ace/snippets/sqlserver.js +0 -0
  296. data/vendor/assets/javascripts/ace/snippets/stylus.js +0 -0
  297. data/vendor/assets/javascripts/ace/snippets/svg.js +0 -0
  298. data/vendor/assets/javascripts/ace/snippets/swift.js +0 -0
  299. data/vendor/assets/javascripts/ace/snippets/swig.js +0 -0
  300. data/vendor/assets/javascripts/ace/snippets/tcl.js +0 -0
  301. data/vendor/assets/javascripts/ace/snippets/tex.js +0 -0
  302. data/vendor/assets/javascripts/ace/snippets/text.js +0 -0
  303. data/vendor/assets/javascripts/ace/snippets/textile.js +0 -0
  304. data/vendor/assets/javascripts/ace/snippets/toml.js +0 -0
  305. data/vendor/assets/javascripts/ace/snippets/tsx.js +0 -0
  306. data/vendor/assets/javascripts/ace/snippets/turtle.js +7 -0
  307. data/vendor/assets/javascripts/ace/snippets/twig.js +0 -0
  308. data/vendor/assets/javascripts/ace/snippets/typescript.js +0 -0
  309. data/vendor/assets/javascripts/ace/snippets/vala.js +0 -0
  310. data/vendor/assets/javascripts/ace/snippets/vbscript.js +0 -0
  311. data/vendor/assets/javascripts/ace/snippets/velocity.js +0 -0
  312. data/vendor/assets/javascripts/ace/snippets/verilog.js +0 -0
  313. data/vendor/assets/javascripts/ace/snippets/vhdl.js +0 -0
  314. data/vendor/assets/javascripts/ace/snippets/wollok.js +0 -0
  315. data/vendor/assets/javascripts/ace/snippets/xml.js +0 -0
  316. data/vendor/assets/javascripts/ace/snippets/xquery.js +0 -0
  317. data/vendor/assets/javascripts/ace/snippets/yaml.js +0 -0
  318. data/vendor/assets/javascripts/ace/theme-ambiance.js +0 -0
  319. data/vendor/assets/javascripts/ace/theme-chaos.js +0 -0
  320. data/vendor/assets/javascripts/ace/theme-chrome.js +0 -0
  321. data/vendor/assets/javascripts/ace/theme-clouds.js +0 -0
  322. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +0 -0
  323. data/vendor/assets/javascripts/ace/theme-cobalt.js +0 -0
  324. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +0 -0
  325. data/vendor/assets/javascripts/ace/theme-dawn.js +0 -0
  326. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +0 -0
  327. data/vendor/assets/javascripts/ace/theme-eclipse.js +0 -0
  328. data/vendor/assets/javascripts/ace/theme-github.js +0 -0
  329. data/vendor/assets/javascripts/ace/theme-gob.js +112 -0
  330. data/vendor/assets/javascripts/ace/theme-gruvbox.js +82 -0
  331. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +0 -0
  332. data/vendor/assets/javascripts/ace/theme-iplastic.js +0 -0
  333. data/vendor/assets/javascripts/ace/theme-katzenmilch.js +0 -0
  334. data/vendor/assets/javascripts/ace/theme-kr_theme.js +0 -0
  335. data/vendor/assets/javascripts/ace/theme-kuroir.js +0 -0
  336. data/vendor/assets/javascripts/ace/theme-merbivore.js +0 -0
  337. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +0 -0
  338. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +0 -0
  339. data/vendor/assets/javascripts/ace/theme-monokai.js +0 -0
  340. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +0 -0
  341. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +0 -0
  342. data/vendor/assets/javascripts/ace/theme-solarized_light.js +0 -0
  343. data/vendor/assets/javascripts/ace/theme-sqlserver.js +0 -0
  344. data/vendor/assets/javascripts/ace/theme-terminal.js +0 -0
  345. data/vendor/assets/javascripts/ace/theme-textmate.js +0 -0
  346. data/vendor/assets/javascripts/ace/theme-tomorrow.js +0 -0
  347. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +0 -0
  348. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +0 -0
  349. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +0 -0
  350. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +0 -0
  351. data/vendor/assets/javascripts/ace/theme-twilight.js +0 -0
  352. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +0 -0
  353. data/vendor/assets/javascripts/ace/theme-xcode.js +0 -0
  354. data/vendor/assets/javascripts/ace/worker-coffee.js +0 -0
  355. data/vendor/assets/javascripts/ace/worker-css.js +0 -0
  356. data/vendor/assets/javascripts/ace/worker-html.js +0 -0
  357. data/vendor/assets/javascripts/ace/worker-javascript.js +0 -0
  358. data/vendor/assets/javascripts/ace/worker-json.js +0 -0
  359. data/vendor/assets/javascripts/ace/worker-lua.js +2 -2
  360. data/vendor/assets/javascripts/ace/worker-php.js +0 -0
  361. data/vendor/assets/javascripts/ace/worker-xml.js +0 -0
  362. data/vendor/assets/javascripts/ace/worker-xquery.js +0 -0
  363. metadata +14 -3
@@ -106,11 +106,11 @@ var JavaScriptHighlightRules = function(options) {
106
106
  regex : '"(?=.)',
107
107
  next : "qqstring"
108
108
  }, {
109
- token : "constant.numeric", // hex
110
- regex : /0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/
109
+ token : "constant.numeric", // hexadecimal, octal and binary
110
+ regex : /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
111
111
  }, {
112
- token : "constant.numeric", // float
113
- regex : /[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/
112
+ token : "constant.numeric", // decimal integers and floats
113
+ regex : /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
114
114
  }, {
115
115
  token : [
116
116
  "storage.type", "punctuation.operator", "support.function",
@@ -159,6 +159,9 @@ var JavaScriptHighlightRules = function(options) {
159
159
  ],
160
160
  regex : "(:)(\\s*)(function)(\\s*)(\\()",
161
161
  next: "function_arguments"
162
+ }, {
163
+ token : "keyword",
164
+ regex : "from(?=\\s*('|\"))"
162
165
  }, {
163
166
  token : "keyword",
164
167
  regex : "(?:" + kwBeforeRe + ")\\b",
@@ -176,6 +179,9 @@ var JavaScriptHighlightRules = function(options) {
176
179
  token : "punctuation.operator",
177
180
  regex : /[.](?![.])/,
178
181
  next : "property"
182
+ }, {
183
+ token : "storage.type",
184
+ regex : /=>/
179
185
  }, {
180
186
  token : "keyword.operator",
181
187
  regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
@@ -316,7 +322,7 @@ var JavaScriptHighlightRules = function(options) {
316
322
  }, {
317
323
  token : "string",
318
324
  regex : "\\\\$",
319
- next : "qqstring"
325
+ consumeLineEnd : true
320
326
  }, {
321
327
  token : "string",
322
328
  regex : '"|$',
@@ -332,7 +338,7 @@ var JavaScriptHighlightRules = function(options) {
332
338
  }, {
333
339
  token : "string",
334
340
  regex : "\\\\$",
335
- next : "qstring"
341
+ consumeLineEnd : true
336
342
  }, {
337
343
  token : "string",
338
344
  regex : "'|$",
@@ -342,8 +348,8 @@ var JavaScriptHighlightRules = function(options) {
342
348
  }
343
349
  ]
344
350
  };
345
-
346
-
351
+
352
+
347
353
  if (!options || !options.noES6) {
348
354
  this.$rules.no_regex.unshift({
349
355
  regex: "[{}]", onMatch: function(val, state, stack) {
@@ -378,14 +384,14 @@ var JavaScriptHighlightRules = function(options) {
378
384
  defaultToken: "string.quasi"
379
385
  }]
380
386
  });
381
-
387
+
382
388
  if (!options || options.jsx != false)
383
389
  JSX.call(this);
384
390
  }
385
-
391
+
386
392
  this.embedRules(DocCommentHighlightRules, "doc-",
387
393
  [ DocCommentHighlightRules.getEndRule("no_regex") ]);
388
-
394
+
389
395
  this.normalizeRules();
390
396
  };
391
397
 
@@ -436,8 +442,8 @@ function JSX() {
436
442
  {defaultToken: "string"}
437
443
  ];
438
444
  this.$rules.jsxAttributes = [{
439
- token : "meta.tag.punctuation.tag-close.xml",
440
- regex : "/?>",
445
+ token : "meta.tag.punctuation.tag-close.xml",
446
+ regex : "/?>",
441
447
  onMatch : function(value, currentState, stack) {
442
448
  if (currentState == stack[0])
443
449
  stack.shift();
@@ -452,7 +458,7 @@ function JSX() {
452
458
  return [{type: this.token, value: value}];
453
459
  },
454
460
  nextState: "jsx"
455
- },
461
+ },
456
462
  jsxJsRule,
457
463
  comments("jsxAttributes"),
458
464
  {
@@ -719,6 +725,7 @@ oop.inherits(Mode, TextMode);
719
725
 
720
726
  this.lineCommentStart = "//";
721
727
  this.blockComment = {start: "/*", end: "*/"};
728
+ this.$quotes = {'"': '"', "'": "'", "`": "`"};
722
729
 
723
730
  this.getNextLineIndent = function(state, line, tab) {
724
731
  var indent = this.$getIndent(line);
@@ -790,10 +797,10 @@ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
790
797
  var supportType = exports.supportType = "align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index";
791
798
  var supportFunction = exports.supportFunction = "rgb|rgba|url|attr|counter|counters";
792
799
  var supportConstant = exports.supportConstant = "absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero";
793
- var supportConstantColor = exports.supportConstantColor = "aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow";
800
+ var supportConstantColor = exports.supportConstantColor = "aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen";
794
801
  var supportConstantFonts = exports.supportConstantFonts = "arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace";
795
802
 
796
- var numRe = exports.numRe = "\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";
803
+ var numRe = exports.numRe = "\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))";
797
804
  var pseudoElements = exports.pseudoElements = "(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b";
798
805
  var pseudoClasses = exports.pseudoClasses = "(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b";
799
806
 
@@ -809,84 +816,82 @@ var CssHighlightRules = function() {
809
816
 
810
817
  this.$rules = {
811
818
  "start" : [{
812
- token : "comment", // multi line comment
813
- regex : "\\/\\*",
814
- push : "comment"
819
+ include : ["strings", "url", "comments"]
815
820
  }, {
816
821
  token: "paren.lparen",
817
822
  regex: "\\{",
818
- push: "ruleset"
823
+ next: "ruleset"
824
+ }, {
825
+ token: "paren.rparen",
826
+ regex: "\\}"
819
827
  }, {
820
828
  token: "string",
821
- regex: "@.*?{",
822
- push: "media"
829
+ regex: "@",
830
+ next: "media"
823
831
  }, {
824
832
  token: "keyword",
825
833
  regex: "#[a-z0-9-_]+"
834
+ }, {
835
+ token: "keyword",
836
+ regex: "%"
826
837
  }, {
827
838
  token: "variable",
828
839
  regex: "\\.[a-z0-9-_]+"
829
840
  }, {
830
841
  token: "string",
831
842
  regex: ":[a-z0-9-_]+"
843
+ }, {
844
+ token : "constant.numeric",
845
+ regex : numRe
832
846
  }, {
833
847
  token: "constant",
834
848
  regex: "[a-z0-9-_]+"
835
849
  }, {
836
850
  caseInsensitive: true
837
851
  }],
838
-
839
- "media" : [{
840
- token : "comment", // multi line comment
841
- regex : "\\/\\*",
842
- push : "comment"
852
+
853
+ "media": [{
854
+ include : ["strings", "url", "comments"]
843
855
  }, {
844
856
  token: "paren.lparen",
845
857
  regex: "\\{",
846
- push: "ruleset"
858
+ next: "start"
847
859
  }, {
848
- token: "string",
860
+ token: "paren.rparen",
849
861
  regex: "\\}",
850
- next: "pop"
851
- }, {
852
- token: "keyword",
853
- regex: "#[a-z0-9-_]+"
854
- }, {
855
- token: "variable",
856
- regex: "\\.[a-z0-9-_]+"
862
+ next: "start"
857
863
  }, {
858
864
  token: "string",
859
- regex: ":[a-z0-9-_]+"
865
+ regex: ";",
866
+ next: "start"
860
867
  }, {
861
- token: "constant",
862
- regex: "[a-z0-9-_]+"
863
- }, {
864
- caseInsensitive: true
868
+ token: "keyword",
869
+ regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
870
+ + "|page|font|keyframes|viewport|counter-style|font-feature-values"
871
+ + "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
865
872
  }],
866
873
 
867
- "comment" : [{
868
- token : "comment",
869
- regex : "\\*\\/",
870
- next : "pop"
871
- }, {
872
- defaultToken : "comment"
874
+ "comments" : [{
875
+ token: "comment", // multi line comment
876
+ regex: "\\/\\*",
877
+ push: [{
878
+ token : "comment",
879
+ regex : "\\*\\/",
880
+ next : "pop"
881
+ }, {
882
+ defaultToken : "comment"
883
+ }]
873
884
  }],
874
885
 
875
- "ruleset" : [
876
- {
886
+ "ruleset" : [{
887
+ regex : "-(webkit|ms|moz|o)-",
888
+ token : "text"
889
+ }, {
877
890
  token : "paren.rparen",
878
891
  regex : "\\}",
879
- next: "pop"
880
- }, {
881
- token : "comment", // multi line comment
882
- regex : "\\/\\*",
883
- push : "comment"
884
- }, {
885
- token : "string", // single line
886
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
892
+ next : "start"
887
893
  }, {
888
- token : "string", // single line
889
- regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
894
+ include : ["strings", "url", "comments"]
890
895
  }, {
891
896
  token : ["constant.numeric", "keyword"],
892
897
  regex : "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"
@@ -906,14 +911,64 @@ var CssHighlightRules = function() {
906
911
  token : ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
907
912
  regex : pseudoClasses
908
913
  }, {
909
- token : ["support.function", "string", "support.function"],
910
- regex : "(url\\()(.*)(\\))"
914
+ include: "url"
911
915
  }, {
912
916
  token : keywordMapper,
913
917
  regex : "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
914
918
  }, {
915
919
  caseInsensitive: true
920
+ }],
921
+
922
+ url: [{
923
+ token : "support.function",
924
+ regex : "(?:url(:?-prefix)?|domain|regexp)\\(",
925
+ push: [{
926
+ token : "support.function",
927
+ regex : "\\)",
928
+ next : "pop"
929
+ }, {
930
+ defaultToken: "string"
931
+ }]
932
+ }],
933
+
934
+ strings: [{
935
+ token : "string.start",
936
+ regex : "'",
937
+ push : [{
938
+ token : "string.end",
939
+ regex : "'|$",
940
+ next: "pop"
941
+ }, {
942
+ include : "escapes"
943
+ }, {
944
+ token : "constant.language.escape",
945
+ regex : /\\$/,
946
+ consumeLineEnd: true
947
+ }, {
948
+ defaultToken: "string"
949
+ }]
950
+ }, {
951
+ token : "string.start",
952
+ regex : '"',
953
+ push : [{
954
+ token : "string.end",
955
+ regex : '"|$',
956
+ next: "pop"
957
+ }, {
958
+ include : "escapes"
959
+ }, {
960
+ token : "constant.language.escape",
961
+ regex : /\\$/,
962
+ consumeLineEnd: true
963
+ }, {
964
+ defaultToken: "string"
965
+ }]
966
+ }],
967
+ escapes: [{
968
+ token : "constant.language.escape",
969
+ regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
916
970
  }]
971
+
917
972
  };
918
973
 
919
974
  this.normalizeRules();
@@ -1265,15 +1320,11 @@ var XmlHighlightRules = function(normalize) {
1265
1320
  this.$rules = {
1266
1321
  start : [
1267
1322
  {token : "string.cdata.xml", regex : "<\\!\\[CDATA\\[", next : "cdata"},
1268
- {
1269
- token : ["punctuation.xml-decl.xml", "keyword.xml-decl.xml"],
1270
- regex : "(<\\?)(xml)(?=[\\s])", next : "xml_decl", caseInsensitive: true
1271
- },
1272
1323
  {
1273
1324
  token : ["punctuation.instruction.xml", "keyword.instruction.xml"],
1274
1325
  regex : "(<\\?)(" + tagRegex + ")", next : "processing_instruction"
1275
1326
  },
1276
- {token : "comment.xml", regex : "<\\!--", next : "comment"},
1327
+ {token : "comment.start.xml", regex : "<\\!--", next : "comment"},
1277
1328
  {
1278
1329
  token : ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
1279
1330
  regex : "(<\\!)(DOCTYPE)(?=[\\s])", next : "doctype", caseInsensitive: true
@@ -1285,9 +1336,9 @@ var XmlHighlightRules = function(normalize) {
1285
1336
  {defaultToken : "text.xml"}
1286
1337
  ],
1287
1338
 
1288
- xml_decl : [{
1339
+ processing_instruction : [{
1289
1340
  token : "entity.other.attribute-name.decl-attribute-name.xml",
1290
- regex : "(?:" + tagRegex + ":)?" + tagRegex + ""
1341
+ regex : tagRegex
1291
1342
  }, {
1292
1343
  token : "keyword.operator.decl-attribute-equals.xml",
1293
1344
  regex : "="
@@ -1301,11 +1352,6 @@ var XmlHighlightRules = function(normalize) {
1301
1352
  next : "start"
1302
1353
  }],
1303
1354
 
1304
- processing_instruction : [
1305
- {token : "punctuation.instruction.xml", regex : "\\?>", next : "start"},
1306
- {defaultToken : "instruction.xml"}
1307
- ],
1308
-
1309
1355
  doctype : [
1310
1356
  {include : "whitespace"},
1311
1357
  {include : "string"},
@@ -1343,7 +1389,7 @@ var XmlHighlightRules = function(normalize) {
1343
1389
  ],
1344
1390
 
1345
1391
  comment : [
1346
- {token : "comment.xml", regex : "-->", next : "start"},
1392
+ {token : "comment.end.xml", regex : "-->", next : "start"},
1347
1393
  {defaultToken : "comment.xml"}
1348
1394
  ],
1349
1395
 
@@ -1390,7 +1436,7 @@ var XmlHighlightRules = function(normalize) {
1390
1436
 
1391
1437
  attributes: [{
1392
1438
  token : "entity.other.attribute-name.xml",
1393
- regex : "(?:" + tagRegex + ":)?" + tagRegex + ""
1439
+ regex : tagRegex
1394
1440
  }, {
1395
1441
  token : "keyword.operator.attribute-equals.xml",
1396
1442
  regex : "="
@@ -1805,7 +1851,7 @@ function is(token, type) {
1805
1851
  var tag = this._getFirstTagInLine(session, row);
1806
1852
 
1807
1853
  if (!tag)
1808
- return "";
1854
+ return this.getCommentFoldWidget(session, row);
1809
1855
 
1810
1856
  if (tag.closing || (!tag.tagName && tag.selfClosing))
1811
1857
  return foldStyle == "markbeginend" ? "end" : "";
@@ -1818,6 +1864,12 @@ function is(token, type) {
1818
1864
 
1819
1865
  return "start";
1820
1866
  };
1867
+
1868
+ this.getCommentFoldWidget = function(session, row) {
1869
+ if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))
1870
+ return "start";
1871
+ return "";
1872
+ }
1821
1873
  this._getFirstTagInLine = function(session, row) {
1822
1874
  var tokens = session.getTokens(row);
1823
1875
  var tag = new Tag();
@@ -1936,8 +1988,10 @@ function is(token, type) {
1936
1988
  this.getFoldWidgetRange = function(session, foldStyle, row) {
1937
1989
  var firstTag = this._getFirstTagInLine(session, row);
1938
1990
 
1939
- if (!firstTag)
1940
- return null;
1991
+ if (!firstTag) {
1992
+ return this.getCommentFoldWidget(session, row)
1993
+ && session.getCommentFoldRange(row, session.getLine(row).length);
1994
+ }
1941
1995
 
1942
1996
  var isBackward = firstTag.closing || firstTag.selfClosing;
1943
1997
  var stack = [];
File without changes
@@ -173,11 +173,10 @@ var c_cppHighlightRules = function() {
173
173
  "comment" : [
174
174
  {
175
175
  token : "comment", // closing comment
176
- regex : ".*?\\*\\/",
176
+ regex : "\\*\\/",
177
177
  next : "start"
178
178
  }, {
179
- token : "comment", // comment spanning whole line
180
- regex : ".+"
179
+ defaultToken : "comment"
181
180
  }
182
181
  ],
183
182
  "singleLineComment" : [
@@ -513,8 +512,7 @@ var DartHighlightRules = function() {
513
512
  }, "identifier");
514
513
 
515
514
  var stringfill = {
516
- token : "string",
517
- regex : ".+"
515
+ defaultToken : "string"
518
516
  };
519
517
 
520
518
  this.$rules =
@@ -622,11 +620,10 @@ var DartHighlightRules = function() {
622
620
  "comment" : [
623
621
  {
624
622
  token : "comment", // closing comment
625
- regex : ".*?\\*\\/",
623
+ regex : "\\*\\/",
626
624
  next : "start"
627
625
  }, {
628
- token : "comment", // comment spanning whole line
629
- regex : ".+"
626
+ defaultToken : "comment"
630
627
  }
631
628
  ],
632
629
  "qdoc" : [
@@ -106,11 +106,11 @@ var JavaScriptHighlightRules = function(options) {
106
106
  regex : '"(?=.)',
107
107
  next : "qqstring"
108
108
  }, {
109
- token : "constant.numeric", // hex
110
- regex : /0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/
109
+ token : "constant.numeric", // hexadecimal, octal and binary
110
+ regex : /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
111
111
  }, {
112
- token : "constant.numeric", // float
113
- regex : /[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/
112
+ token : "constant.numeric", // decimal integers and floats
113
+ regex : /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
114
114
  }, {
115
115
  token : [
116
116
  "storage.type", "punctuation.operator", "support.function",
@@ -159,6 +159,9 @@ var JavaScriptHighlightRules = function(options) {
159
159
  ],
160
160
  regex : "(:)(\\s*)(function)(\\s*)(\\()",
161
161
  next: "function_arguments"
162
+ }, {
163
+ token : "keyword",
164
+ regex : "from(?=\\s*('|\"))"
162
165
  }, {
163
166
  token : "keyword",
164
167
  regex : "(?:" + kwBeforeRe + ")\\b",
@@ -176,6 +179,9 @@ var JavaScriptHighlightRules = function(options) {
176
179
  token : "punctuation.operator",
177
180
  regex : /[.](?![.])/,
178
181
  next : "property"
182
+ }, {
183
+ token : "storage.type",
184
+ regex : /=>/
179
185
  }, {
180
186
  token : "keyword.operator",
181
187
  regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
@@ -316,7 +322,7 @@ var JavaScriptHighlightRules = function(options) {
316
322
  }, {
317
323
  token : "string",
318
324
  regex : "\\\\$",
319
- next : "qqstring"
325
+ consumeLineEnd : true
320
326
  }, {
321
327
  token : "string",
322
328
  regex : '"|$',
@@ -332,7 +338,7 @@ var JavaScriptHighlightRules = function(options) {
332
338
  }, {
333
339
  token : "string",
334
340
  regex : "\\\\$",
335
- next : "qstring"
341
+ consumeLineEnd : true
336
342
  }, {
337
343
  token : "string",
338
344
  regex : "'|$",
@@ -342,8 +348,8 @@ var JavaScriptHighlightRules = function(options) {
342
348
  }
343
349
  ]
344
350
  };
345
-
346
-
351
+
352
+
347
353
  if (!options || !options.noES6) {
348
354
  this.$rules.no_regex.unshift({
349
355
  regex: "[{}]", onMatch: function(val, state, stack) {
@@ -378,14 +384,14 @@ var JavaScriptHighlightRules = function(options) {
378
384
  defaultToken: "string.quasi"
379
385
  }]
380
386
  });
381
-
387
+
382
388
  if (!options || options.jsx != false)
383
389
  JSX.call(this);
384
390
  }
385
-
391
+
386
392
  this.embedRules(DocCommentHighlightRules, "doc-",
387
393
  [ DocCommentHighlightRules.getEndRule("no_regex") ]);
388
-
394
+
389
395
  this.normalizeRules();
390
396
  };
391
397
 
@@ -436,8 +442,8 @@ function JSX() {
436
442
  {defaultToken: "string"}
437
443
  ];
438
444
  this.$rules.jsxAttributes = [{
439
- token : "meta.tag.punctuation.tag-close.xml",
440
- regex : "/?>",
445
+ token : "meta.tag.punctuation.tag-close.xml",
446
+ regex : "/?>",
441
447
  onMatch : function(value, currentState, stack) {
442
448
  if (currentState == stack[0])
443
449
  stack.shift();
@@ -452,7 +458,7 @@ function JSX() {
452
458
  return [{type: this.token, value: value}];
453
459
  },
454
460
  nextState: "jsx"
455
- },
461
+ },
456
462
  jsxJsRule,
457
463
  comments("jsxAttributes"),
458
464
  {
@@ -719,6 +725,7 @@ oop.inherits(Mode, TextMode);
719
725
 
720
726
  this.lineCommentStart = "//";
721
727
  this.blockComment = {start: "/*", end: "*/"};
728
+ this.$quotes = {'"': '"', "'": "'", "`": "`"};
722
729
 
723
730
  this.getNextLineIndent = function(state, line, tab) {
724
731
  var indent = this.$getIndent(line);
@@ -790,10 +797,10 @@ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
790
797
  var supportType = exports.supportType = "align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index";
791
798
  var supportFunction = exports.supportFunction = "rgb|rgba|url|attr|counter|counters";
792
799
  var supportConstant = exports.supportConstant = "absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero";
793
- var supportConstantColor = exports.supportConstantColor = "aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow";
800
+ var supportConstantColor = exports.supportConstantColor = "aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen";
794
801
  var supportConstantFonts = exports.supportConstantFonts = "arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace";
795
802
 
796
- var numRe = exports.numRe = "\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";
803
+ var numRe = exports.numRe = "\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))";
797
804
  var pseudoElements = exports.pseudoElements = "(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b";
798
805
  var pseudoClasses = exports.pseudoClasses = "(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b";
799
806
 
@@ -809,84 +816,82 @@ var CssHighlightRules = function() {
809
816
 
810
817
  this.$rules = {
811
818
  "start" : [{
812
- token : "comment", // multi line comment
813
- regex : "\\/\\*",
814
- push : "comment"
819
+ include : ["strings", "url", "comments"]
815
820
  }, {
816
821
  token: "paren.lparen",
817
822
  regex: "\\{",
818
- push: "ruleset"
823
+ next: "ruleset"
824
+ }, {
825
+ token: "paren.rparen",
826
+ regex: "\\}"
819
827
  }, {
820
828
  token: "string",
821
- regex: "@.*?{",
822
- push: "media"
829
+ regex: "@",
830
+ next: "media"
823
831
  }, {
824
832
  token: "keyword",
825
833
  regex: "#[a-z0-9-_]+"
834
+ }, {
835
+ token: "keyword",
836
+ regex: "%"
826
837
  }, {
827
838
  token: "variable",
828
839
  regex: "\\.[a-z0-9-_]+"
829
840
  }, {
830
841
  token: "string",
831
842
  regex: ":[a-z0-9-_]+"
843
+ }, {
844
+ token : "constant.numeric",
845
+ regex : numRe
832
846
  }, {
833
847
  token: "constant",
834
848
  regex: "[a-z0-9-_]+"
835
849
  }, {
836
850
  caseInsensitive: true
837
851
  }],
838
-
839
- "media" : [{
840
- token : "comment", // multi line comment
841
- regex : "\\/\\*",
842
- push : "comment"
852
+
853
+ "media": [{
854
+ include : ["strings", "url", "comments"]
843
855
  }, {
844
856
  token: "paren.lparen",
845
857
  regex: "\\{",
846
- push: "ruleset"
858
+ next: "start"
847
859
  }, {
848
- token: "string",
860
+ token: "paren.rparen",
849
861
  regex: "\\}",
850
- next: "pop"
851
- }, {
852
- token: "keyword",
853
- regex: "#[a-z0-9-_]+"
854
- }, {
855
- token: "variable",
856
- regex: "\\.[a-z0-9-_]+"
862
+ next: "start"
857
863
  }, {
858
864
  token: "string",
859
- regex: ":[a-z0-9-_]+"
865
+ regex: ";",
866
+ next: "start"
860
867
  }, {
861
- token: "constant",
862
- regex: "[a-z0-9-_]+"
863
- }, {
864
- caseInsensitive: true
868
+ token: "keyword",
869
+ regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
870
+ + "|page|font|keyframes|viewport|counter-style|font-feature-values"
871
+ + "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
865
872
  }],
866
873
 
867
- "comment" : [{
868
- token : "comment",
869
- regex : "\\*\\/",
870
- next : "pop"
871
- }, {
872
- defaultToken : "comment"
874
+ "comments" : [{
875
+ token: "comment", // multi line comment
876
+ regex: "\\/\\*",
877
+ push: [{
878
+ token : "comment",
879
+ regex : "\\*\\/",
880
+ next : "pop"
881
+ }, {
882
+ defaultToken : "comment"
883
+ }]
873
884
  }],
874
885
 
875
- "ruleset" : [
876
- {
886
+ "ruleset" : [{
887
+ regex : "-(webkit|ms|moz|o)-",
888
+ token : "text"
889
+ }, {
877
890
  token : "paren.rparen",
878
891
  regex : "\\}",
879
- next: "pop"
880
- }, {
881
- token : "comment", // multi line comment
882
- regex : "\\/\\*",
883
- push : "comment"
884
- }, {
885
- token : "string", // single line
886
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
892
+ next : "start"
887
893
  }, {
888
- token : "string", // single line
889
- regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
894
+ include : ["strings", "url", "comments"]
890
895
  }, {
891
896
  token : ["constant.numeric", "keyword"],
892
897
  regex : "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"
@@ -906,14 +911,64 @@ var CssHighlightRules = function() {
906
911
  token : ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
907
912
  regex : pseudoClasses
908
913
  }, {
909
- token : ["support.function", "string", "support.function"],
910
- regex : "(url\\()(.*)(\\))"
914
+ include: "url"
911
915
  }, {
912
916
  token : keywordMapper,
913
917
  regex : "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
914
918
  }, {
915
919
  caseInsensitive: true
920
+ }],
921
+
922
+ url: [{
923
+ token : "support.function",
924
+ regex : "(?:url(:?-prefix)?|domain|regexp)\\(",
925
+ push: [{
926
+ token : "support.function",
927
+ regex : "\\)",
928
+ next : "pop"
929
+ }, {
930
+ defaultToken: "string"
931
+ }]
932
+ }],
933
+
934
+ strings: [{
935
+ token : "string.start",
936
+ regex : "'",
937
+ push : [{
938
+ token : "string.end",
939
+ regex : "'|$",
940
+ next: "pop"
941
+ }, {
942
+ include : "escapes"
943
+ }, {
944
+ token : "constant.language.escape",
945
+ regex : /\\$/,
946
+ consumeLineEnd: true
947
+ }, {
948
+ defaultToken: "string"
949
+ }]
950
+ }, {
951
+ token : "string.start",
952
+ regex : '"',
953
+ push : [{
954
+ token : "string.end",
955
+ regex : '"|$',
956
+ next: "pop"
957
+ }, {
958
+ include : "escapes"
959
+ }, {
960
+ token : "constant.language.escape",
961
+ regex : /\\$/,
962
+ consumeLineEnd: true
963
+ }, {
964
+ defaultToken: "string"
965
+ }]
966
+ }],
967
+ escapes: [{
968
+ token : "constant.language.escape",
969
+ regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
916
970
  }]
971
+
917
972
  };
918
973
 
919
974
  this.normalizeRules();
@@ -1265,15 +1320,11 @@ var XmlHighlightRules = function(normalize) {
1265
1320
  this.$rules = {
1266
1321
  start : [
1267
1322
  {token : "string.cdata.xml", regex : "<\\!\\[CDATA\\[", next : "cdata"},
1268
- {
1269
- token : ["punctuation.xml-decl.xml", "keyword.xml-decl.xml"],
1270
- regex : "(<\\?)(xml)(?=[\\s])", next : "xml_decl", caseInsensitive: true
1271
- },
1272
1323
  {
1273
1324
  token : ["punctuation.instruction.xml", "keyword.instruction.xml"],
1274
1325
  regex : "(<\\?)(" + tagRegex + ")", next : "processing_instruction"
1275
1326
  },
1276
- {token : "comment.xml", regex : "<\\!--", next : "comment"},
1327
+ {token : "comment.start.xml", regex : "<\\!--", next : "comment"},
1277
1328
  {
1278
1329
  token : ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
1279
1330
  regex : "(<\\!)(DOCTYPE)(?=[\\s])", next : "doctype", caseInsensitive: true
@@ -1285,9 +1336,9 @@ var XmlHighlightRules = function(normalize) {
1285
1336
  {defaultToken : "text.xml"}
1286
1337
  ],
1287
1338
 
1288
- xml_decl : [{
1339
+ processing_instruction : [{
1289
1340
  token : "entity.other.attribute-name.decl-attribute-name.xml",
1290
- regex : "(?:" + tagRegex + ":)?" + tagRegex + ""
1341
+ regex : tagRegex
1291
1342
  }, {
1292
1343
  token : "keyword.operator.decl-attribute-equals.xml",
1293
1344
  regex : "="
@@ -1301,11 +1352,6 @@ var XmlHighlightRules = function(normalize) {
1301
1352
  next : "start"
1302
1353
  }],
1303
1354
 
1304
- processing_instruction : [
1305
- {token : "punctuation.instruction.xml", regex : "\\?>", next : "start"},
1306
- {defaultToken : "instruction.xml"}
1307
- ],
1308
-
1309
1355
  doctype : [
1310
1356
  {include : "whitespace"},
1311
1357
  {include : "string"},
@@ -1343,7 +1389,7 @@ var XmlHighlightRules = function(normalize) {
1343
1389
  ],
1344
1390
 
1345
1391
  comment : [
1346
- {token : "comment.xml", regex : "-->", next : "start"},
1392
+ {token : "comment.end.xml", regex : "-->", next : "start"},
1347
1393
  {defaultToken : "comment.xml"}
1348
1394
  ],
1349
1395
 
@@ -1390,7 +1436,7 @@ var XmlHighlightRules = function(normalize) {
1390
1436
 
1391
1437
  attributes: [{
1392
1438
  token : "entity.other.attribute-name.xml",
1393
- regex : "(?:" + tagRegex + ":)?" + tagRegex + ""
1439
+ regex : tagRegex
1394
1440
  }, {
1395
1441
  token : "keyword.operator.attribute-equals.xml",
1396
1442
  regex : "="
@@ -1805,7 +1851,7 @@ function is(token, type) {
1805
1851
  var tag = this._getFirstTagInLine(session, row);
1806
1852
 
1807
1853
  if (!tag)
1808
- return "";
1854
+ return this.getCommentFoldWidget(session, row);
1809
1855
 
1810
1856
  if (tag.closing || (!tag.tagName && tag.selfClosing))
1811
1857
  return foldStyle == "markbeginend" ? "end" : "";
@@ -1818,6 +1864,12 @@ function is(token, type) {
1818
1864
 
1819
1865
  return "start";
1820
1866
  };
1867
+
1868
+ this.getCommentFoldWidget = function(session, row) {
1869
+ if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))
1870
+ return "start";
1871
+ return "";
1872
+ }
1821
1873
  this._getFirstTagInLine = function(session, row) {
1822
1874
  var tokens = session.getTokens(row);
1823
1875
  var tag = new Tag();
@@ -1936,8 +1988,10 @@ function is(token, type) {
1936
1988
  this.getFoldWidgetRange = function(session, foldStyle, row) {
1937
1989
  var firstTag = this._getFirstTagInLine(session, row);
1938
1990
 
1939
- if (!firstTag)
1940
- return null;
1991
+ if (!firstTag) {
1992
+ return this.getCommentFoldWidget(session, row)
1993
+ && session.getCommentFoldRange(row, session.getLine(row).length);
1994
+ }
1941
1995
 
1942
1996
  var isBackward = firstTag.closing || firstTag.selfClosing;
1943
1997
  var stack = [];
@@ -2447,11 +2501,6 @@ var DjangoHighlightRules = function(){
2447
2501
  token: "variable",
2448
2502
  regex: "[-_a-zA-Z0-9:]+"
2449
2503
  }],
2450
- 'comment': [{
2451
- token : "comment.block",
2452
- merge: true,
2453
- regex : ".+?"
2454
- }],
2455
2504
  'tag': [{
2456
2505
  token: "entity.name.function",
2457
2506
  regex: "[a-zA-Z][_a-zA-Z0-9]*",