ver 2010.02 → 2010.08

Sign up to get free protection for your applications and to get access to all the features.
Files changed (651) hide show
  1. data/.gitignore +1 -0
  2. data/.yardopts +1 -1
  3. data/AUTHORS +2 -2
  4. data/CHANGELOG +1160 -0
  5. data/MANIFEST +212 -62
  6. data/README.textile +68 -9
  7. data/Rakefile +2 -2
  8. data/bin/ver +33 -8
  9. data/config/commands/ANTLR.rb +11 -0
  10. data/config/commands/ActionScript.rb +102 -0
  11. data/config/commands/Active4D.rb +30 -0
  12. data/config/commands/Ada.rb +11 -0
  13. data/config/commands/Ant.rb +90 -0
  14. data/config/commands/Apache.rb +98 -0
  15. data/config/commands/AppleScript.rb +169 -0
  16. data/config/commands/Blogging.rb +72 -0
  17. data/config/commands/Bulletin Board.rb +10 -0
  18. data/config/commands/Bundle Development.rb +83 -0
  19. data/config/commands/C++ Qt.rb +158 -0
  20. data/config/commands/C.rb +82 -0
  21. data/config/commands/CMake.rb +32 -0
  22. data/config/commands/CSS.rb +76 -0
  23. data/config/commands/CTags.rb +29 -0
  24. data/config/commands/CVS.rb +114 -0
  25. data/config/commands/CoffeeScript.rb +58 -0
  26. data/config/commands/Context Free.rb +20 -0
  27. data/config/commands/Cucumber.rb +94 -0
  28. data/config/commands/D.rb +47 -0
  29. data/config/commands/Darcs.rb +72 -0
  30. data/config/commands/Diff.rb +76 -0
  31. data/config/commands/Doxygen.rb +9 -0
  32. data/config/commands/Experimental Wiki.rb +9 -0
  33. data/config/commands/Experimental.rb +172 -0
  34. data/config/commands/F-Script.rb +13 -0
  35. data/config/commands/FXScript.rb +11 -0
  36. data/config/commands/FileMerge.rb +42 -0
  37. data/config/commands/Fortran.rb +58 -0
  38. data/config/commands/GTD2.rb +134 -0
  39. data/config/commands/GTDAlt.rb +225 -0
  40. data/config/commands/GetBundle.rb +41 -0
  41. data/config/commands/Go.rb +29 -0
  42. data/config/commands/Graphviz.rb +11 -0
  43. data/config/commands/Greasemonkey.rb +158 -0
  44. data/config/commands/Gri.rb +11 -0
  45. data/config/commands/Groovy Grails.rb +174 -0
  46. data/config/commands/Groovy.rb +66 -0
  47. data/config/commands/HTML.rb +206 -0
  48. data/config/commands/Haskell.rb +48 -0
  49. data/config/commands/Hotkey.rb +50 -0
  50. data/config/commands/Hyperlink Helper.rb +81 -0
  51. data/config/commands/ImageBrowser.rb +10 -0
  52. data/config/commands/Io.rb +11 -0
  53. data/config/commands/JSFL.rb +29 -0
  54. data/config/commands/JSON.rb +11 -0
  55. data/config/commands/Java.rb +45 -0
  56. data/config/commands/JavaDoc.rb +12 -0
  57. data/config/commands/JavaScript Prototype & Script.aculo.us.rb +51 -0
  58. data/config/commands/JavaScript YUI.rb +12 -0
  59. data/config/commands/JavaScript jQuery.rb +12 -0
  60. data/config/commands/JavaScript.rb +50 -0
  61. data/config/commands/LaTeX.rb +423 -0
  62. data/config/commands/Lisp.rb +20 -0
  63. data/config/commands/Logo.rb +10 -0
  64. data/config/commands/Logtalk.rb +34 -0
  65. data/config/commands/Lua.rb +29 -0
  66. data/config/commands/MEL.rb +20 -0
  67. data/config/commands/Mail.rb +73 -0
  68. data/config/commands/Make.rb +20 -0
  69. data/config/commands/Man Pages.rb +20 -0
  70. data/config/commands/Markdown.rb +194 -0
  71. data/config/commands/Math.rb +79 -0
  72. data/config/commands/Matlab.rb +188 -0
  73. data/config/commands/Maven.rb +162 -0
  74. data/config/commands/Mediawiki.rb +12 -0
  75. data/config/commands/Mercurial.rb +185 -0
  76. data/config/commands/MoinMoin.rb +74 -0
  77. data/config/commands/Movable Type.rb +68 -0
  78. data/config/commands/Nemerle.rb +29 -0
  79. data/config/commands/OCaml Experimental Completions.rb +22 -0
  80. data/config/commands/OCaml.rb +99 -0
  81. data/config/commands/Objective-C.rb +181 -0
  82. data/config/commands/Outlines.rb +54 -0
  83. data/config/commands/PHP Smarty.rb +10 -0
  84. data/config/commands/Pascal.rb +11 -0
  85. data/config/commands/Perforce.rb +102 -0
  86. data/config/commands/Perl.rb +78 -0
  87. data/config/commands/Processing.rb +11 -0
  88. data/config/commands/Prolog.rb +11 -0
  89. data/config/commands/Property List.rb +38 -0
  90. data/config/commands/Python Django.rb +11 -0
  91. data/config/commands/Python.rb +131 -0
  92. data/config/commands/R Console (R.app).rb +80 -0
  93. data/config/commands/R Console (Rdaemon).rb +414 -0
  94. data/config/commands/R.rb +337 -0
  95. data/config/commands/Ragel.rb +10 -0
  96. data/config/commands/Regular Expressions.rb +18 -0
  97. data/config/commands/Remind.rb +44 -0
  98. data/config/commands/Ruby RSpec.rb +40 -0
  99. data/config/commands/Ruby on Rails.rb +331 -0
  100. data/config/commands/Ruby.rb +220 -0
  101. data/config/commands/S5 Slide Show.rb +37 -0
  102. data/config/commands/SCons.rb +24 -0
  103. data/config/commands/SQL.rb +60 -0
  104. data/config/commands/SVK.rb +83 -0
  105. data/config/commands/SWeave.rb +63 -0
  106. data/config/commands/Scheme.rb +30 -0
  107. data/config/commands/Scilab.rb +28 -0
  108. data/config/commands/Setext.rb +20 -0
  109. data/config/commands/Shell Script.rb +59 -0
  110. data/config/commands/Slate.rb +9 -0
  111. data/config/commands/Source.rb +84 -0
  112. data/config/commands/Standard ML.rb +38 -0
  113. data/config/commands/Subversion.rb +181 -0
  114. data/config/commands/TODO.rb +32 -0
  115. data/config/commands/Tcl.rb +21 -0
  116. data/config/commands/TerminalMate.rb +30 -0
  117. data/config/commands/Text.rb +137 -0
  118. data/config/commands/TextMate.rb +100 -0
  119. data/config/commands/Textile.rb +58 -0
  120. data/config/commands/Thrift.rb +20 -0
  121. data/config/commands/Transmit.rb +34 -0
  122. data/config/commands/Txt2tags.rb +213 -0
  123. data/config/commands/Vectorscript.rb +19 -0
  124. data/config/commands/Widget Creator.rb +23 -0
  125. data/config/commands/XML.rb +29 -0
  126. data/config/commands/Xcode.rb +106 -0
  127. data/config/commands/YAML.rb +39 -0
  128. data/config/commands/YARD.rb +12 -0
  129. data/config/commands/iTerm.rb +26 -0
  130. data/config/commands/reStructuredText.rb +126 -0
  131. data/config/detect.rb +13 -1
  132. data/config/keymap/diakonos.rb +113 -115
  133. data/config/keymap/emacs.rb +6 -2
  134. data/config/keymap/nano.rb +104 -112
  135. data/config/keymap/vim.rb +329 -258
  136. data/config/plugin/autosave.rb +3 -6
  137. data/config/plugin/git.rb +18 -12
  138. data/config/plugin/soma.rb +1 -1
  139. data/config/preferences/Apache.rb +17 -17
  140. data/config/preferences/AppleScript.rb +5 -5
  141. data/config/preferences/Bundle Development.rb +10 -10
  142. data/config/preferences/C.rb +38 -30
  143. data/config/preferences/CoffeeScript.rb +28 -0
  144. data/config/preferences/ColdFusion.rb +6 -6
  145. data/config/preferences/Cucumber.rb +40 -0
  146. data/config/preferences/Diff.rb +4 -4
  147. data/config/preferences/Eiffel.rb +6 -6
  148. data/config/preferences/Erlang.rb +16 -16
  149. data/config/preferences/F-Script.rb +12 -12
  150. data/config/preferences/FXScript.rb +5 -5
  151. data/config/preferences/Fortran.rb +17 -17
  152. data/config/preferences/Go.rb +23 -0
  153. data/config/preferences/Groovy.rb +29 -0
  154. data/config/preferences/HTML.rb +44 -44
  155. data/config/preferences/Haskell.rb +14 -14
  156. data/config/preferences/Io.rb +11 -11
  157. data/config/preferences/Java.rb +8 -8
  158. data/config/preferences/LaTeX.rb +24 -24
  159. data/config/preferences/Logo.rb +6 -6
  160. data/config/preferences/Logtalk.rb +5 -5
  161. data/config/preferences/Markdown.rb +43 -0
  162. data/config/preferences/Maven.rb +42 -42
  163. data/config/preferences/Mediawiki.rb +8 -8
  164. data/config/preferences/Movable Type.rb +14 -14
  165. data/config/preferences/OCaml.rb +15 -15
  166. data/config/preferences/Objective-C.rb +5 -5
  167. data/config/preferences/PHP.rb +2564 -0
  168. data/config/preferences/Property List.rb +8 -8
  169. data/config/preferences/R.rb +5 -5
  170. data/config/preferences/Ruby.rb +24 -24
  171. data/config/preferences/Source.rb +13 -13
  172. data/config/preferences/Standard ML.rb +9 -9
  173. data/config/preferences/Tcl.rb +5 -5
  174. data/config/preferences/Text.rb +14 -14
  175. data/config/preferences/TextMate.rb +5 -5
  176. data/config/preferences/Textile.rb +8 -8
  177. data/config/preferences/YARD.rb +9 -0
  178. data/config/preferences/iTerm.rb +9 -9
  179. data/config/rc.rb +5 -2
  180. data/config/snippets/ASP vb.NET.rb +203 -54
  181. data/config/snippets/ASP.rb +51 -36
  182. data/config/snippets/ActionScript.rb +332 -205
  183. data/config/snippets/Active4D.rb +325 -256
  184. data/config/snippets/Ada.rb +106 -60
  185. data/config/snippets/Ant.rb +7 -5
  186. data/config/snippets/Apache.rb +24 -20
  187. data/config/snippets/AppleScript.rb +213 -82
  188. data/config/snippets/Blogging.rb +41 -18
  189. data/config/snippets/Bulletin Board.rb +56 -21
  190. data/config/snippets/Bundle Development.rb +108 -63
  191. data/config/snippets/C++ Qt.rb +72 -57
  192. data/config/snippets/C.rb +128 -100
  193. data/config/snippets/CMake.rb +42 -32
  194. data/config/snippets/CSS.rb +515 -115
  195. data/config/snippets/CoffeeScript.rb +85 -0
  196. data/config/snippets/ColdFusion.rb +2228 -1547
  197. data/config/snippets/Context Free.rb +35 -28
  198. data/config/snippets/Cucumber.rb +55 -0
  199. data/config/snippets/D.rb +164 -111
  200. data/config/snippets/DokuWiki.rb +103 -54
  201. data/config/snippets/Doxygen.rb +87 -40
  202. data/config/snippets/Eiffel.rb +121 -18
  203. data/config/snippets/Erlang.rb +109 -68
  204. data/config/snippets/F-Script.rb +30 -24
  205. data/config/snippets/FXScript.rb +364 -210
  206. data/config/snippets/Fortran.rb +462 -280
  207. data/config/snippets/GTDAlt.rb +10 -4
  208. data/config/snippets/Gettext.rb +10 -8
  209. data/config/snippets/Go.rb +52 -0
  210. data/config/snippets/Greasemonkey.rb +52 -42
  211. data/config/snippets/Gri.rb +12 -10
  212. data/config/snippets/Groovy Grails.rb +313 -0
  213. data/config/snippets/Groovy.rb +685 -0
  214. data/config/snippets/HTML.rb +325 -126
  215. data/config/snippets/Haskell.rb +32 -24
  216. data/config/snippets/Io.rb +53 -42
  217. data/config/snippets/Java.rb +204 -92
  218. data/config/snippets/JavaDoc.rb +105 -56
  219. data/config/snippets/JavaScript MooTools.rb +208 -13
  220. data/config/snippets/JavaScript Objective-J.rb +18 -15
  221. data/config/snippets/JavaScript Prototype & Script.aculo.us.rb +362 -107
  222. data/config/snippets/JavaScript YUI.rb +1245 -186
  223. data/config/snippets/JavaScript jQuery.rb +693 -375
  224. data/config/snippets/JavaScript.rb +71 -53
  225. data/config/snippets/LaTeX.rb +188 -0
  226. data/config/snippets/Lisp.rb +59 -40
  227. data/config/snippets/Logo.rb +12 -6
  228. data/config/snippets/Logtalk.rb +131 -60
  229. data/config/snippets/Lua.rb +43 -33
  230. data/config/snippets/MIPS Assembler.rb +7 -5
  231. data/config/snippets/Mail.rb +10 -1
  232. data/config/snippets/Markdown.rb +7 -0
  233. data/config/snippets/Matlab.rb +232 -178
  234. data/config/snippets/Maven.rb +6 -5
  235. data/config/snippets/Mediawiki.rb +43 -12
  236. data/config/snippets/MoinMoin.rb +50 -10
  237. data/config/snippets/Movable Type.rb +368 -53
  238. data/config/snippets/Nemerle.rb +127 -79
  239. data/config/snippets/OCaml Code Completion Misc.rb +1716 -72
  240. data/config/snippets/OCaml Code Completion Unix.rb +2128 -203
  241. data/config/snippets/OCaml.rb +107 -73
  242. data/config/snippets/ODCompletion.rb +169 -118
  243. data/config/snippets/Objective-C.rb +281 -193
  244. data/config/snippets/PHP Smarty.rb +149 -79
  245. data/config/snippets/PHP.rb +186 -0
  246. data/config/snippets/Pascal.rb +47 -33
  247. data/config/snippets/Perl HTML-Template.rb +33 -0
  248. data/config/snippets/Perl Mason.rb +50 -30
  249. data/config/snippets/Perl Template Toolkit.rb +25 -20
  250. data/config/snippets/Perl.rb +91 -72
  251. data/config/snippets/Processing.rb +55 -33
  252. data/config/snippets/Propel.rb +36 -30
  253. data/config/snippets/Property List.rb +57 -24
  254. data/config/snippets/Python Django Templates.rb +381 -95
  255. data/config/snippets/Python Django.rb +159 -132
  256. data/config/snippets/Python.rb +88 -0
  257. data/config/snippets/R Console (Rdaemon).rb +11 -9
  258. data/config/snippets/R.rb +96 -77
  259. data/config/snippets/Remind.rb +18 -15
  260. data/config/snippets/Ruby RSpec.rb +343 -238
  261. data/config/snippets/Ruby on Rails.rb +1116 -765
  262. data/config/snippets/Ruby.rb +770 -545
  263. data/config/snippets/S5 Slide Show.rb +32 -24
  264. data/config/snippets/SSH Config.rb +21 -17
  265. data/config/snippets/SWIG.rb +30 -18
  266. data/config/snippets/Scilab.rb +98 -79
  267. data/config/snippets/Setext.rb +10 -8
  268. data/config/snippets/Shell Script.rb +52 -42
  269. data/config/snippets/Slate.rb +62 -48
  270. data/config/snippets/Source.rb +24 -1
  271. data/config/snippets/Standard ML.rb +37 -27
  272. data/config/snippets/Tcl.rb +32 -26
  273. data/config/snippets/Text.rb +28 -15
  274. data/config/snippets/Textile.rb +130 -45
  275. data/config/snippets/Thrift.rb +22 -18
  276. data/config/snippets/Twiki.rb +158 -105
  277. data/config/snippets/Txt2tags.rb +166 -79
  278. data/config/snippets/Vectorscript.rb +47 -38
  279. data/config/snippets/Widget Creator.rb +5 -5
  280. data/config/snippets/XML.rb +30 -18
  281. data/config/snippets/YAML.rb +5 -4
  282. data/config/snippets/YARD.rb +93 -0
  283. data/config/snippets/reStructuredText.rb +25 -20
  284. data/config/syntax/ANTLR.rb +17 -15
  285. data/config/syntax/ASP vb.NET.rb +27 -24
  286. data/config/syntax/ASP.rb +21 -19
  287. data/config/syntax/ActionScript.rb +16 -16
  288. data/config/syntax/Active4D Config.rb +5 -5
  289. data/config/syntax/Active4D Library.rb +2 -2
  290. data/config/syntax/Active4D.rb +32 -30
  291. data/config/syntax/Ada.rb +13 -10
  292. data/config/syntax/Ant.rb +9 -7
  293. data/config/syntax/Apache.rb +22 -18
  294. data/config/syntax/AppleScript.rb +486 -192
  295. data/config/syntax/AsciiDoc.rb +21 -0
  296. data/config/syntax/BibTeX.rb +7 -7
  297. data/config/syntax/Blog - HTML.rb +7 -7
  298. data/config/syntax/Blog - Markdown.rb +6 -6
  299. data/config/syntax/Blog - Text.rb +2 -2
  300. data/config/syntax/Blog - Textile.rb +2 -2
  301. data/config/syntax/Bulletin Board.rb +33 -32
  302. data/config/syntax/C++ Qt.rb +7 -6
  303. data/config/syntax/C++.rb +31 -28
  304. data/config/syntax/C.rb +55 -51
  305. data/config/syntax/CMake Listfile.rb +12 -11
  306. data/config/syntax/CSS.rb +24 -23
  307. data/config/syntax/CSV.rb +3 -3
  308. data/config/syntax/CoffeeScript.rb +161 -0
  309. data/config/syntax/ColdFusion.rb +8 -8
  310. data/config/syntax/Context Free.rb +18 -16
  311. data/config/syntax/Cucumber Steps.rb +108 -0
  312. data/config/syntax/D.rb +70 -69
  313. data/config/syntax/Diff.rb +13 -10
  314. data/config/syntax/DokuWiki.rb +22 -18
  315. data/config/syntax/Doxygen.rb +1 -1
  316. data/config/syntax/Dylan.rb +8 -8
  317. data/config/syntax/Eiffel.rb +12 -12
  318. data/config/syntax/Erlang.rb +96 -89
  319. data/config/syntax/F-Script.rb +11 -9
  320. data/config/syntax/FXScript.rb +16 -14
  321. data/config/syntax/Fortran - Modern.rb +25 -24
  322. data/config/syntax/Fortran - Punchcard.rb +43 -40
  323. data/config/syntax/GTD.rb +1 -1
  324. data/config/syntax/GTDalt.rb +14 -11
  325. data/config/syntax/Gettext.rb +10 -9
  326. data/config/syntax/Gherkin.rb +65 -0
  327. data/config/syntax/Go.rb +256 -0
  328. data/config/syntax/Grails Server Page.rb +108 -0
  329. data/config/syntax/Graphviz (DOT).rb +6 -6
  330. data/config/syntax/Greasemonkey.rb +3 -3
  331. data/config/syntax/Gri.rb +12 -12
  332. data/config/syntax/Groovy.rb +502 -0
  333. data/config/syntax/HTML (ASP).rb +3 -3
  334. data/config/syntax/HTML (ASP.net).rb +31 -31
  335. data/config/syntax/HTML (Active4D).rb +19 -19
  336. data/config/syntax/HTML (Django).rb +6 -6
  337. data/config/syntax/HTML (Erlang).rb +4 -4
  338. data/config/syntax/HTML (Mason).rb +13 -13
  339. data/config/syntax/HTML (Rails).rb +5 -5
  340. data/config/syntax/HTML (Tcl).rb +3 -3
  341. data/config/syntax/HTML (Template Toolkit).rb +9 -9
  342. data/config/syntax/HTML.rb +27 -27
  343. data/config/syntax/Haskell.rb +31 -28
  344. data/config/syntax/Inform.rb +5 -5
  345. data/config/syntax/Ini.rb +4 -4
  346. data/config/syntax/Installer Distribution Script.rb +19 -18
  347. data/config/syntax/Io.rb +17 -15
  348. data/config/syntax/JSFL.rb +7 -6
  349. data/config/syntax/Java Properties.rb +3 -3
  350. data/config/syntax/Java Server Page (JSP).rb +5 -4
  351. data/config/syntax/Java.rb +40 -33
  352. data/config/syntax/JavaDoc.rb +24 -22
  353. data/config/syntax/JavaScript (Rails).rb +1 -1
  354. data/config/syntax/JavaScript.rb +41 -34
  355. data/config/syntax/Javascript YUI.rb +109 -101
  356. data/config/syntax/LaTeX Beamer.rb +3 -3
  357. data/config/syntax/LaTeX Log.rb +3 -3
  358. data/config/syntax/LaTeX Memoir.rb +7 -5
  359. data/config/syntax/LaTeX Rdaemon.rb +1 -1
  360. data/config/syntax/LaTeX.rb +52 -47
  361. data/config/syntax/Language Grammar.rb +58 -55
  362. data/config/syntax/Lex-Flex.rb +13 -13
  363. data/config/syntax/Lighttpd.rb +7 -7
  364. data/config/syntax/Lisp.rb +6 -5
  365. data/config/syntax/Literate Haskell.rb +2 -2
  366. data/config/syntax/Logo.rb +4 -4
  367. data/config/syntax/Logtalk.rb +64 -49
  368. data/config/syntax/Lua.rb +12 -12
  369. data/config/syntax/MATLAB.rb +71 -70
  370. data/config/syntax/MEL.rb +16 -15
  371. data/config/syntax/MIPS Assembler.rb +11 -11
  372. data/config/syntax/MacPorts Portfile.rb +16 -15
  373. data/config/syntax/Mail.rb +5 -4
  374. data/config/syntax/Makefile.rb +3 -3
  375. data/config/syntax/Man.rb +2 -2
  376. data/config/syntax/Markdown.rb +440 -0
  377. data/config/syntax/Maven POM.rb +17 -16
  378. data/config/syntax/Mediawiki.rb +46 -46
  379. data/config/syntax/Modula-3.rb +7 -6
  380. data/config/syntax/MoinMoin.rb +16 -16
  381. data/config/syntax/MooTools.rb +75 -65
  382. data/config/syntax/Movable Type (MT only).rb +18 -18
  383. data/config/syntax/Movable Type.rb +20 -20
  384. data/config/syntax/MultiMarkdown.rb +35 -0
  385. data/config/syntax/Nemerle.rb +12 -12
  386. data/config/syntax/OCaml.rb +79 -71
  387. data/config/syntax/OCamllex.rb +14 -14
  388. data/config/syntax/OCamlyacc.rb +14 -12
  389. data/config/syntax/Objective-C++.rb +2 -2
  390. data/config/syntax/Objective-C.rb +76 -70
  391. data/config/syntax/Objective-J.rb +30 -29
  392. data/config/syntax/Octave.rb +27 -27
  393. data/config/syntax/OpenGL.rb +4 -4
  394. data/config/syntax/PHP.rb +1154 -0
  395. data/config/syntax/Pascal.rb +8 -8
  396. data/config/syntax/Perl HTML-Template.rb +5 -5
  397. data/config/syntax/Perl.rb +80 -76
  398. data/config/syntax/Plain Text.rb +5 -5
  399. data/config/syntax/Postscript.rb +6 -6
  400. data/config/syntax/Processing.rb +20 -20
  401. data/config/syntax/Prolog.rb +2 -2
  402. data/config/syntax/Property List.rb +50 -47
  403. data/config/syntax/Prototype & Script.aculo.us (JavaScript) Bracketed.rb +15 -13
  404. data/config/syntax/Prototype & Script.aculo.us (JavaScript).rb +9 -8
  405. data/config/syntax/Python Django.rb +6 -6
  406. data/config/syntax/Python.rb +94 -87
  407. data/config/syntax/Quake Style .cfg.rb +4 -4
  408. data/config/syntax/R Console (Rdaemon) Plain.rb +2 -2
  409. data/config/syntax/R Console (Rdaemon).rb +2 -2
  410. data/config/syntax/R.rb +21 -20
  411. data/config/syntax/RSpec.rb +15 -15
  412. data/config/syntax/Ragel.rb +14 -13
  413. data/config/syntax/Rd (R Documentation).rb +4 -4
  414. data/config/syntax/Regular Expressions (Oniguruma).rb +11 -10
  415. data/config/syntax/Regular Expressions (Python).rb +9 -9
  416. data/config/syntax/Release Notes.rb +7 -6
  417. data/config/syntax/Remind.rb +19 -17
  418. data/config/syntax/Rez.rb +10 -9
  419. data/config/syntax/Ruby Haml.rb +11 -11
  420. data/config/syntax/Ruby on Rails.rb +26 -24
  421. data/config/syntax/Ruby.rb +73 -71
  422. data/config/syntax/S5 Slide Show.rb +9 -9
  423. data/config/syntax/SQL.rb +29 -27
  424. data/config/syntax/SSH Config.rb +4 -4
  425. data/config/syntax/SWIG.rb +12 -11
  426. data/config/syntax/SWeave.rb +8 -7
  427. data/config/syntax/Scheme.rb +56 -54
  428. data/config/syntax/Scilab.rb +7 -6
  429. data/config/syntax/Setext.rb +14 -13
  430. data/config/syntax/Shell Script (Bash).rb +42 -42
  431. data/config/syntax/Slate.rb +24 -19
  432. data/config/syntax/Smarty.rb +11 -10
  433. data/config/syntax/Standard ML - CM.rb +2 -2
  434. data/config/syntax/Standard ML.rb +26 -23
  435. data/config/syntax/Strings File.rb +6 -6
  436. data/config/syntax/TSV.rb +2 -2
  437. data/config/syntax/Tcl.rb +10 -9
  438. data/config/syntax/TeX Math.rb +7 -6
  439. data/config/syntax/TeX.rb +7 -7
  440. data/config/syntax/Textile.rb +33 -27
  441. data/config/syntax/Thrift.rb +37 -29
  442. data/config/syntax/Twiki.rb +19 -18
  443. data/config/syntax/Txt2tags.rb +26 -23
  444. data/config/syntax/Vectorscript.rb +9 -7
  445. data/config/syntax/XML strict.rb +6 -4
  446. data/config/syntax/XML.rb +55 -30
  447. data/config/syntax/XSL.rb +5 -5
  448. data/config/syntax/YAML.rb +14 -12
  449. data/config/syntax/camlp4.rb +5 -5
  450. data/config/syntax/iCalendar.rb +3 -3
  451. data/config/syntax/jQuery (JavaScript).rb +9 -9
  452. data/config/syntax/mod_perl.rb +6 -6
  453. data/config/syntax/qmake Project file.rb +16 -15
  454. data/config/syntax/reStructuredText.rb +23 -21
  455. data/config/syntax/svn-commit.tmp.rb +5 -5
  456. data/lib/ver.rb +169 -85
  457. data/lib/ver/action.rb +39 -30
  458. data/lib/ver/buffer.rb +962 -144
  459. data/lib/ver/buffer/frame.rb +23 -0
  460. data/lib/ver/buffer/invalid_trailing_whitespace.rb +17 -0
  461. data/lib/ver/buffer/markup_underline_link.rb +30 -0
  462. data/lib/ver/buffer/matching_brace.rb +22 -0
  463. data/lib/ver/buffer/term.rb +1 -1
  464. data/lib/ver/clipboard.rb +107 -0
  465. data/lib/ver/digraphs.rb +1373 -0
  466. data/lib/ver/entry.rb +54 -43
  467. data/lib/ver/event.rb +335 -0
  468. data/lib/ver/exception_view.rb +3 -1
  469. data/lib/ver/executor.rb +7 -7
  470. data/lib/ver/executor/buffer.rb +4 -4
  471. data/lib/ver/executor/encoding.rb +19 -0
  472. data/lib/ver/executor/entry.rb +9 -9
  473. data/lib/ver/executor/fuzzy_file_finder.rb +1 -1
  474. data/lib/ver/executor/label.rb +2 -0
  475. data/lib/ver/executor/method.rb +2 -3
  476. data/lib/ver/help/describe_key.rb +44 -44
  477. data/lib/ver/hover_completion.rb +11 -6
  478. data/lib/ver/keymap.rb +68 -39
  479. data/lib/ver/layout/paned.rb +56 -44
  480. data/lib/ver/layout/toplevel.rb +68 -0
  481. data/lib/ver/layout/vim.rb +919 -0
  482. data/lib/ver/major_mode.rb +49 -49
  483. data/lib/ver/methods.rb +22 -25
  484. data/lib/ver/methods/basic.rb +49 -20
  485. data/lib/ver/methods/bookmark.rb +33 -33
  486. data/lib/ver/methods/clipboard.rb +186 -49
  487. data/lib/ver/methods/completion.rb +5 -5
  488. data/lib/ver/methods/control.rb +47 -66
  489. data/lib/ver/methods/delete.rb +5 -122
  490. data/lib/ver/methods/help.rb +2 -2
  491. data/lib/ver/methods/insert.rb +101 -29
  492. data/lib/ver/methods/layout.rb +62 -64
  493. data/lib/ver/methods/macro.rb +45 -0
  494. data/lib/ver/methods/move.rb +63 -349
  495. data/lib/ver/methods/nano.rb +99 -71
  496. data/lib/ver/methods/open.rb +8 -7
  497. data/lib/ver/methods/preview.rb +34 -14
  498. data/lib/ver/methods/save.rb +194 -163
  499. data/lib/ver/methods/search.rb +169 -81
  500. data/lib/ver/methods/search_and_replace.rb +62 -49
  501. data/lib/ver/methods/selection.rb +26 -54
  502. data/lib/ver/methods/snippet.rb +79 -54
  503. data/lib/ver/methods/undo.rb +12 -16
  504. data/lib/ver/minibuffer.rb +283 -134
  505. data/lib/ver/minor_mode.rb +36 -47
  506. data/lib/ver/mode_resolving.rb +71 -0
  507. data/lib/ver/platform.rb +41 -0
  508. data/lib/ver/plist.rb +16 -4
  509. data/lib/ver/register.rb +86 -0
  510. data/lib/ver/status.rb +44 -6
  511. data/lib/ver/status/battery.rb +1 -1
  512. data/lib/ver/status/buffer_position.rb +2 -2
  513. data/lib/ver/status/diakonos_position.rb +3 -3
  514. data/lib/ver/status/encoding.rb +1 -1
  515. data/lib/ver/status/filename.rb +1 -1
  516. data/lib/ver/status/label.rb +20 -20
  517. data/lib/ver/status/mode.rb +1 -1
  518. data/lib/ver/status/nano_help.rb +3 -14
  519. data/lib/ver/status/nano_position.rb +6 -6
  520. data/lib/ver/status/percent.rb +2 -2
  521. data/lib/ver/status/position.rb +2 -2
  522. data/lib/ver/status/short_filename.rb +1 -1
  523. data/lib/ver/status/syntax.rb +1 -1
  524. data/lib/ver/struct.rb +28 -0
  525. data/lib/ver/syntax/processor.rb +2 -1
  526. data/lib/ver/text.rb +48 -520
  527. data/lib/ver/text/end.rb +14 -0
  528. data/lib/ver/text/index.rb +16 -101
  529. data/lib/ver/text/insert.rb +138 -0
  530. data/lib/ver/text/mark.rb +559 -0
  531. data/lib/ver/text/position.rb +240 -0
  532. data/lib/ver/text/range.rb +74 -0
  533. data/lib/ver/text/selection.rb +402 -0
  534. data/lib/ver/text/selection/block.rb +69 -0
  535. data/lib/ver/text/selection/char.rb +93 -0
  536. data/lib/ver/text/selection/line.rb +64 -0
  537. data/lib/ver/text/tag.rb +322 -0
  538. data/lib/ver/undo.rb +109 -34
  539. data/lib/ver/vendor/eval_completer.rb +184 -0
  540. data/lib/ver/vendor/json_store.rb +23 -0
  541. data/lib/ver/vendor/open3.rb +729 -0
  542. data/lib/ver/vendor/pathname.rb +73 -0
  543. data/lib/ver/vendor/textpow.rb +1 -1
  544. data/lib/ver/version.rb +1 -1
  545. data/lib/ver/widget_event.rb +9 -5
  546. data/lib/ver/widget_major_mode.rb +69 -23
  547. data/spec/helper.rb +124 -8
  548. data/spec/ver/action.rb +160 -46
  549. data/spec/ver/buffer.rb +23 -0
  550. data/spec/ver/clipboard.rb +92 -0
  551. data/spec/ver/keymap.rb +63 -61
  552. data/spec/ver/keymap/diakonos.rb +88 -0
  553. data/spec/ver/keymap/emacs.rb +65 -0
  554. data/spec/ver/keymap/general.rb +98 -0
  555. data/spec/ver/keymap/nano.rb +84 -0
  556. data/spec/ver/keymap/vim.rb +205 -0
  557. data/spec/ver/keymap/vim/changing_text.rb +489 -0
  558. data/spec/ver/keymap/vim/complex_changes.rb +53 -0
  559. data/spec/ver/keymap/vim/copying_and_moving_text.rb +258 -0
  560. data/spec/ver/keymap/vim/deleting_text.rb +188 -0
  561. data/spec/ver/keymap/vim/digraphs.rb +52 -0
  562. data/spec/ver/keymap/vim/external_commands.rb +21 -0
  563. data/spec/ver/keymap/vim/inserting_mode_keys.rb +115 -0
  564. data/spec/ver/keymap/vim/inserting_mode_special.rb +168 -0
  565. data/spec/ver/keymap/vim/inserting_text.rb +108 -0
  566. data/spec/ver/keymap/vim/left_right_motion.rb +120 -0
  567. data/spec/ver/keymap/vim/mark_motion.rb +73 -0
  568. data/spec/ver/keymap/vim/repeating_commands.rb +64 -0
  569. data/spec/ver/keymap/vim/text_object_motion.rb +137 -0
  570. data/spec/ver/keymap/vim/text_objects.rb +101 -0
  571. data/spec/ver/keymap/vim/undo_redo.rb +21 -0
  572. data/spec/ver/keymap/vim/up_down_motion.rb +94 -0
  573. data/spec/ver/keymap/vim/various_motion.rb +33 -0
  574. data/spec/ver/keysyms.rb +13 -0
  575. data/spec/ver/major_mode.rb +37 -37
  576. data/spec/ver/minor_mode.rb +21 -20
  577. data/spec/ver/plugin/smart_autoindent.rb +2 -2
  578. data/spec/ver/text/index.rb +122 -0
  579. data/spec/ver/text/insert.rb +299 -0
  580. data/spec/ver/text/mark.rb +94 -0
  581. data/spec/ver/text/range.rb +71 -0
  582. data/spec/ver/text/selection.rb +315 -0
  583. data/spec/ver/text/tag.rb +93 -0
  584. data/spec/ver/undo.rb +133 -0
  585. data/spec/ver/undo/record_sanitize.rb +85 -0
  586. data/spec/ver/vendor/eval_completer.rb +91 -0
  587. data/spec/ver/widget_major_mode.rb +4 -3
  588. data/ver.gemspec +8 -8
  589. metadata +234 -72
  590. data/.todo +0 -102
  591. data/ROADMAP.textile +0 -187
  592. data/config/snippets/ANTLR.rb +0 -3
  593. data/config/snippets/Bison.rb +0 -3
  594. data/config/snippets/CTags.rb +0 -3
  595. data/config/snippets/CVS.rb +0 -3
  596. data/config/snippets/Darcs.rb +0 -3
  597. data/config/snippets/Diff.rb +0 -3
  598. data/config/snippets/Dylan.rb +0 -3
  599. data/config/snippets/Experimental Wiki.rb +0 -3
  600. data/config/snippets/Experimental.rb +0 -3
  601. data/config/snippets/FileMerge.rb +0 -3
  602. data/config/snippets/GTD2.rb +0 -3
  603. data/config/snippets/GetBundle.rb +0 -3
  604. data/config/snippets/Graphviz.rb +0 -3
  605. data/config/snippets/Hotkey.rb +0 -3
  606. data/config/snippets/Hyperlink Helper.rb +0 -3
  607. data/config/snippets/ImageBrowser.rb +0 -3
  608. data/config/snippets/Inform.rb +0 -3
  609. data/config/snippets/Ini.rb +0 -3
  610. data/config/snippets/Installer.rb +0 -3
  611. data/config/snippets/JSFL.rb +0 -3
  612. data/config/snippets/JSON.rb +0 -3
  613. data/config/snippets/Lex-Flex.rb +0 -3
  614. data/config/snippets/Lighttpd.rb +0 -3
  615. data/config/snippets/MEL.rb +0 -3
  616. data/config/snippets/MacPorts.rb +0 -3
  617. data/config/snippets/Make.rb +0 -3
  618. data/config/snippets/Man Pages.rb +0 -3
  619. data/config/snippets/Math.rb +0 -3
  620. data/config/snippets/Mercurial.rb +0 -3
  621. data/config/snippets/Modula.rb +0 -3
  622. data/config/snippets/Navigation.rb +0 -3
  623. data/config/snippets/OCaml Experimental Completions.rb +0 -3
  624. data/config/snippets/OpenGL.rb +0 -3
  625. data/config/snippets/Outlines.rb +0 -3
  626. data/config/snippets/Perforce.rb +0 -3
  627. data/config/snippets/Perl HTML::Template.rb +0 -27
  628. data/config/snippets/Postscript.rb +0 -3
  629. data/config/snippets/Prolog.rb +0 -3
  630. data/config/snippets/Quake.rb +0 -3
  631. data/config/snippets/R Console (R.app).rb +0 -3
  632. data/config/snippets/Ragel.rb +0 -3
  633. data/config/snippets/Regular Expressions.rb +0 -3
  634. data/config/snippets/Rez.rb +0 -3
  635. data/config/snippets/Ruby Haml.rb +0 -3
  636. data/config/snippets/SCons.rb +0 -3
  637. data/config/snippets/SQL.rb +0 -3
  638. data/config/snippets/SVK.rb +0 -3
  639. data/config/snippets/SWeave.rb +0 -3
  640. data/config/snippets/Scheme.rb +0 -3
  641. data/config/snippets/Subversion.rb +0 -3
  642. data/config/snippets/TODO.rb +0 -3
  643. data/config/snippets/Tabular.rb +0 -3
  644. data/config/snippets/TerminalMate.rb +0 -3
  645. data/config/snippets/TextMate.rb +0 -3
  646. data/config/snippets/Transmit.rb +0 -3
  647. data/config/snippets/Xcode.rb +0 -3
  648. data/config/snippets/iCalendar.rb +0 -3
  649. data/config/snippets/iTerm.rb +0 -3
  650. data/lib/ver/keysyms.rb +0 -104
  651. data/spec/ver/methods/move.rb +0 -150
@@ -0,0 +1,108 @@
1
+ # Encoding: UTF-8
2
+
3
+ {fileTypes: ["gsp"],
4
+ foldingStartMarker:
5
+ /(?x)
6
+ (?<_1><(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl|g:javascript)\b.*?>
7
+ |<!--(?!.*-->)
8
+ |\{\s*(?<_2>$|\?>\s*$|\/\/|\/\*(?<_3>.*\*\/\s*$|(?!.*?\*\/)))
9
+ )/,
10
+ foldingStopMarker:
11
+ /(?x)
12
+ (?<_1><\/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl|g:javascript)>
13
+ |^\s*-->
14
+ |(?<_2>^|\s)\}
15
+ )/,
16
+ keyEquivalent: "^~G",
17
+ name: "Grails Server Page",
18
+ patterns:
19
+ [{begin: /<%+(?!>)=?/,
20
+ beginCaptures: {0 => {name: "punctuation.section.embedded.begin.groovy"}},
21
+ end: "(%)>",
22
+ endCaptures:
23
+ {0 => {name: "punctuation.section.embedded.end.groovy"},
24
+ 1 => {name: "source.groovy"}},
25
+ name: "source.groovy",
26
+ patterns: [{include: "source.groovy"}]},
27
+ {include: "#embedded-groovy"},
28
+ {begin: /(?<_1>^\s*)?(?=<(?i:g:javascript))/,
29
+ beginCaptures: {0 => {name: "punctuation.whitespace.embedded.leading.js"}},
30
+ contentName: "source.js",
31
+ end: "(?<=>)(?!<(?i:g:javascript))(\\s*\\n)?",
32
+ endCaptures: {0 => {name: "punctuation.whitespace.embedded.trailing.js"}},
33
+ patterns:
34
+ [{begin: /(?<_1><)(?<_2>(?i:g:javascript))/,
35
+ beginCaptures:
36
+ {1 => {name: "punctuation.definition.tag.html.grails"},
37
+ 2 => {name: "entity.name.tag.template.html.grails"}},
38
+ end: "/>|(?=>)",
39
+ endCaptures: {0 => {name: "punctuation.definition.tag.html.grails"}},
40
+ name: "meta.tag.template.javascript.html.grails",
41
+ patterns: [{include: "#tag-stuff"}]},
42
+ {captures:
43
+ {1 => {name: "punctuation.definition.tag.html.grails"},
44
+ 2 => {name: "source.js"},
45
+ 3 => {name: "entity.name.tag.template.html.grails"},
46
+ 4 => {name: "punctuation.definition.tag.html.grails"}},
47
+ match: /(?<_1>(?<_2><)\/)(?<_3>(?i:g:javascript))(?<_4>>)/,
48
+ name: "meta.tag.template.javascript.html.grails"},
49
+ {begin: /(?<_1>>)/,
50
+ beginCaptures:
51
+ {0 => {name: "meta.tag.template.javascript.html.grails"},
52
+ 1 => {name: "punctuation.definition.tag.html.grails"}},
53
+ contentName: "source.js",
54
+ end: "(?=</(?i:g:javascript)>)",
55
+ patterns:
56
+ [{captures: {1 => {name: "punctuation.definition.comment.begin.js"}},
57
+ match: /(?<_1>\/\/).*?(?<_2>(?=<\/(?i:g:javascript))|$\n?)/,
58
+ name: "comment.line.double-slash.js"},
59
+ {begin: /\/\*/,
60
+ beginCaptures:
61
+ {0 => {name: "punctuation.definition.comment.begin.js"}},
62
+ end: "\\*/|(?=</(?i:g:javascript))",
63
+ endCaptures: {0 => {name: "punctuation.definition.comment.end.js"}},
64
+ name: "comment.block.js"},
65
+ {include: "source.js"}]}]},
66
+ {begin: /(?<_1><\/?)(?<_2>\w+:\w+)/,
67
+ captures:
68
+ {1 => {name: "punctuation.definition.tag.html.grails"},
69
+ 2 => {name: "entity.name.tag.template.html.grails"}},
70
+ end: "(/?>)",
71
+ name: "meta.tag.template.html.grails",
72
+ patterns: [{include: "#tag-stuff"}]},
73
+ {include: "text.html.basic"}],
74
+ repository:
75
+ {:"embedded-groovy" =>
76
+ {patterns:
77
+ [{begin: /\$\{/,
78
+ captures: {0 => {name: "punctuation.section.embedded.groovy"}},
79
+ end: "\\}",
80
+ name: "source.groovy.embedded.html.grails",
81
+ patterns: [{include: "source.groovy"}]}]},
82
+ :"string-double-quoted" =>
83
+ {begin: /"/,
84
+ beginCaptures:
85
+ {0 => {name: "punctuation.definition.string.begin.html.grails"}},
86
+ end: "\"",
87
+ endCaptures:
88
+ {0 => {name: "punctuation.definition.string.end.html.grails"}},
89
+ name: "string.quoted.double.html.grails",
90
+ patterns: [{include: "#embedded-groovy"}]},
91
+ :"string-single-quoted" =>
92
+ {begin: /'/,
93
+ beginCaptures:
94
+ {0 => {name: "punctuation.definition.string.begin.html.grails"}},
95
+ end: "'",
96
+ endCaptures:
97
+ {0 => {name: "punctuation.definition.string.end.html.grails"}},
98
+ name: "string.quoted.single.html.grails"},
99
+ :"tag-attribute" =>
100
+ {match: /\b(?<_1>[a-zA-Z\-:]+)/,
101
+ name: "entity.other.attribute-name.html.grails"},
102
+ :"tag-stuff" =>
103
+ {patterns:
104
+ [{include: "#tag-attribute"},
105
+ {include: "#string-double-quoted"},
106
+ {include: "#string-single-quoted"}]}},
107
+ scopeName: "text.html.grails",
108
+ uuid: "E4DECA1B-424C-4A75-AD67-E907F182E4FB"}
@@ -6,16 +6,16 @@
6
6
  keyEquivalent: "^~G",
7
7
  name: "Graphviz (DOT)",
8
8
  patterns:
9
- [{match: /\b(node|edge|graph|digraph|subgraph|strict)\b/,
9
+ [{match: /\b(?<_1>node|edge|graph|digraph|subgraph|strict)\b/,
10
10
  name: "storage.type.dot"},
11
11
  {match:
12
- /\b(bottomlabel|color|comment|distortion|fillcolor|fixedsize|fontcolor|fontname|fontsize|group|height|label|layer|orientation|peripheries|regular|shape|shapefile|sides|skew|style|toplabel|URL|width|z)\b/,
12
+ /\b(?<_1>bottomlabel|color|comment|distortion|fillcolor|fixedsize|fontcolor|fontname|fontsize|group|height|label|layer|orientation|peripheries|regular|shape|shapefile|sides|skew|style|toplabel|URL|width|z)\b/,
13
13
  name: "support.constant.attribute.node.dot"},
14
14
  {match:
15
- /\b(arrowhead|arrowsize|arrowtail|color|comment|constraint|decorate|dir|fontcolor|fontname|fontsize|headlabel|headport|headURL|label|labelangle|labeldistance|labelfloat|labelcolor|labelfontname|labelfontsize|layer|lhead|ltail|minlen|samehead|sametail|style|taillabel|tailport|tailURL|weight)\b/,
15
+ /\b(?<_1>arrowhead|arrowsize|arrowtail|color|comment|constraint|decorate|dir|fontcolor|fontname|fontsize|headlabel|headport|headURL|label|labelangle|labeldistance|labelfloat|labelcolor|labelfontname|labelfontsize|layer|lhead|ltail|minlen|samehead|sametail|style|taillabel|tailport|tailURL|weight)\b/,
16
16
  name: "support.constant.attribute.edge.dot"},
17
17
  {match:
18
- /\b(bgcolor|center|clusterrank|color|comment|compound|concentrate|fillcolor|fontname|fontpath|fontsize|label|labeljust|labelloc|layers|margin|mclimit|nodesep|nslimit|nslimit1|ordering|orientation|page|pagedir|quantum|rank|rankdir|ranksep|ratio|remincross|rotate|samplepoints|searchsize|size|style|URL)\b/,
18
+ /\b(?<_1>bgcolor|center|clusterrank|color|comment|compound|concentrate|fillcolor|fontname|fontpath|fontsize|label|labeljust|labelloc|layers|margin|mclimit|nodesep|nslimit|nslimit1|ordering|orientation|page|pagedir|quantum|rank|rankdir|ranksep|ratio|remincross|rotate|samplepoints|searchsize|size|style|URL)\b/,
19
19
  name: "support.constant.attribute.graph.dot"},
20
20
  {begin: /"/,
21
21
  beginCaptures: {0 => {name: "punctuation.definition.string.begin.dot"}},
@@ -24,10 +24,10 @@
24
24
  name: "string.quoted.double.dot",
25
25
  patterns: [{match: /\\./, name: "constant.character.escape.dot"}]},
26
26
  {captures: {1 => {name: "punctuation.definition.comment.dot"}},
27
- match: /(\/\/).*$\n?/,
27
+ match: /(?<_1>\/\/).*$\n?/,
28
28
  name: "comment.line.double-slash.dot"},
29
29
  {captures: {1 => {name: "punctuation.definition.comment.dot"}},
30
- match: /(#).*$\n?/,
30
+ match: /(?<_1>#).*$\n?/,
31
31
  name: "comment.line.number-sign.dot"},
32
32
  {begin: /\/\*/,
33
33
  captures: {0 => {name: "punctuation.definition.comment.dot"}},
@@ -9,7 +9,7 @@
9
9
  patterns:
10
10
  [{match: /\bunsafeWindow\b/, name: "support.class.greasemonkey"},
11
11
  {match:
12
- /\bGM_(registerMenuCommand|xmlhttpRequest|setValue|getValue|log|openInTab|addStyle)\b(?=\()/,
12
+ /\bGM_(?<_1>registerMenuCommand|xmlhttpRequest|setValue|getValue|log|openInTab|addStyle)\b(?=\()/,
13
13
  name: "support.function.greasemonkey"},
14
14
  {begin: /\/\/ ==UserScript==/,
15
15
  end: "// ==/UserScript==\\s*",
@@ -19,12 +19,12 @@
19
19
  {1 => {name: "keyword.other.greasemonkey"},
20
20
  3 => {name: "string.unquoted.greasemonkey"}},
21
21
  match:
22
- /\/\/ (@(name|namespace|description|include|exclude))\b\s*(.+\s+)?/,
22
+ /\/\/ (?<_1>@(?<_2>name|namespace|description|include|exclude))\b\s*(?<_3>.+\s+)?/,
23
23
  name: "meta.directive.standard.greasemonkey"},
24
24
  {captures:
25
25
  {1 => {name: "keyword.other.greasemonkey"},
26
26
  3 => {name: "string.unquoted.greasemonkey"}},
27
- match: /\/\/ (@(\S+))\b\s*(.+\s+)?/,
27
+ match: /\/\/ (?<_1>@(?<_2>\S+))\b\s*(?<_3>.+\s+)?/,
28
28
  name: "meta.directive.nonstandard.greasemonkey"}]},
29
29
  {include: "source.js"}],
30
30
  scopeName: "source.js.greasemonkey",
@@ -2,15 +2,15 @@
2
2
 
3
3
  {fileTypes: ["gri"],
4
4
  firstLineMatch: "-[*]-( Mode:)? Gri -[*]-",
5
- foldingStartMarker: /(\/\*\*|\{\s*$)/,
6
- foldingStopMarker: /(\*\*\/|^\s*\})/,
5
+ foldingStartMarker: /(?<_1>\/\*\*|\{\s*$)/,
6
+ foldingStopMarker: /(?<_1>\*\*\/|^\s*\})/,
7
7
  name: "Gri",
8
8
  patterns:
9
9
  [{captures:
10
10
  {1 => {name: "punctuation.definition.function.gri"},
11
11
  2 => {name: "entity.name.function.gri"},
12
12
  3 => {name: "punctuation.definition.function.gri"}},
13
- match: /(\`)(.*)(')/,
13
+ match: /(?<_1>\`)(?<_2>.*)(?<_3>')/,
14
14
  name: "meta.function.gri"},
15
15
  {begin: /#/,
16
16
  beginCaptures: {0 => {name: "punctuation.definition.comment.gri"}},
@@ -24,33 +24,33 @@
24
24
  name: "comment.line.double-slash.gri",
25
25
  patterns:
26
26
  [{match: /(?>\\\s*\n)/, name: "punctuation.separator.continuation.gri"}]},
27
- {match: /\b(break|else|end|if|return|rpn|while)\b/,
27
+ {match: /\b(?<_1>break|else|end|if|return|rpn|while)\b/,
28
28
  name: "keyword.control.gri"},
29
- {match: /(\-|\+|\*|\/|%\/%|%%|\^)/,
29
+ {match: /(?<_1>\-|\+|\*|\/|%\/%|%%|\^)/,
30
30
  name: "keyword.operator.arithmetic.gri"},
31
- {match: /(=|<-)/, name: "keyword.operator.assignment.gri"},
32
- {match: /(==|!=)/, name: "keyword.operator.comparison.gri"},
31
+ {match: /(?<_1>=|<-)/, name: "keyword.operator.assignment.gri"},
32
+ {match: /(?<_1>==|!=)/, name: "keyword.operator.comparison.gri"},
33
33
  {match:
34
- /\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b/,
34
+ /\b(?<_1>(?<_2>0(?<_3>x|X)[0-9a-fA-F]*)|(?<_4>(?<_5>[0-9]+\.?[0-9]*)|(?<_6>\.[0-9]+))(?<_7>(?<_8>e|E)(?<_9>\+|-)?[0-9]+)?)\b/,
35
35
  name: "constant.numeric.gri"},
36
- {begin: /(<< *")([^"]*)(")/,
36
+ {begin: /(?<_1><< *")(?<_2>[^"]*)(?<_3>")/,
37
37
  captures:
38
38
  {1 => {name: "punctuation.definition.heredoc.gri"},
39
39
  3 => {name: "punctuation.definition.heredoc.gri"}},
40
40
  end: "^\\2$",
41
41
  name: "string.unquoted.heredoc.doublequote.gri"},
42
42
  {captures: {1 => {name: "punctuation.definition.variable.gri"}},
43
- match: /(\\)[\.a-zA-Z0-9_][\.a-zA-Z0-9_]*\b/,
43
+ match: /(?<_1>\\)[\.a-zA-Z0-9_][\.a-zA-Z0-9_]*\b/,
44
44
  name: "variable.other.synonym.gri"},
45
45
  {captures:
46
46
  {1 => {name: "punctuation.definition.variable.gri"},
47
47
  2 => {name: "punctuation.definition.variable.gri"}},
48
- match: /(\.)[a-zA-Z0-9_][a-zA-Z0-9_]*(\.)/,
48
+ match: /(?<_1>\.)[a-zA-Z0-9_][a-zA-Z0-9_]*(?<_2>\.)/,
49
49
  name: "variable.other.variable.gri"},
50
50
  {captures:
51
51
  {1 => {name: "punctuation.definition.variable.gri"},
52
52
  2 => {name: "punctuation.definition.variable.gri"}},
53
- match: /(\.\.)[a-zA-Z0-9_][a-zA-Z0-9_]*(\.\.)/,
53
+ match: /(?<_1>\.\.)[a-zA-Z0-9_][a-zA-Z0-9_]*(?<_2>\.\.)/,
54
54
  name: "variable.other.variabledot.gri"},
55
55
  {begin: /"/,
56
56
  beginCaptures: {0 => {name: "punctuation.definition.string.begin.gri"}},
@@ -0,0 +1,502 @@
1
+ # Encoding: UTF-8
2
+
3
+ {fileTypes: ["groovy", "gvy"],
4
+ foldingStartMarker: /(?<_1>\{\s*$|^\s*\/\/ \{\{\{)/,
5
+ foldingStopMarker: /^\s*(?<_1>\}|\/\/ \}\}\}$)/,
6
+ keyEquivalent: "^~G",
7
+ name: "Groovy",
8
+ patterns:
9
+ [{captures: {1 => {name: "punctuation.definition.comment.groovy"}},
10
+ match: /^(?<_1>#!).+$\n/,
11
+ name: "comment.line.hashbang.groovy"},
12
+ {captures:
13
+ {1 => {name: "keyword.other.package.groovy"},
14
+ 2 => {name: "storage.modifier.package.groovy"},
15
+ 3 => {name: "punctuation.terminator.groovy"}},
16
+ match: /^\s*(?<_1>package)\b(?:\s*(?<_2>[^ ;$]+)\s*(?<_3>;)?)?/,
17
+ name: "meta.package.groovy"},
18
+ {captures:
19
+ {1 => {name: "keyword.other.import.groovy"},
20
+ 2 => {name: "keyword.other.import.static.groovy"},
21
+ 3 => {name: "storage.modifier.import.groovy"},
22
+ 4 => {name: "punctuation.terminator.groovy"}},
23
+ match:
24
+ /^\s*(?<_1>import)(?:\s+(?<_2>static)\s+)\b(?:\s*(?<_3>[^ ;$]+)\s*(?<_4>;)?)?/,
25
+ name: "meta.import.static.groovy"},
26
+ {captures:
27
+ {1 => {name: "keyword.other.import.groovy"},
28
+ 2 => {name: "storage.modifier.import.groovy"},
29
+ 3 => {name: "punctuation.terminator.groovy"}},
30
+ match: /^\s*(?<_1>import)\b(?:\s*(?<_2>[^ ;$]+)\s*(?<_3>;)?)?/,
31
+ name: "meta.import.groovy"},
32
+ {captures:
33
+ {1 => {name: "keyword.other.import.groovy"},
34
+ 2 => {name: "keyword.other.import.static.groovy"},
35
+ 3 => {name: "storage.modifier.import.groovy"},
36
+ 4 => {name: "punctuation.terminator.groovy"}},
37
+ match:
38
+ /^\s*(?<_1>import)(?:\s+(?<_2>static)\s+)\b(?:\s*(?<_3>[^ ;$]+)\s*(?<_4>;)?)?/,
39
+ name: "meta.import.groovy"},
40
+ {include: "#groovy"}],
41
+ repository:
42
+ {annotations:
43
+ {patterns:
44
+ [{begin: /(?<!\.)(?<_1>@[^ (?<_2>]+)(?<_3>\()/,
45
+ beginCaptures:
46
+ {1 => {name: "storage.type.annotation.groovy"},
47
+ 2 =>
48
+ {name: "punctuation.definition.annotation-arguments.begin.groovy"}},
49
+ end: "(\\))",
50
+ endCaptures:
51
+ {1 =>
52
+ {name: "punctuation.definition.annotation-arguments.end.groovy"}},
53
+ name: "meta.declaration.annotation.groovy",
54
+ patterns:
55
+ [{captures:
56
+ {1 => {name: "constant.other.key.groovy"},
57
+ 2 => {name: "keyword.operator.assignment.groovy"}},
58
+ match: /(?<_1>\w*)\s*(?<_2>=)/},
59
+ {include: "#values"},
60
+ {match: /,/, name: "punctuation.definition.seperator.groovy"}]},
61
+ {match: /(?<!\.)@\S+/, name: "storage.type.annotation.groovy"}]},
62
+ braces: {begin: /\{/, end: "\\}", patterns: [{include: "#groovy-code"}]},
63
+ class:
64
+ {begin: /(?=\w?[\w\s]*(?:class|(?:@)?interface|enum)\s+\w+)/,
65
+ end: "}",
66
+ endCaptures: {0 => {name: "punctuation.section.class.end.groovy"}},
67
+ name: "meta.definition.class.groovy",
68
+ patterns:
69
+ [{include: "#storage-modifiers"},
70
+ {include: "#comments"},
71
+ {captures:
72
+ {1 => {name: "storage.modifier.groovy"},
73
+ 2 => {name: "entity.name.type.class.groovy"}},
74
+ match: /(?<_1>class|(?:@)?interface|enum)\s+(?<_2>\w+)/,
75
+ name: "meta.class.identifier.groovy"},
76
+ {begin: /extends/,
77
+ beginCaptures: {0 => {name: "storage.modifier.extends.groovy"}},
78
+ end: "(?={|implements)",
79
+ name: "meta.definition.class.inherited.classes.groovy",
80
+ patterns:
81
+ [{include: "#object-types-inherited"}, {include: "#comments"}]},
82
+ {begin: /(?<_1>implements)\s/,
83
+ beginCaptures: {1 => {name: "storage.modifier.implements.groovy"}},
84
+ end: "(?=\\s*extends|\\{)",
85
+ name: "meta.definition.class.implemented.interfaces.groovy",
86
+ patterns:
87
+ [{include: "#object-types-inherited"}, {include: "#comments"}]},
88
+ {begin: /{/,
89
+ end: "(?=})",
90
+ name: "meta.class.body.groovy",
91
+ patterns: [{include: "#groovy"}]}]},
92
+ :"class-variables" =>
93
+ {patterns:
94
+ [{begin: /\b(?!as)(?=\w[\w\[\]<>,]*?\s\w)/,
95
+ end: ";|$",
96
+ name: "meta.definition.class-variable.groovy",
97
+ patterns:
98
+ [{captures: {1 => {name: "constant.class-variable.groovy"}},
99
+ match: /(?<_1>[A-Z_0-9]+)\s+(?=\=)/},
100
+ {captures:
101
+ {1 => {name: "meta.definition.class-variable.name.groovy"}},
102
+ match: /(?<_1>\w[^\s,]*)\s+(?=\=)/},
103
+ {begin: /=/,
104
+ beginCaptures: {0 => {name: "keyword.operator.assignment.groovy"}},
105
+ end: "$",
106
+ patterns: [{include: "#groovy-code"}]},
107
+ {captures:
108
+ {1 => {name: "meta.definition.class-variable.name.groovy"}},
109
+ match: /(?<_1>\w\S*)(?=\s*(?<_2>$|;))/},
110
+ {include: "#groovy-code"}]}]},
111
+ closures:
112
+ {begin: /\{(?=.*->)/,
113
+ end: "\\}",
114
+ patterns:
115
+ [{begin: /(?!->)/,
116
+ end: "(?=->)",
117
+ patterns:
118
+ [{begin: /(?!->)/,
119
+ end: "(?=->)",
120
+ name: "meta.closure.parameters.groovy",
121
+ patterns:
122
+ [{begin: /(?!,|->)/,
123
+ end: "(?=,|->)",
124
+ name: "meta.closure.parameter.groovy",
125
+ patterns:
126
+ [{begin: /=/,
127
+ beginCaptures:
128
+ {0 => {name: "keyword.operator.assignment.groovy"}},
129
+ end: "(?=,|->)",
130
+ name: "meta.parameter.default.groovy",
131
+ patterns: [{include: "#groovy-code"}]},
132
+ {include: "#parameters"}]}]}]},
133
+ {begin: /->/,
134
+ beginCaptures: {0 => {name: "keyword.operator.groovy"}},
135
+ end: "(?=\\})",
136
+ patterns: [{include: "#groovy-code"}]}]},
137
+ :"comment-block" =>
138
+ {begin: /\/\*/,
139
+ captures: {0 => {name: "punctuation.definition.comment.groovy"}},
140
+ end: "\\*/",
141
+ name: "comment.block.groovy"},
142
+ comments:
143
+ {patterns:
144
+ [{captures: {0 => {name: "punctuation.definition.comment.groovy"}},
145
+ match: /\/\*\*\//,
146
+ name: "comment.block.empty.groovy"},
147
+ {include: "text.html.javadoc"},
148
+ {include: "#comment-block"},
149
+ {captures: {1 => {name: "punctuation.definition.comment.groovy"}},
150
+ match: /(?<_1>\/\/).*$\n?/,
151
+ name: "comment.line.double-slash.groovy"}]},
152
+ constants:
153
+ {patterns:
154
+ [{match: /\b(?<_1>[A-Z][A-Z0-9_]+)\b/, name: "constant.other.groovy"},
155
+ {match: /\b(?<_1>true|false|null)\b/,
156
+ name: "constant.language.groovy"}]},
157
+ :"enum-values" =>
158
+ {patterns:
159
+ [{begin: /\b[A-Z0-9_]*(?=\s*(?:,|;|}|\(|$))/,
160
+ beginCaptures: {0 => {name: "constant.enum.name.groovy"}},
161
+ end: ",|;|(?=})|^(?!\\s*\\w+\\s*(?:,|$))",
162
+ patterns:
163
+ [{begin: /\(/,
164
+ end: "\\)",
165
+ name: "meta.enum.value.groovy",
166
+ patterns: [{include: "#values"}]}]}]},
167
+ groovy:
168
+ {patterns:
169
+ [{include: "#comments"},
170
+ {include: "#annotations"},
171
+ {include: "#class"},
172
+ {include: "#enum-values"},
173
+ {include: "#methods"},
174
+ {include: "#class-variables"},
175
+ {include: "#groovy-code"}]},
176
+ :"groovy-code" =>
177
+ {patterns:
178
+ [{include: "#groovy-code-minus-map-keys"}, {include: "#map-keys"}]},
179
+ :"groovy-code-minus-map-keys" =>
180
+ {comment:
181
+ "In some situations, maps can't be declared without enclosing []'s, \n\t\t\t\ttherefore we create a collection of everything but that",
182
+ patterns:
183
+ [{include: "#comments"},
184
+ {include: "#annotations"},
185
+ {include: "#support-functions"},
186
+ {include: "#keyword-language"},
187
+ {include: "#values"},
188
+ {include: "#keyword-operator"},
189
+ {include: "#types"},
190
+ {include: "#storage-modifiers"},
191
+ {include: "#parens"},
192
+ {include: "#closures"},
193
+ {include: "#braces"}]},
194
+ keyword:
195
+ {patterns:
196
+ [{include: "#keyword-operator"}, {include: "#keyword-language"}]},
197
+ :"keyword-language" =>
198
+ {patterns:
199
+ [{match: /\b(?<_1>try|catch|finally|throw)\b/,
200
+ name: "keyword.control.exception.groovy"},
201
+ {match:
202
+ /\b(?<_1>(?<!\.)(?:return|break|continue|default|do|while|for|switch|if|else))\b/,
203
+ name: "keyword.control.groovy"},
204
+ {begin: /\bcase\b/,
205
+ beginCaptures: {0 => {name: "keyword.control.groovy"}},
206
+ end: ":",
207
+ endCaptures:
208
+ {0 => {name: "punctuation.definition.case-terminator.groovy"}},
209
+ name: "meta.case.groovy",
210
+ patterns: [{include: "#groovy-code-minus-map-keys"}]},
211
+ {match: /\b(?<_1>new)\b/, name: "keyword.other.new.groovy"},
212
+ {begin: /\b(?<_1>assert)\s/,
213
+ beginCaptures: {1 => {name: "keyword.control.assert.groovy"}},
214
+ end: "$",
215
+ name: "meta.declaration.assertion.groovy",
216
+ patterns:
217
+ [{match: /:/,
218
+ name: "keyword.operator.assert.expression-seperator.groovy"},
219
+ {include: "#groovy-code-minus-map-keys"}]},
220
+ {match: /\b(?<_1>throws)\b/, name: "keyword.other.throws.groovy"}]},
221
+ :"keyword-operator" =>
222
+ {patterns:
223
+ [{match: /\b(?<_1>as)\b/, name: "keyword.operator.as.groovy"},
224
+ {match: /\b(?<_1>is)\b/, name: "keyword.operator.is.groovy"},
225
+ {match: /\?\:/, name: "keyword.operator.elvis.groovy"},
226
+ {match: /\.\./, name: "keyword.operator.range.groovy"},
227
+ {match: /\->/, name: "keyword.operator.arrow.groovy"},
228
+ {match: /<</, name: "keyword.operator.leftshift.groovy"},
229
+ {match: /(?<=\S)\.(?=\S)/, name: "keyword.operator.navigation.groovy"},
230
+ {match: /(?<=\S)\?\.(?=\S)/,
231
+ name: "keyword.operator.safe-navigation.groovy"},
232
+ {begin: /\?/,
233
+ beginCaptures: {0 => {name: "keyword.operator.ternary.groovy"}},
234
+ end: "(?=$|\\)|})",
235
+ name: "meta.evaluation.ternary.groovy",
236
+ patterns:
237
+ [{match: /:/,
238
+ name: "keyword.operator.ternary.expression-seperator.groovy"},
239
+ {include: "#groovy-code-minus-map-keys"}]},
240
+ {match: /==~/, name: "keyword.operator.match.groovy"},
241
+ {match: /=~/, name: "keyword.operator.find.groovy"},
242
+ {match: /\b(?<_1>instanceof)\b/,
243
+ name: "keyword.operator.instanceof.groovy"},
244
+ {match: /(?<_1>===|==|!=|<=|>=|<=>|<>|<|>|<<)/,
245
+ name: "keyword.operator.comparison.groovy"},
246
+ {match: /=/, name: "keyword.operator.assignment.groovy"},
247
+ {match: /(?<_1>\-\-|\+\+)/,
248
+ name: "keyword.operator.increment-decrement.groovy"},
249
+ {match: /(?<_1>\-|\+|\*|\/|%)/,
250
+ name: "keyword.operator.arithmetic.groovy"},
251
+ {match: /(?<_1>!|&&|\|\|)/, name: "keyword.operator.logical.groovy"}]},
252
+ :"map-keys" =>
253
+ {patterns:
254
+ [{captures:
255
+ {1 => {name: "constant.other.key.groovy"},
256
+ 2 => {name: "punctuation.definition.seperator.key-value.groovy"}},
257
+ match: /(?<_1>\w+)\s*(?<_2>:)/}]},
258
+ :"method-call" =>
259
+ {begin: /(?<_1>\w+)(?<_2>\()/,
260
+ beginCaptures:
261
+ {1 => {name: "meta.method.groovy"},
262
+ 2 => {name: "punctuation.definition.method-parameters.begin.groovy"}},
263
+ end: "\\)",
264
+ endCaptures:
265
+ {0 => {name: "punctuation.definition.method-parameters.end.groovy"}},
266
+ name: "meta.method-call.groovy",
267
+ patterns:
268
+ [{match: /,/, name: "punctuation.definition.seperator.parameter.groovy"},
269
+ {include: "#groovy-code"}]},
270
+ methods:
271
+ {applyEndPatternLast: 1,
272
+ begin:
273
+ /(?x:
274
+ (?<!\.)\b # not preceeded by . (?<_1>method call)
275
+ (?!new) # not before new
276
+ (?= # looking forward we see
277
+ (?:
278
+ (?:\w|<)\S* # a word (?<_2>modifier or return type) or a parameter type
279
+ \s+ # some space
280
+ (?:\w|<)\S*[^=\.\s]*? # another word and anything but =, . or space
281
+ | # or
282
+ [A-Z_]\w* # a capitalised word (?<_3>i.e. constructor name)
283
+ )
284
+ \( # and the leading parens of the params
285
+ )
286
+ )/,
287
+ end: "}|(?=(^\\s*)?[^{])",
288
+ name: "meta.definition.method.groovy",
289
+ patterns:
290
+ [{match: /\s/},
291
+ {include: "#storage-modifiers"},
292
+ {begin: /(?<_1>\w+)\s*\(/,
293
+ beginCaptures: {1 => {name: "entity.name.function.java"}},
294
+ end: "\\)",
295
+ name: "meta.definition.method.signature.java",
296
+ patterns:
297
+ [{begin: /(?=[^)])/,
298
+ end: "(?=\\))",
299
+ name: "meta.method.parameters.groovy",
300
+ patterns:
301
+ [{begin: /(?=[^,)])/,
302
+ end: "(?=,|\\))",
303
+ name: "meta.method.parameter.groovy",
304
+ patterns:
305
+ [{match: /,/, name: "punctuation.definition.separator.groovy"},
306
+ {begin: /=/,
307
+ beginCaptures:
308
+ {0 => {name: "keyword.operator.assignment.groovy"}},
309
+ end: "(?=,|\\))",
310
+ name: "meta.parameter.default.groovy",
311
+ patterns: [{include: "#groovy-code"}]},
312
+ {include: "#parameters"}]}]}]},
313
+ {begin: /(?=<)/,
314
+ end: "(?=\\s)",
315
+ name: "meta.method.paramerised-type.groovy",
316
+ patterns:
317
+ [{begin: /</,
318
+ end: ">",
319
+ name: "storage.type.parameters.groovy",
320
+ patterns:
321
+ [{include: "#types"},
322
+ {match: /,/, name: "punctuation.definition.seperator.groovy"}]}]},
323
+ {begin: /(?=(?:\w|<).*\s+(?:\w|<)+\s*\()/,
324
+ end: "(?=\\w+\\s*\\()",
325
+ name: "meta.method.return-type.java",
326
+ patterns: [{include: "#types"}]},
327
+ {begin: /throws/,
328
+ beginCaptures: {0 => {name: "storage.modifier.groovy"}},
329
+ end: "(?={|;)|^(?=\\s*(?:[^{\\s]|$))",
330
+ name: "meta.throwables.groovy",
331
+ patterns: [{include: "#object-types"}]},
332
+ {begin: /{/,
333
+ end: "(?=})",
334
+ name: "meta.method.body.java",
335
+ patterns: [{include: "#groovy-code"}]}]},
336
+ nest_curly:
337
+ {begin: /\{/,
338
+ captures: {0 => {name: "punctuation.section.scope.groovy"}},
339
+ end: "\\}",
340
+ patterns: [{include: "#nest_curly"}]},
341
+ numbers:
342
+ {patterns:
343
+ [{match:
344
+ /(?<_1>(?<_2>0(?<_3>x|X)[0-9a-fA-F]*)|(?<_4>\+|-)?\b(?<_5>(?<_6>[0-9]+\.?[0-9]*)|(?<_7>\.[0-9]+))(?<_8>(?<_9>e|E)(?<_10>\+|-)?[0-9]+)?)(?<_11>[LlFfUuDd]|UL|ul)?\b/,
345
+ name: "constant.numeric.groovy"}]},
346
+ :"object-types" =>
347
+ {patterns:
348
+ [{begin: /\b(?<_1>(?:[a-z]\w*\.)*[A-Z]+\w*)</,
349
+ end: ">|[^\\w\\s,\\?<\\[\\]]",
350
+ name: "storage.type.generic.groovy",
351
+ patterns:
352
+ [{include: "#object-types"},
353
+ {begin: /</,
354
+ comment: "This is just to support <>'s with no actual type prefix",
355
+ end: ">|[^\\w\\s,\\[\\]<]",
356
+ name: "storage.type.generic.groovy"}]},
357
+ {begin: /\b(?<_1>(?:[a-z]\w*\.)*[A-Z]+\w*)(?=\[)/,
358
+ end: "(?=[^\\]\\s])",
359
+ name: "storage.type.object.array.groovy",
360
+ patterns:
361
+ [{begin: /\[/, end: "\\]", patterns: [{include: "#groovy"}]}]},
362
+ {captures: {1 => {name: "keyword.operator.dereference.groovy"}},
363
+ match: /\b(?:[a-z]\w*(?<_1>\.))*[A-Z]+\w*\b/,
364
+ name: "storage.type.groovy"}]},
365
+ :"object-types-inherited" =>
366
+ {patterns:
367
+ [{begin: /\b(?<_1>(?:[a-z]\w*\.)*[A-Z]+\w*)</,
368
+ end: ">|[^\\w\\s,\\?<\\[\\]]",
369
+ name: "entity.other.inherited-class.groovy",
370
+ patterns:
371
+ [{include: "#object-types-inherited"},
372
+ {begin: /</,
373
+ comment: "This is just to support <>'s with no actual type prefix",
374
+ end: ">|[^\\w\\s,\\[\\]<]",
375
+ name: "storage.type.generic.groovy"}]},
376
+ {captures: {1 => {name: "keyword.operator.dereference.groovy"}},
377
+ match: /\b(?:[a-z]\w*(?<_1>\.))*[A-Z]+\w*\b/,
378
+ name: "entity.other.inherited-class.groovy"}]},
379
+ parameters:
380
+ {patterns:
381
+ [{include: "#annotations"},
382
+ {include: "#storage-modifiers"},
383
+ {include: "#types"},
384
+ {match: /\w+/, name: "variable.parameter.method.groovy"}]},
385
+ parens: {begin: /\(/, end: "\\)", patterns: [{include: "#groovy-code"}]},
386
+ :"primitive-arrays" =>
387
+ {patterns:
388
+ [{match:
389
+ /\b(?:void|boolean|byte|char|short|int|float|long|double)(?<_1>\[\])*\b/,
390
+ name: "storage.type.primitive.array.groovy"}]},
391
+ :"primitive-types" =>
392
+ {patterns:
393
+ [{match: /\b(?:void|boolean|byte|char|short|int|float|long|double)\b/,
394
+ name: "storage.type.primitive.groovy"}]},
395
+ regexp:
396
+ {patterns:
397
+ [{begin: /\/(?=[^\/]+\/)/,
398
+ beginCaptures:
399
+ {0 => {name: "punctuation.definition.string.regexp.begin.groovy"}},
400
+ end: "/",
401
+ endCaptures:
402
+ {0 => {name: "punctuation.definition.string.regexp.end.groovy"}},
403
+ name: "string.regexp.groovy",
404
+ patterns:
405
+ [{match: /\\./, name: "constant.character.escape.groovy"}]}]},
406
+ :"storage-modifiers" =>
407
+ {patterns:
408
+ [{match: /\b(?<_1>private|protected|public)\b/,
409
+ name: "storage.modifier.access-control.groovy"},
410
+ {match: /\b(?<_1>static)\b/, name: "storage.modifier.static.groovy"},
411
+ {match: /\b(?<_1>final)\b/, name: "storage.modifier.final.groovy"},
412
+ {match: /\b(?<_1>native|synchronized|abstract|threadsafe|transient)\b/,
413
+ name: "storage.modifier.other.groovy"}]},
414
+ :"string-quoted-double" =>
415
+ {begin: /"/,
416
+ beginCaptures:
417
+ {0 => {name: "punctuation.definition.string.begin.groovy"}},
418
+ end: "\"",
419
+ endCaptures: {0 => {name: "punctuation.definition.string.end.groovy"}},
420
+ name: "string.quoted.double.groovy",
421
+ patterns: [{include: "#string-quoted-double-contents"}]},
422
+ :"string-quoted-double-contents" =>
423
+ {patterns:
424
+ [{match: /\\./, name: "constant.character.escape.groovy"},
425
+ {match: /\$\w+/, name: "variable.other.interpolated.groovy"},
426
+ {begin: /\$\{/,
427
+ captures: {0 => {name: "punctuation.section.embedded.groovy"}},
428
+ end: "\\}",
429
+ name: "source.groovy.embedded.source",
430
+ patterns: [{include: "#nest_curly"}]}]},
431
+ :"string-quoted-double-multiline" =>
432
+ {begin: /"""/,
433
+ beginCaptures:
434
+ {0 => {name: "punctuation.definition.string.begin.groovy"}},
435
+ end: "\"\"\"",
436
+ endCaptures: {0 => {name: "punctuation.definition.string.end.groovy"}},
437
+ name: "string.quoted.double.multiline.groovy",
438
+ patterns: [{include: "#string-quoted-double-contents"}]},
439
+ :"string-quoted-single" =>
440
+ {begin: /'/,
441
+ beginCaptures:
442
+ {0 => {name: "punctuation.definition.string.begin.groovy"}},
443
+ end: "'",
444
+ endCaptures: {0 => {name: "punctuation.definition.string.end.groovy"}},
445
+ name: "string.quoted.single.groovy",
446
+ patterns: [{include: "#string-quoted-single-contents"}]},
447
+ :"string-quoted-single-contents" =>
448
+ {patterns: [{match: /\\./, name: "constant.character.escape.groovy"}]},
449
+ :"string-quoted-single-multiline" =>
450
+ {begin: /'''/,
451
+ beginCaptures:
452
+ {0 => {name: "punctuation.definition.string.begin.groovy"}},
453
+ end: "'''",
454
+ endCaptures: {0 => {name: "punctuation.definition.string.end.groovy"}},
455
+ name: "string.quoted.single.multiline.groovy",
456
+ patterns: [{include: "#string-quoted-single-contents"}]},
457
+ strings:
458
+ {patterns:
459
+ [{include: "#string-quoted-double-multiline"},
460
+ {include: "#string-quoted-single-multiline"},
461
+ {include: "#string-quoted-double"},
462
+ {include: "#string-quoted-single"},
463
+ {include: "#regexp"}]},
464
+ structures:
465
+ {begin: /\[/,
466
+ beginCaptures:
467
+ {0 => {name: "punctuation.definition.structure.begin.groovy"}},
468
+ end: "\\]",
469
+ endCaptures: {0 => {name: "punctuation.definition.structure.end.groovy"}},
470
+ name: "meta.structure.groovy",
471
+ patterns:
472
+ [{include: "#groovy-code"},
473
+ {match: /,/, name: "punctuation.definition.separator.groovy"}]},
474
+ :"support-functions" =>
475
+ {patterns:
476
+ [{match: /(?x)\b(?:sprintf|print(?:f|ln)?)\b/,
477
+ name: "support.function.print.groovy"},
478
+ {match:
479
+ /(?x)\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|
480
+ Null)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|
481
+ ArrayEquals)))\b/,
482
+ name: "support.function.testing.groovy"}]},
483
+ types:
484
+ {patterns:
485
+ [{match: /\b(?<_1>def)\b/, name: "storage.type.def.groovy"},
486
+ {include: "#primitive-types"},
487
+ {include: "#primitive-arrays"},
488
+ {include: "#object-types"}]},
489
+ values:
490
+ {patterns:
491
+ [{include: "#variables"},
492
+ {include: "#strings"},
493
+ {include: "#numbers"},
494
+ {include: "#constants"},
495
+ {include: "#types"},
496
+ {include: "#structures"},
497
+ {include: "#method-call"}]},
498
+ variables:
499
+ {patterns:
500
+ [{match: /\b(?<_1>this|super)\b/, name: "variable.language.groovy"}]}},
501
+ scopeName: "source.groovy",
502
+ uuid: "B3A64888-EBBB-4436-8D9E-F1169C5D7613"}