ver 2009.12.14 → 2010.02

Sign up to get free protection for your applications and to get access to all the features.
Files changed (901) hide show
  1. data/.gitignore +1 -0
  2. data/.mailmap +1 -0
  3. data/.todo +102 -0
  4. data/.yardopts +1 -0
  5. data/AUTHORS +3 -3
  6. data/CHANGELOG +1597 -0
  7. data/MANIFEST +521 -329
  8. data/ROADMAP.textile +187 -0
  9. data/Rakefile +6 -4
  10. data/bin/ver +98 -35
  11. data/config/detect.rb +65 -37
  12. data/config/keymap/diakonos.rb +180 -178
  13. data/config/keymap/emacs.rb +44 -63
  14. data/config/keymap/nano.rb +174 -0
  15. data/config/keymap/vim.rb +459 -381
  16. data/config/plugin/animated_tiling.rb +90 -0
  17. data/config/plugin/autosave.rb +22 -0
  18. data/config/plugin/git.rb +46 -0
  19. data/config/plugin/smart_autoindent.rb +157 -0
  20. data/config/plugin/soma.rb +50 -0
  21. data/config/preferences/ANTLR.rb +6 -0
  22. data/config/preferences/ASP.rb +6 -0
  23. data/config/preferences/ActionScript.rb +747 -0
  24. data/config/preferences/Active4D.rb +35 -0
  25. data/config/preferences/Ada.rb +12 -0
  26. data/config/preferences/Ant.rb +348 -0
  27. data/config/preferences/Apache.rb +585 -0
  28. data/config/preferences/AppleScript.rb +35 -0
  29. data/config/preferences/Bulletin Board.rb +7 -0
  30. data/config/preferences/Bundle Development.rb +30 -0
  31. data/config/preferences/C++ Qt.rb +197 -0
  32. data/config/preferences/C.rb +60 -0
  33. data/config/preferences/CMake.rb +24 -0
  34. data/config/preferences/CSS.rb +396 -0
  35. data/config/preferences/ColdFusion.rb +13 -0
  36. data/config/preferences/Context Free.rb +16 -0
  37. data/config/preferences/D.rb +31 -0
  38. data/config/preferences/Diff.rb +36 -0
  39. data/config/preferences/DokuWiki.rb +13 -0
  40. data/config/preferences/Eiffel.rb +20 -0
  41. data/config/preferences/Erlang.rb +37 -0
  42. data/config/preferences/Experimental.rb +1352 -0
  43. data/config/preferences/F-Script.rb +29 -0
  44. data/config/preferences/FXScript.rb +23 -0
  45. data/config/preferences/Fortran.rb +70 -0
  46. data/config/preferences/GTD2.rb +6 -0
  47. data/config/preferences/GTDAlt.rb +12 -0
  48. data/config/preferences/Gettext.rb +14 -0
  49. data/config/preferences/Graphviz.rb +9 -0
  50. data/config/preferences/Gri.rb +9 -0
  51. data/config/preferences/HTML.rb +380 -0
  52. data/config/preferences/Haskell.rb +31 -0
  53. data/config/preferences/Hyperlink Helper.rb +78 -0
  54. data/config/preferences/Ini.rb +15 -0
  55. data/config/preferences/Io.rb +24 -0
  56. data/config/preferences/JSFL.rb +722 -0
  57. data/config/preferences/Java.rb +51 -0
  58. data/config/preferences/JavaScript Prototype & Script.aculo.us.rb +175 -0
  59. data/config/preferences/JavaScript YUI.rb +13 -0
  60. data/config/preferences/JavaScript.rb +41 -0
  61. data/config/preferences/LaTeX.rb +96 -0
  62. data/config/preferences/LilyPond.rb +22 -0
  63. data/config/preferences/Lisp.rb +17 -0
  64. data/config/preferences/Logo.rb +12 -0
  65. data/config/preferences/Logtalk.rb +193 -0
  66. data/config/preferences/Lua.rb +13 -0
  67. data/config/preferences/MEL.rb +13 -0
  68. data/config/preferences/MIPS Assembler.rb +9 -0
  69. data/config/preferences/Make.rb +8 -0
  70. data/config/preferences/Man Pages.rb +9 -0
  71. data/config/preferences/Matlab.rb +40 -0
  72. data/config/preferences/Maven.rb +220 -0
  73. data/config/preferences/Mediawiki.rb +27 -0
  74. data/config/preferences/Modula.rb +8 -0
  75. data/config/preferences/MoinMoin.rb +25 -0
  76. data/config/preferences/Movable Type.rb +47 -0
  77. data/config/preferences/OCaml Experimental Completions.rb +8 -0
  78. data/config/preferences/OCaml.rb +70 -0
  79. data/config/preferences/Objective-C.rb +54 -0
  80. data/config/preferences/OpenGL.rb +3327 -0
  81. data/config/preferences/Pascal.rb +15 -0
  82. data/config/preferences/Perl Template Toolkit.rb +19 -0
  83. data/config/preferences/Perl.rb +6 -0
  84. data/config/preferences/Postscript.rb +6 -0
  85. data/config/preferences/Processing.rb +13 -0
  86. data/config/preferences/Property List.rb +34 -0
  87. data/config/preferences/Python Django Templates.rb +13 -0
  88. data/config/preferences/Python.rb +24 -0
  89. data/config/preferences/Quake.rb +6 -0
  90. data/config/preferences/R Console (Rdaemon).rb +7 -0
  91. data/config/preferences/R.rb +17 -0
  92. data/config/preferences/Ragel.rb +6 -0
  93. data/config/preferences/Remind.rb +6 -0
  94. data/config/preferences/Rez.rb +10 -0
  95. data/config/preferences/Ruby Haml.rb +6 -0
  96. data/config/preferences/Ruby RSpec.rb +14 -0
  97. data/config/preferences/Ruby on Rails.rb +22 -0
  98. data/config/preferences/Ruby.rb +48 -0
  99. data/config/preferences/S5 Slide Show.rb +10 -0
  100. data/config/preferences/SQL.rb +17 -0
  101. data/config/preferences/SSH Config.rb +6 -0
  102. data/config/preferences/SWeave.rb +17 -0
  103. data/config/preferences/Scheme.rb +12 -0
  104. data/config/preferences/Scilab.rb +6 -0
  105. data/config/preferences/Shell Script.rb +13 -0
  106. data/config/preferences/Slate.rb +36 -0
  107. data/config/preferences/Source.rb +51 -0
  108. data/config/preferences/Standard ML.rb +18 -0
  109. data/config/preferences/Subversion.rb +6 -0
  110. data/config/preferences/Tcl.rb +19 -0
  111. data/config/preferences/TerminalMate.rb +46 -0
  112. data/config/preferences/Text.rb +31 -0
  113. data/config/preferences/TextMate.rb +18 -0
  114. data/config/preferences/Textile.rb +30 -0
  115. data/config/preferences/Thrift.rb +26 -0
  116. data/config/preferences/Twiki.rb +17 -0
  117. data/config/preferences/Txt2tags.rb +33 -0
  118. data/config/preferences/Vectorscript.rb +1240 -0
  119. data/config/preferences/XML.rb +26 -0
  120. data/config/preferences/YAML.rb +13 -0
  121. data/config/preferences/iCalendar.rb +6 -0
  122. data/config/preferences/iTerm.rb +16 -0
  123. data/config/preferences/newLisp.rb +10 -0
  124. data/config/preferences/reStructuredText.rb +17 -0
  125. data/config/rc.rb +13 -1
  126. data/config/snippets/ANTLR.rb +3 -0
  127. data/config/snippets/ASP vb.NET.rb +56 -0
  128. data/config/snippets/ASP.rb +38 -0
  129. data/config/snippets/ActionScript.rb +207 -0
  130. data/config/snippets/Active4D.rb +258 -0
  131. data/config/snippets/Ada.rb +62 -0
  132. data/config/snippets/Ant.rb +7 -0
  133. data/config/snippets/Apache.rb +22 -0
  134. data/config/snippets/AppleScript.rb +84 -0
  135. data/config/snippets/Bison.rb +3 -0
  136. data/config/snippets/Blogging.rb +20 -0
  137. data/config/snippets/Bulletin Board.rb +23 -0
  138. data/config/snippets/Bundle Development.rb +65 -0
  139. data/config/snippets/C++ Qt.rb +59 -0
  140. data/config/snippets/C.rb +102 -0
  141. data/config/snippets/CMake.rb +34 -0
  142. data/config/snippets/CSS.rb +117 -0
  143. data/config/snippets/CTags.rb +3 -0
  144. data/config/snippets/CVS.rb +3 -0
  145. data/config/snippets/ColdFusion.rb +1549 -0
  146. data/config/snippets/Context Free.rb +30 -0
  147. data/config/snippets/D.rb +113 -0
  148. data/config/snippets/Darcs.rb +3 -0
  149. data/config/snippets/Diff.rb +3 -0
  150. data/config/snippets/DokuWiki.rb +56 -0
  151. data/config/snippets/Doxygen.rb +42 -0
  152. data/config/snippets/Dylan.rb +3 -0
  153. data/config/snippets/Eiffel.rb +20 -0
  154. data/config/snippets/Erlang.rb +70 -0
  155. data/config/snippets/Experimental Wiki.rb +3 -0
  156. data/config/snippets/Experimental.rb +3 -0
  157. data/config/snippets/F-Script.rb +26 -0
  158. data/config/snippets/FXScript.rb +212 -0
  159. data/config/snippets/FileMerge.rb +3 -0
  160. data/config/snippets/Fortran.rb +282 -0
  161. data/config/snippets/GTD2.rb +3 -0
  162. data/config/snippets/GTDAlt.rb +6 -0
  163. data/config/snippets/GetBundle.rb +3 -0
  164. data/config/snippets/Gettext.rb +10 -0
  165. data/config/snippets/Graphviz.rb +3 -0
  166. data/config/snippets/Greasemonkey.rb +44 -0
  167. data/config/snippets/Gri.rb +12 -0
  168. data/config/snippets/HTML.rb +128 -0
  169. data/config/snippets/Haskell.rb +26 -0
  170. data/config/snippets/Hotkey.rb +3 -0
  171. data/config/snippets/Hyperlink Helper.rb +3 -0
  172. data/config/snippets/ImageBrowser.rb +3 -0
  173. data/config/snippets/Inform.rb +3 -0
  174. data/config/snippets/Ini.rb +3 -0
  175. data/config/snippets/Installer.rb +3 -0
  176. data/config/snippets/Io.rb +44 -0
  177. data/config/snippets/JSFL.rb +3 -0
  178. data/config/snippets/JSON.rb +3 -0
  179. data/config/snippets/Java.rb +94 -0
  180. data/config/snippets/JavaDoc.rb +58 -0
  181. data/config/snippets/JavaScript MooTools.rb +15 -0
  182. data/config/snippets/JavaScript Objective-J.rb +17 -0
  183. data/config/snippets/JavaScript Prototype & Script.aculo.us.rb +109 -0
  184. data/config/snippets/JavaScript YUI.rb +188 -0
  185. data/config/snippets/JavaScript jQuery.rb +377 -0
  186. data/config/snippets/JavaScript.rb +55 -0
  187. data/config/snippets/Lex-Flex.rb +3 -0
  188. data/config/snippets/Lighttpd.rb +3 -0
  189. data/config/snippets/LilyPond.rb +18 -0
  190. data/config/snippets/Lisp.rb +42 -0
  191. data/config/snippets/Logo.rb +8 -0
  192. data/config/snippets/Logtalk.rb +62 -0
  193. data/config/snippets/Lua.rb +35 -0
  194. data/config/snippets/MEL.rb +3 -0
  195. data/config/snippets/MIPS Assembler.rb +7 -0
  196. data/config/snippets/MacPorts.rb +3 -0
  197. data/config/snippets/Mail.rb +3 -0
  198. data/config/snippets/Make.rb +3 -0
  199. data/config/snippets/Man Pages.rb +3 -0
  200. data/config/snippets/Math.rb +3 -0
  201. data/config/snippets/Matlab.rb +180 -0
  202. data/config/snippets/Maven.rb +7 -0
  203. data/config/snippets/Mediawiki.rb +14 -0
  204. data/config/snippets/Mercurial.rb +3 -0
  205. data/config/snippets/Modula.rb +3 -0
  206. data/config/snippets/MoinMoin.rb +12 -0
  207. data/config/snippets/Movable Type.rb +55 -0
  208. data/config/snippets/Navigation.rb +3 -0
  209. data/config/snippets/Nemerle.rb +81 -0
  210. data/config/snippets/OCaml Code Completion Misc.rb +74 -0
  211. data/config/snippets/OCaml Code Completion Unix.rb +205 -0
  212. data/config/snippets/OCaml Experimental Completions.rb +3 -0
  213. data/config/snippets/OCaml.rb +75 -0
  214. data/config/snippets/ODCompletion.rb +120 -0
  215. data/config/snippets/Objective-C.rb +195 -0
  216. data/config/snippets/OpenGL.rb +3 -0
  217. data/config/snippets/Outlines.rb +3 -0
  218. data/config/snippets/PHP Smarty.rb +81 -0
  219. data/config/snippets/Pascal.rb +35 -0
  220. data/config/snippets/Perforce.rb +3 -0
  221. data/config/snippets/Perl HTML::Template.rb +27 -0
  222. data/config/snippets/Perl Mason.rb +32 -0
  223. data/config/snippets/Perl Template Toolkit.rb +22 -0
  224. data/config/snippets/Perl.rb +74 -0
  225. data/config/snippets/Postscript.rb +3 -0
  226. data/config/snippets/Processing.rb +35 -0
  227. data/config/snippets/Prolog.rb +3 -0
  228. data/config/snippets/Propel.rb +32 -0
  229. data/config/snippets/Property List.rb +26 -0
  230. data/config/snippets/Python Django Templates.rb +97 -0
  231. data/config/snippets/Python Django.rb +134 -0
  232. data/config/snippets/Quake.rb +3 -0
  233. data/config/snippets/R Console (R.app).rb +3 -0
  234. data/config/snippets/R Console (Rdaemon).rb +11 -0
  235. data/config/snippets/R.rb +79 -0
  236. data/config/snippets/Ragel.rb +3 -0
  237. data/config/snippets/Regular Expressions.rb +3 -0
  238. data/config/snippets/Remind.rb +17 -0
  239. data/config/snippets/Rez.rb +3 -0
  240. data/config/snippets/Ruby Haml.rb +3 -0
  241. data/config/snippets/Ruby RSpec.rb +240 -0
  242. data/config/snippets/Ruby on Rails.rb +767 -0
  243. data/config/snippets/Ruby.rb +547 -0
  244. data/config/snippets/S5 Slide Show.rb +26 -0
  245. data/config/snippets/SCons.rb +3 -0
  246. data/config/snippets/SQL.rb +3 -0
  247. data/config/snippets/SSH Config.rb +19 -0
  248. data/config/snippets/SVK.rb +3 -0
  249. data/config/snippets/SWIG.rb +20 -0
  250. data/config/snippets/SWeave.rb +3 -0
  251. data/config/snippets/Scheme.rb +3 -0
  252. data/config/snippets/Scilab.rb +81 -0
  253. data/config/snippets/Setext.rb +10 -0
  254. data/config/snippets/Shell Script.rb +44 -0
  255. data/config/snippets/Slate.rb +50 -0
  256. data/config/snippets/Source.rb +3 -0
  257. data/config/snippets/Standard ML.rb +29 -0
  258. data/config/snippets/Subversion.rb +3 -0
  259. data/config/snippets/TODO.rb +3 -0
  260. data/config/snippets/Tabular.rb +3 -0
  261. data/config/snippets/Tcl.rb +28 -0
  262. data/config/snippets/TerminalMate.rb +3 -0
  263. data/config/snippets/Text.rb +17 -0
  264. data/config/snippets/TextMate.rb +3 -0
  265. data/config/snippets/Textile.rb +47 -0
  266. data/config/snippets/Thrift.rb +20 -0
  267. data/config/snippets/Transmit.rb +3 -0
  268. data/config/snippets/Twiki.rb +107 -0
  269. data/config/snippets/Txt2tags.rb +81 -0
  270. data/config/snippets/Vectorscript.rb +40 -0
  271. data/config/snippets/Widget Creator.rb +7 -0
  272. data/config/snippets/XML.rb +20 -0
  273. data/config/snippets/Xcode.rb +3 -0
  274. data/config/snippets/YAML.rb +6 -0
  275. data/config/snippets/iCalendar.rb +3 -0
  276. data/config/snippets/iTerm.rb +3 -0
  277. data/config/snippets/newLisp.rb +33 -0
  278. data/config/snippets/reStructuredText.rb +22 -0
  279. data/config/syntax/ANTLR.rb +122 -0
  280. data/config/syntax/ASP vb.NET.rb +114 -0
  281. data/config/syntax/ASP.rb +72 -0
  282. data/config/syntax/ActionScript.rb +83 -0
  283. data/config/syntax/Active4D Config.rb +38 -0
  284. data/config/syntax/Active4D Library.rb +20 -0
  285. data/config/syntax/Active4D.rb +237 -0
  286. data/config/syntax/Ada.rb +50 -0
  287. data/config/syntax/Ant.rb +80 -0
  288. data/config/syntax/Apache.rb +148 -0
  289. data/config/syntax/AppleScript.rb +370 -0
  290. data/config/syntax/BibTeX.rb +98 -0
  291. data/config/syntax/Bison.rb +28 -0
  292. data/config/syntax/Blog - HTML.rb +38 -0
  293. data/config/syntax/Blog - Markdown.rb +36 -0
  294. data/config/syntax/Blog - Text.rb +24 -0
  295. data/config/syntax/Blog - Textile.rb +24 -0
  296. data/config/syntax/Bulletin Board.rb +202 -0
  297. data/config/syntax/C++ Qt.rb +27 -0
  298. data/config/syntax/C++.rb +159 -0
  299. data/config/syntax/C.rb +341 -0
  300. data/config/syntax/CMake Listfile.rb +87 -0
  301. data/config/syntax/CSS.rb +151 -0
  302. data/config/syntax/CSV.rb +52 -0
  303. data/config/syntax/ColdFusion.rb +92 -0
  304. data/config/syntax/Context Free.rb +133 -0
  305. data/config/syntax/D.rb +285 -0
  306. data/config/syntax/Diff.rb +59 -0
  307. data/config/syntax/DokuWiki.rb +158 -0
  308. data/config/syntax/Doxygen.rb +31 -0
  309. data/config/syntax/Dylan.rb +53 -0
  310. data/config/syntax/Eiffel.rb +52 -0
  311. data/config/syntax/Erlang.rb +632 -0
  312. data/config/syntax/F-Script.rb +56 -0
  313. data/config/syntax/FXScript.rb +140 -0
  314. data/config/syntax/Fortran - Modern.rb +147 -0
  315. data/config/syntax/Fortran - Punchcard.rb +257 -0
  316. data/config/syntax/GTD.rb +15 -0
  317. data/config/syntax/GTDalt.rb +95 -0
  318. data/config/syntax/Gettext.rb +54 -0
  319. data/config/syntax/Graphviz (DOT).rb +37 -0
  320. data/config/syntax/Greasemonkey.rb +31 -0
  321. data/config/syntax/Gri.rb +61 -0
  322. data/config/syntax/HTML (ASP).rb +23 -0
  323. data/config/syntax/HTML (ASP.net).rb +304 -0
  324. data/config/syntax/HTML (Active4D).rb +219 -0
  325. data/config/syntax/HTML (Django).rb +35 -0
  326. data/config/syntax/HTML (Erlang).rb +26 -0
  327. data/config/syntax/HTML (Mason).rb +74 -0
  328. data/config/syntax/HTML (Rails).rb +34 -0
  329. data/config/syntax/HTML (Tcl).rb +23 -0
  330. data/config/syntax/HTML (Template Toolkit).rb +88 -0
  331. data/config/syntax/HTML.rb +265 -0
  332. data/config/syntax/Haskell.rb +188 -0
  333. data/config/syntax/Inform.rb +37 -0
  334. data/config/syntax/Ini.rb +36 -0
  335. data/config/syntax/Installer Distribution Script.rb +78 -0
  336. data/config/syntax/Io.rb +59 -0
  337. data/config/syntax/JSFL.rb +24 -0
  338. data/config/syntax/JSON.rb +118 -0
  339. data/config/syntax/Java Properties.rb +21 -0
  340. data/config/syntax/Java Server Page (JSP).rb +71 -0
  341. data/config/syntax/Java.rb +288 -0
  342. data/config/syntax/JavaDoc.rb +178 -0
  343. data/config/syntax/JavaScript (Rails).rb +24 -0
  344. data/config/syntax/JavaScript.rb +193 -0
  345. data/config/syntax/Javascript YUI.rb +245 -0
  346. data/config/syntax/LaTeX Beamer.rb +30 -0
  347. data/config/syntax/LaTeX Log.rb +35 -0
  348. data/config/syntax/LaTeX Memoir.rb +46 -0
  349. data/config/syntax/LaTeX Rdaemon.rb +24 -0
  350. data/config/syntax/LaTeX.rb +424 -0
  351. data/config/syntax/Language Grammar.rb +585 -0
  352. data/config/syntax/Lex-Flex.rb +172 -0
  353. data/config/syntax/Lighttpd.rb +41 -0
  354. data/config/syntax/LilyPond.rb +383 -0
  355. data/config/syntax/Lisp.rb +43 -0
  356. data/config/syntax/Literate Haskell.rb +26 -0
  357. data/config/syntax/Logo.rb +25 -0
  358. data/config/syntax/Logtalk.rb +131 -0
  359. data/config/syntax/Lua.rb +65 -0
  360. data/config/syntax/MATLAB.rb +468 -0
  361. data/config/syntax/MEL.rb +65 -0
  362. data/config/syntax/MIPS Assembler.rb +47 -0
  363. data/config/syntax/MacPorts Portfile.rb +130 -0
  364. data/config/syntax/Mail.rb +97 -0
  365. data/config/syntax/Makefile.rb +30 -0
  366. data/config/syntax/Man.rb +16 -0
  367. data/config/syntax/Maven POM.rb +305 -0
  368. data/config/syntax/Mediawiki.rb +349 -0
  369. data/config/syntax/Modula-3.rb +40 -0
  370. data/config/syntax/MoinMoin.rb +132 -0
  371. data/config/syntax/MooTools.rb +375 -0
  372. data/config/syntax/Movable Type (MT only).rb +143 -0
  373. data/config/syntax/Movable Type.rb +156 -0
  374. data/config/syntax/Nemerle.rb +63 -0
  375. data/config/syntax/OCaml.rb +553 -0
  376. data/config/syntax/OCamllex.rb +133 -0
  377. data/config/syntax/OCamlyacc.rb +148 -0
  378. data/config/syntax/Objective-C++.rb +15 -0
  379. data/config/syntax/Objective-C.rb +423 -0
  380. data/config/syntax/Objective-J.rb +183 -0
  381. data/config/syntax/Octave.rb +215 -0
  382. data/config/syntax/OpenGL.rb +18 -0
  383. data/config/syntax/Pascal.rb +57 -0
  384. data/config/syntax/Perl HTML-Template.rb +61 -0
  385. data/config/syntax/Perl.rb +764 -0
  386. data/config/syntax/Plain Text.rb +27 -0
  387. data/config/syntax/Postscript.rb +88 -0
  388. data/config/syntax/Processing.rb +87 -0
  389. data/config/syntax/Prolog.rb +31 -0
  390. data/config/syntax/Property List.rb +463 -0
  391. data/config/syntax/Prototype & Script.aculo.us (JavaScript) Bracketed.rb +100 -0
  392. data/config/syntax/Prototype & Script.aculo.us (JavaScript).rb +56 -0
  393. data/config/syntax/Python Django.rb +25 -0
  394. data/config/syntax/Python.rb +836 -0
  395. data/config/syntax/Quake Style .cfg.rb +27 -0
  396. data/config/syntax/R Console (R.app).rb +13 -0
  397. data/config/syntax/R Console (Rdaemon) Plain.rb +30 -0
  398. data/config/syntax/R Console (Rdaemon).rb +33 -0
  399. data/config/syntax/R.rb +64 -0
  400. data/config/syntax/RJS.rb +8 -0
  401. data/config/syntax/RSpec.rb +64 -0
  402. data/config/syntax/Ragel.rb +159 -0
  403. data/config/syntax/Rd (R Documentation).rb +50 -0
  404. data/config/syntax/Regular Expressions (Oniguruma).rb +78 -0
  405. data/config/syntax/Regular Expressions (Python).rb +78 -0
  406. data/config/syntax/Release Notes.rb +38 -0
  407. data/config/syntax/Remind.rb +179 -0
  408. data/config/syntax/Rez.rb +61 -0
  409. data/config/syntax/Ruby Haml.rb +97 -0
  410. data/config/syntax/Ruby on Rails.rb +116 -0
  411. data/config/syntax/Ruby.rb +758 -0
  412. data/config/syntax/S5 Slide Show.rb +51 -0
  413. data/config/syntax/SQL (Rails).rb +17 -0
  414. data/config/syntax/SQL.rb +205 -0
  415. data/config/syntax/SSH Config.rb +25 -0
  416. data/config/syntax/SWIG.rb +47 -0
  417. data/config/syntax/SWeave.rb +57 -0
  418. data/config/syntax/Scheme.rb +280 -0
  419. data/config/syntax/Scilab.rb +30 -0
  420. data/config/syntax/Setext.rb +102 -0
  421. data/config/syntax/Shell Script (Bash).rb +454 -0
  422. data/config/syntax/Slate.rb +96 -0
  423. data/config/syntax/Smarty.rb +46 -0
  424. data/config/syntax/Standard ML - CM.rb +27 -0
  425. data/config/syntax/Standard ML.rb +119 -0
  426. data/config/syntax/Strings File.rb +33 -0
  427. data/config/syntax/TSV.rb +40 -0
  428. data/config/syntax/Tcl.rb +119 -0
  429. data/config/syntax/TeX Math.rb +37 -0
  430. data/config/syntax/TeX.rb +58 -0
  431. data/config/syntax/Textile.rb +174 -0
  432. data/config/syntax/Thrift.rb +285 -0
  433. data/config/syntax/Twiki.rb +163 -0
  434. data/config/syntax/Txt2tags.rb +70 -0
  435. data/config/syntax/Vectorscript.rb +48 -0
  436. data/config/syntax/XML strict.rb +60 -0
  437. data/config/syntax/XML.rb +117 -0
  438. data/config/syntax/XSL.rb +43 -0
  439. data/config/syntax/YAML.rb +109 -0
  440. data/config/syntax/camlp4.rb +27 -0
  441. data/config/syntax/iCalendar.rb +25 -0
  442. data/config/syntax/jQuery (JavaScript).rb +108 -0
  443. data/config/syntax/mod_perl.rb +41 -0
  444. data/config/syntax/newLisp.rb +82 -0
  445. data/config/syntax/qmake Project file.rb +87 -0
  446. data/config/syntax/reStructuredText.rb +180 -0
  447. data/config/syntax/svn-commit.tmp.rb +25 -0
  448. data/config/theme/Active4D.rb +105 -0
  449. data/config/theme/All Hallow's Eve.rb +70 -0
  450. data/config/theme/Amy.rb +141 -0
  451. data/config/theme/Blackboard.rb +90 -0
  452. data/config/theme/Brilliance Black.rb +693 -0
  453. data/config/theme/Brilliance Dull.rb +588 -0
  454. data/config/theme/Cobalt.rb +147 -0
  455. data/config/theme/Dawn.rb +113 -0
  456. data/config/theme/Eiffel.rb +113 -0
  457. data/config/theme/Embers.rb +125 -0
  458. data/config/theme/Espresso Libre.rb +104 -0
  459. data/config/theme/IDLE.rb +57 -0
  460. data/config/theme/LAZY.rb +74 -0
  461. data/config/theme/Mac Classic.rb +117 -0
  462. data/config/theme/MagicWB (Amiga).rb +97 -0
  463. data/config/theme/Pastels on Dark.rb +182 -0
  464. data/config/theme/Slush & Poppies.rb +83 -0
  465. data/config/theme/SpaceCadet.rb +44 -0
  466. data/config/theme/Sunburst.rb +172 -0
  467. data/config/theme/Twilight.rb +137 -0
  468. data/config/theme/Zenburnesque.rb +88 -0
  469. data/config/theme/iPlastic.rb +73 -0
  470. data/config/theme/newLISP dark.rb +183 -0
  471. data/config/theme/newLISP.rb +183 -0
  472. data/config/welcome +10 -14
  473. data/lib/ver.rb +272 -79
  474. data/lib/ver/action.rb +43 -0
  475. data/lib/ver/buffer.rb +229 -0
  476. data/lib/ver/buffer/console.rb +171 -0
  477. data/lib/ver/buffer/term.rb +255 -0
  478. data/lib/ver/entry.rb +120 -97
  479. data/lib/ver/exception_view.rb +11 -1
  480. data/lib/ver/executor.rb +83 -0
  481. data/lib/ver/executor/buffer.rb +31 -0
  482. data/lib/ver/executor/entry.rb +175 -0
  483. data/lib/ver/executor/fuzzy_file_finder.rb +100 -0
  484. data/lib/ver/executor/grep.rb +101 -0
  485. data/lib/ver/executor/label.rb +57 -0
  486. data/lib/ver/executor/locate.rb +20 -0
  487. data/lib/ver/executor/method.rb +80 -0
  488. data/lib/ver/executor/path.rb +45 -0
  489. data/lib/ver/executor/syntax.rb +22 -0
  490. data/lib/ver/executor/theme.rb +21 -0
  491. data/lib/ver/help.rb +0 -10
  492. data/lib/ver/help/describe_key.rb +8 -7
  493. data/lib/ver/help/help_for_help.rb +1 -1
  494. data/lib/ver/hover_completion.rb +39 -34
  495. data/lib/ver/keymap.rb +121 -158
  496. data/lib/ver/keymap/keymapped.rb +25 -0
  497. data/lib/ver/keysyms.rb +104 -0
  498. data/lib/ver/layout/notebook.rb +74 -0
  499. data/lib/ver/layout/paned.rb +184 -0
  500. data/lib/ver/layout/tiling.rb +135 -0
  501. data/lib/ver/layout/tiling/common.rb +34 -0
  502. data/lib/ver/layout/tiling/horizontal.rb +25 -0
  503. data/lib/ver/layout/tiling/vertical.rb +25 -0
  504. data/lib/ver/major_mode.rb +162 -0
  505. data/lib/ver/methods.rb +21 -22
  506. data/lib/ver/methods/autofill.rb +23 -0
  507. data/lib/ver/methods/basic.rb +53 -0
  508. data/lib/ver/methods/bookmark.rb +116 -104
  509. data/lib/ver/methods/clipboard.rb +59 -47
  510. data/lib/ver/methods/completion.rb +93 -77
  511. data/lib/ver/methods/control.rb +297 -240
  512. data/lib/ver/methods/ctags.rb +38 -29
  513. data/lib/ver/methods/delete.rb +47 -31
  514. data/lib/ver/methods/help.rb +9 -1
  515. data/lib/ver/methods/insert.rb +67 -203
  516. data/lib/ver/methods/layout.rb +122 -0
  517. data/lib/ver/methods/move.rb +229 -158
  518. data/lib/ver/methods/nano.rb +186 -0
  519. data/lib/ver/methods/open.rb +247 -53
  520. data/lib/ver/methods/preview.rb +66 -5
  521. data/lib/ver/methods/save.rb +127 -44
  522. data/lib/ver/methods/search.rb +103 -56
  523. data/lib/ver/methods/search_and_replace.rb +118 -0
  524. data/lib/ver/methods/selection.rb +443 -0
  525. data/lib/ver/methods/snippet.rb +244 -0
  526. data/lib/ver/methods/undo.rb +34 -13
  527. data/lib/ver/minibuffer.rb +293 -0
  528. data/lib/ver/minor_mode.rb +204 -0
  529. data/lib/ver/plist.rb +208 -20
  530. data/lib/ver/status.rb +76 -128
  531. data/lib/ver/status/battery.rb +147 -0
  532. data/lib/ver/status/buffer_position.rb +17 -0
  533. data/lib/ver/status/diakonos_position.rb +17 -0
  534. data/lib/ver/status/encoding.rb +13 -0
  535. data/lib/ver/status/filename.rb +13 -0
  536. data/lib/ver/status/label.rb +62 -0
  537. data/lib/ver/status/mode.rb +15 -0
  538. data/lib/ver/status/nano_help.rb +71 -0
  539. data/lib/ver/status/nano_position.rb +38 -0
  540. data/lib/ver/status/percent.rb +17 -0
  541. data/lib/ver/status/position.rb +16 -0
  542. data/lib/ver/status/separator.rb +20 -0
  543. data/lib/ver/status/short_filename.rb +13 -0
  544. data/lib/ver/status/syntax.rb +13 -0
  545. data/lib/ver/syntax.rb +15 -20
  546. data/lib/ver/syntax/detector.rb +7 -13
  547. data/lib/ver/syntax/processor.rb +4 -4
  548. data/lib/ver/text.rb +337 -170
  549. data/lib/ver/theme.rb +51 -28
  550. data/lib/ver/treeview.rb +54 -0
  551. data/lib/ver/undo.rb +37 -17
  552. data/lib/ver/vendor/better_pp_hash.rb +27 -0
  553. data/lib/ver/vendor/binary_search.rb +2 -2
  554. data/lib/ver/vendor/fuzzy_file_finder.rb +22 -8
  555. data/lib/ver/vendor/pathname.rb +26 -0
  556. data/lib/ver/vendor/textpow.rb +30 -32
  557. data/lib/ver/version.rb +1 -1
  558. data/lib/ver/widget_event.rb +49 -0
  559. data/lib/ver/widget_major_mode.rb +192 -0
  560. data/spec/helper.rb +49 -78
  561. data/spec/tm_snippet.rb +178 -0
  562. data/spec/ver/action.rb +65 -0
  563. data/spec/ver/keymap.rb +77 -0
  564. data/spec/ver/major_mode.rb +150 -0
  565. data/spec/ver/methods/move.rb +150 -0
  566. data/spec/ver/minor_mode.rb +90 -0
  567. data/spec/ver/plugin/smart_autoindent.rb +276 -0
  568. data/spec/ver/widget_major_mode.rb +69 -0
  569. data/tasks/rcov.rake +2 -3
  570. data/tasks/syntax_list.rake +28 -24
  571. data/ver.gemspec +6 -9
  572. metadata +524 -342
  573. data/TODO +0 -169
  574. data/config/preferences/ANTLR.json +0 -10
  575. data/config/preferences/ASP vb.NET.json +0 -3
  576. data/config/preferences/ASP.json +0 -15
  577. data/config/preferences/ActionScript.json +0 -755
  578. data/config/preferences/Active4D.json +0 -89
  579. data/config/preferences/Ada.json +0 -23
  580. data/config/preferences/Ant.json +0 -356
  581. data/config/preferences/Apache.json +0 -644
  582. data/config/preferences/AppleScript.json +0 -92
  583. data/config/preferences/Bison.json +0 -3
  584. data/config/preferences/Blogging.json +0 -3
  585. data/config/preferences/C.json +0 -127
  586. data/config/preferences/CMake.json +0 -41
  587. data/config/preferences/CSS.json +0 -461
  588. data/config/preferences/CTags.json +0 -3
  589. data/config/preferences/CVS.json +0 -3
  590. data/config/preferences/ColdFusion.json +0 -32
  591. data/config/preferences/D.json +0 -58
  592. data/config/preferences/Darcs.json +0 -3
  593. data/config/preferences/Diff.json +0 -67
  594. data/config/preferences/DokuWiki.json +0 -19
  595. data/config/preferences/Doxygen.json +0 -3
  596. data/config/preferences/Dylan.json +0 -3
  597. data/config/preferences/Eiffel.json +0 -59
  598. data/config/preferences/Erlang.json +0 -72
  599. data/config/preferences/Experimental.json +0 -1356
  600. data/config/preferences/F-Script.json +0 -87
  601. data/config/preferences/FXScript.json +0 -78
  602. data/config/preferences/FileMerge.json +0 -3
  603. data/config/preferences/Fortran.json +0 -158
  604. data/config/preferences/GTD2.json +0 -11
  605. data/config/preferences/GTDAlt.json +0 -20
  606. data/config/preferences/GetBundle.json +0 -3
  607. data/config/preferences/Gettext.json +0 -24
  608. data/config/preferences/Graphviz.json +0 -42
  609. data/config/preferences/Greasemonkey.json +0 -3
  610. data/config/preferences/Gri.json +0 -34
  611. data/config/preferences/HTML.json +0 -492
  612. data/config/preferences/Haskell.json +0 -72
  613. data/config/preferences/Hotkey.json +0 -3
  614. data/config/preferences/ImageBrowser.json +0 -3
  615. data/config/preferences/Inform.json +0 -3
  616. data/config/preferences/Ini.json +0 -60
  617. data/config/preferences/Installer.json +0 -3
  618. data/config/preferences/Io.json +0 -64
  619. data/config/preferences/JSON.json +0 -3
  620. data/config/preferences/Java.json +0 -86
  621. data/config/preferences/JavaDoc.json +0 -3
  622. data/config/preferences/JavaScript.json +0 -76
  623. data/config/preferences/LaTeX.json +0 -267
  624. data/config/preferences/Lex/Flex.json +0 -3
  625. data/config/preferences/Lighttpd.json +0 -3
  626. data/config/preferences/LilyPond.json +0 -77
  627. data/config/preferences/Lisp.json +0 -63
  628. data/config/preferences/Logo.json +0 -58
  629. data/config/preferences/Logtalk.json +0 -236
  630. data/config/preferences/Lua.json +0 -24
  631. data/config/preferences/MEL.json +0 -19
  632. data/config/preferences/MIPS Assembler.json +0 -26
  633. data/config/preferences/MacPorts.json +0 -3
  634. data/config/preferences/Mail.json +0 -3
  635. data/config/preferences/Make.json +0 -16
  636. data/config/preferences/Markdown.json +0 -102
  637. data/config/preferences/Math.json +0 -3
  638. data/config/preferences/Matlab.json +0 -128
  639. data/config/preferences/Maven.json +0 -308
  640. data/config/preferences/Mediawiki.json +0 -73
  641. data/config/preferences/Mercurial.json +0 -3
  642. data/config/preferences/Modula.json +0 -37
  643. data/config/preferences/MoinMoin.json +0 -52
  644. data/config/preferences/Navigation.json +0 -3
  645. data/config/preferences/Nemerle.json +0 -3
  646. data/config/preferences/OCaml Code Completion.json +0 -3
  647. data/config/preferences/OCaml.json +0 -163
  648. data/config/preferences/ODCompletion.json +0 -3
  649. data/config/preferences/Objective-C.json +0 -84
  650. data/config/preferences/OpenGL.json +0 -3331
  651. data/config/preferences/Outlines.json +0 -3
  652. data/config/preferences/Pascal.json +0 -60
  653. data/config/preferences/Perforce.json +0 -3
  654. data/config/preferences/Perl.json +0 -15
  655. data/config/preferences/PmWiki.json +0 -27
  656. data/config/preferences/Postscript.json +0 -15
  657. data/config/preferences/Processing.json +0 -32
  658. data/config/preferences/Prolog.json +0 -3
  659. data/config/preferences/Propel.json +0 -3
  660. data/config/preferences/Python.json +0 -38
  661. data/config/preferences/Quake.json +0 -15
  662. data/config/preferences/R.json +0 -33
  663. data/config/preferences/Ragel.json +0 -15
  664. data/config/preferences/Regular Expressions.json +0 -3
  665. data/config/preferences/Remind.json +0 -15
  666. data/config/preferences/Rez.json +0 -46
  667. data/config/preferences/Ruby.json +0 -98
  668. data/config/preferences/S5 Slide Show.json +0 -20
  669. data/config/preferences/SCons.json +0 -3
  670. data/config/preferences/SQL.json +0 -32
  671. data/config/preferences/SSH Config.json +0 -15
  672. data/config/preferences/SVK.json +0 -3
  673. data/config/preferences/SWIG.json +0 -3
  674. data/config/preferences/SWeave.json +0 -32
  675. data/config/preferences/Scheme.json +0 -35
  676. data/config/preferences/Scilab.json +0 -15
  677. data/config/preferences/Setext.json +0 -3
  678. data/config/preferences/Shell Script.json +0 -25
  679. data/config/preferences/Slate.json +0 -113
  680. data/config/preferences/Source.json +0 -132
  681. data/config/preferences/Subversion.json +0 -10
  682. data/config/preferences/TODO.json +0 -3
  683. data/config/preferences/Tabular.json +0 -3
  684. data/config/preferences/Tcl.json +0 -82
  685. data/config/preferences/TerminalMate.json +0 -112
  686. data/config/preferences/Text.json +0 -89
  687. data/config/preferences/TextMate.json +0 -38
  688. data/config/preferences/Textile.json +0 -76
  689. data/config/preferences/Thrift.json +0 -56
  690. data/config/preferences/Transmit.json +0 -3
  691. data/config/preferences/Twiki.json +0 -51
  692. data/config/preferences/Txt2tags.json +0 -81
  693. data/config/preferences/Vectorscript.json +0 -1280
  694. data/config/preferences/XML.json +0 -60
  695. data/config/preferences/Xcode.json +0 -3
  696. data/config/preferences/YAML.json +0 -24
  697. data/config/preferences/iCalendar.json +0 -10
  698. data/config/preferences/iTerm.json +0 -36
  699. data/config/preferences/reStructuredText.json +0 -48
  700. data/config/syntax/ANTLR.json +0 -275
  701. data/config/syntax/ASP vb.NET.json +0 -228
  702. data/config/syntax/ASP.json +0 -135
  703. data/config/syntax/ActionScript.json +0 -168
  704. data/config/syntax/Active4D Config.json +0 -86
  705. data/config/syntax/Active4D Library.json +0 -20
  706. data/config/syntax/Active4D.json +0 -418
  707. data/config/syntax/Ada.json +0 -108
  708. data/config/syntax/Ant.json +0 -196
  709. data/config/syntax/Apache.json +0 -342
  710. data/config/syntax/AppleScript.json +0 -721
  711. data/config/syntax/BibTeX.json +0 -253
  712. data/config/syntax/Bison.json +0 -59
  713. data/config/syntax/Blog - HTML.json +0 -47
  714. data/config/syntax/Blog - Markdown.json +0 -50
  715. data/config/syntax/Blog - Text.json +0 -45
  716. data/config/syntax/Blog - Textile.json +0 -45
  717. data/config/syntax/C++.json +0 -323
  718. data/config/syntax/C.json +0 -694
  719. data/config/syntax/CMake Listfile.json +0 -171
  720. data/config/syntax/CSS.json +0 -346
  721. data/config/syntax/CSV.json +0 -108
  722. data/config/syntax/ColdFusion.json +0 -204
  723. data/config/syntax/D.json +0 -560
  724. data/config/syntax/Diff.json +0 -136
  725. data/config/syntax/DokuWiki.json +0 -412
  726. data/config/syntax/Doxygen.json +0 -80
  727. data/config/syntax/Dylan.json +0 -104
  728. data/config/syntax/Eiffel.json +0 -128
  729. data/config/syntax/Erlang.json +0 -1636
  730. data/config/syntax/F-Script.json +0 -137
  731. data/config/syntax/FXScript.json +0 -260
  732. data/config/syntax/Fortran - Modern.json +0 -221
  733. data/config/syntax/Fortran - Punchcard.json +0 -468
  734. data/config/syntax/GTD.json +0 -39
  735. data/config/syntax/GTDalt.json +0 -233
  736. data/config/syntax/Gettext.json +0 -118
  737. data/config/syntax/Go.json +0 -555
  738. data/config/syntax/Graphviz (DOT).json +0 -79
  739. data/config/syntax/Greasemonkey.json +0 -56
  740. data/config/syntax/Gri.json +0 -141
  741. data/config/syntax/HTML (ASP).json +0 -45
  742. data/config/syntax/HTML (ASP.net).json +0 -736
  743. data/config/syntax/HTML (Active4D).json +0 -540
  744. data/config/syntax/HTML (Erlang).json +0 -31
  745. data/config/syntax/HTML (Tcl).json +0 -42
  746. data/config/syntax/HTML.json +0 -614
  747. data/config/syntax/Haskell.json +0 -407
  748. data/config/syntax/Inform.json +0 -80
  749. data/config/syntax/Ini.json +0 -91
  750. data/config/syntax/Installer Distribution Script.json +0 -135
  751. data/config/syntax/Io.json +0 -142
  752. data/config/syntax/JSON.json +0 -151
  753. data/config/syntax/Java Properties.json +0 -42
  754. data/config/syntax/Java Server Page (JSP).json +0 -163
  755. data/config/syntax/Java.json +0 -745
  756. data/config/syntax/JavaDoc.json +0 -435
  757. data/config/syntax/JavaScript.json +0 -446
  758. data/config/syntax/LaTeX Beamer.json +0 -65
  759. data/config/syntax/LaTeX Log.json +0 -88
  760. data/config/syntax/LaTeX Memoir.json +0 -101
  761. data/config/syntax/LaTeX.json +0 -962
  762. data/config/syntax/Lex-Flex.json +0 -396
  763. data/config/syntax/Lighttpd.json +0 -93
  764. data/config/syntax/LilyPond.json +0 -608
  765. data/config/syntax/Lisp.json +0 -101
  766. data/config/syntax/Literate Haskell.json +0 -55
  767. data/config/syntax/Logo.json +0 -48
  768. data/config/syntax/Logtalk.json +0 -289
  769. data/config/syntax/Lua.json +0 -146
  770. data/config/syntax/MATLAB.json +0 -744
  771. data/config/syntax/MEL.json +0 -161
  772. data/config/syntax/MIPS Assembler.json +0 -114
  773. data/config/syntax/MacPorts Portfile.json +0 -298
  774. data/config/syntax/Mail.json +0 -224
  775. data/config/syntax/Makefile.json +0 -66
  776. data/config/syntax/Markdown.json +0 -644
  777. data/config/syntax/Maven POM.json +0 -774
  778. data/config/syntax/Mediawiki.json +0 -736
  779. data/config/syntax/Modula-3.json +0 -80
  780. data/config/syntax/MoinMoin.json +0 -335
  781. data/config/syntax/MultiMarkdown.json +0 -41
  782. data/config/syntax/Nemerle.json +0 -128
  783. data/config/syntax/OCaml.json +0 -1391
  784. data/config/syntax/OCamllex.json +0 -307
  785. data/config/syntax/OCamlyacc.json +0 -346
  786. data/config/syntax/Objective-C++.json +0 -21
  787. data/config/syntax/Objective-C.json +0 -979
  788. data/config/syntax/Octave.json +0 -417
  789. data/config/syntax/OpenGL.json +0 -24
  790. data/config/syntax/PHP.json +0 -2184
  791. data/config/syntax/Pascal.json +0 -128
  792. data/config/syntax/Perl.json +0 -2091
  793. data/config/syntax/Plain Text.json +0 -49
  794. data/config/syntax/PmWiki.json +0 -241
  795. data/config/syntax/Postscript.json +0 -206
  796. data/config/syntax/Processing.json +0 -188
  797. data/config/syntax/Prolog.json +0 -70
  798. data/config/syntax/Python.json +0 -1934
  799. data/config/syntax/Quake Style .cfg.json +0 -54
  800. data/config/syntax/R.json +0 -157
  801. data/config/syntax/Ragel.json +0 -362
  802. data/config/syntax/Rd (R Documentation).json +0 -119
  803. data/config/syntax/Regular Expressions (Oniguruma).json +0 -186
  804. data/config/syntax/Regular Expressions (Python).json +0 -188
  805. data/config/syntax/Release Notes.json +0 -78
  806. data/config/syntax/Remind.json +0 -461
  807. data/config/syntax/Rez.json +0 -137
  808. data/config/syntax/Ruby Sass.json +0 -497
  809. data/config/syntax/Ruby.json +0 -1753
  810. data/config/syntax/S5 Slide Show.json +0 -85
  811. data/config/syntax/SQL.json +0 -435
  812. data/config/syntax/SSH Config.json +0 -55
  813. data/config/syntax/SWIG.json +0 -96
  814. data/config/syntax/SWeave.json +0 -139
  815. data/config/syntax/Scheme.json +0 -359
  816. data/config/syntax/Scilab.json +0 -69
  817. data/config/syntax/Setext.json +0 -247
  818. data/config/syntax/Shell Script (Bash).json +0 -1198
  819. data/config/syntax/Slate.json +0 -265
  820. data/config/syntax/Strings File.json +0 -53
  821. data/config/syntax/TSV.json +0 -83
  822. data/config/syntax/Tcl.json +0 -278
  823. data/config/syntax/TeX Math.json +0 -83
  824. data/config/syntax/TeX.json +0 -157
  825. data/config/syntax/Textile.json +0 -273
  826. data/config/syntax/Thrift.json +0 -641
  827. data/config/syntax/Twiki.json +0 -436
  828. data/config/syntax/Txt2tags.json +0 -154
  829. data/config/syntax/Vectorscript.json +0 -97
  830. data/config/syntax/XML strict.json +0 -148
  831. data/config/syntax/XML.json +0 -301
  832. data/config/syntax/XSL.json +0 -96
  833. data/config/syntax/YAML.json +0 -293
  834. data/config/syntax/camlp4.json +0 -63
  835. data/config/syntax/iCalendar.json +0 -51
  836. data/config/syntax/mod_perl.json +0 -72
  837. data/config/syntax/reStructuredText.json +0 -403
  838. data/config/syntax/svn-commit.tmp.json +0 -62
  839. data/config/theme/Active4D.json +0 -260
  840. data/config/theme/All Hallow's Eve.json +0 -171
  841. data/config/theme/Amy.json +0 -359
  842. data/config/theme/BBEdit.json +0 -269
  843. data/config/theme/Bespin.json +0 -322
  844. data/config/theme/Blackboard.json +0 -215
  845. data/config/theme/BoysAndGirls01.json +0 -156
  846. data/config/theme/Brilliance Black.json +0 -1695
  847. data/config/theme/Brilliance Dull.json +0 -1451
  848. data/config/theme/Classic Modified.json +0 -288
  849. data/config/theme/Cobalt.json +0 -345
  850. data/config/theme/Cool Glow.json +0 -215
  851. data/config/theme/Dawn.json +0 -258
  852. data/config/theme/Eiffel.json +0 -270
  853. data/config/theme/Espresso Libre.json +0 -247
  854. data/config/theme/Fluidvision.json +0 -272
  855. data/config/theme/IDLE.json +0 -159
  856. data/config/theme/LAZY.json +0 -178
  857. data/config/theme/Mac Classic.json +0 -277
  858. data/config/theme/MagicWB (Amiga).json +0 -231
  859. data/config/theme/Merbivore Soft.json +0 -181
  860. data/config/theme/Merbivore.json +0 -181
  861. data/config/theme/Monokai.json +0 -177
  862. data/config/theme/Notepad2.json +0 -166
  863. data/config/theme/Pastels on Dark.json +0 -437
  864. data/config/theme/RubyBlue.json +0 -226
  865. data/config/theme/Sin City 2.json +0 -361
  866. data/config/theme/Slate.json +0 -270
  867. data/config/theme/Slush & Poppies.json +0 -232
  868. data/config/theme/SpaceCadet.json +0 -143
  869. data/config/theme/Sunburst.json +0 -415
  870. data/config/theme/Twilight BG FG.json +0 -633
  871. data/config/theme/Twilight.json +0 -321
  872. data/config/theme/Whys Poignant.json +0 -119
  873. data/config/theme/Zenburnesque.json +0 -237
  874. data/config/theme/barf.json +0 -155
  875. data/config/theme/fake.json +0 -418
  876. data/config/theme/happydeluxe.json +0 -114
  877. data/config/theme/iLife 05.json +0 -393
  878. data/config/theme/iPlastic.json +0 -177
  879. data/config/theme/mintBlue Dark.json +0 -414
  880. data/config/theme/mintBlue.json +0 -415
  881. data/config/theme/monoindustrial.json +0 -276
  882. data/config/theme/starlight.json +0 -67
  883. data/lib/ver/layout.rb +0 -177
  884. data/lib/ver/methods/select.rb +0 -322
  885. data/lib/ver/methods/shortcuts.rb +0 -21
  886. data/lib/ver/methods/views.rb +0 -81
  887. data/lib/ver/mode.rb +0 -207
  888. data/lib/ver/status/context.rb +0 -166
  889. data/lib/ver/view.rb +0 -190
  890. data/lib/ver/view/console.rb +0 -171
  891. data/lib/ver/view/entry.rb +0 -32
  892. data/lib/ver/view/list.rb +0 -152
  893. data/lib/ver/view/list/buffer.rb +0 -27
  894. data/lib/ver/view/list/ex.rb +0 -71
  895. data/lib/ver/view/list/fuzzy_file_finder.rb +0 -44
  896. data/lib/ver/view/list/grep.rb +0 -53
  897. data/lib/ver/view/list/methods.rb +0 -159
  898. data/lib/ver/view/list/syntax.rb +0 -13
  899. data/lib/ver/view/list/theme.rb +0 -13
  900. data/lib/ver/view/term.rb +0 -255
  901. data/tasks/plist2json.rake +0 -35
@@ -0,0 +1,116 @@
1
+ # Encoding: UTF-8
2
+
3
+ {fileTypes: ["rb", "rxml", "builder"],
4
+ foldingStartMarker:
5
+ /(?x)^
6
+ (\s*+
7
+ (module|class|def
8
+ |unless|if
9
+ |case
10
+ |begin
11
+ |for|while|until
12
+ |( "(\\.|[^"])*+" # eat a double quoted string
13
+ | '(\\.|[^'])*+' # eat a single quoted string
14
+ | [^#"'] # eat all but comments and strings
15
+ )*
16
+ ( \s (do|begin|case)
17
+ | [-+=&|*\/~%^<>~] \s*+ (if|unless)
18
+ )
19
+ )\b
20
+ (?! [^;]*+ ; .*? \bend\b )
21
+ |( "(\\.|[^"])*+" # eat a double quoted string
22
+ | '(\\.|[^'])*+' # eat a single quoted string
23
+ | [^#"'] # eat all but comments and strings
24
+ )*
25
+ ( \{ (?! [^}]*+ \} )
26
+ | \[ (?! [^\]]*+ \] )
27
+ )
28
+ ).*$
29
+ | [#] .*? \(fold\) \s*+ $ # Sune’s special marker
30
+ /,
31
+ foldingStopMarker:
32
+ /(?x)
33
+ ( (^|;) \s*+ end \s*+ ([#].*)? $
34
+ | ^ \s*+ [}\]] \s*+ ([#].*)? $
35
+ | [#] .*? \(end\) \s*+ $ # Sune’s special marker
36
+ )/,
37
+ keyEquivalent: "^~R",
38
+ name: "Ruby on Rails",
39
+ patterns:
40
+ [{begin:
41
+ /(^\s*)(?=class\s+(([.a-zA-Z0-9_:]+ControllerTest(\s*<\s*[.a-zA-Z0-9_:]+)?)))/,
42
+ comment:
43
+ "Uses lookahead to match classes with the ControllerTest suffix; includes 'source.ruby' to avoid infinite recursion",
44
+ end: "^\\1(?=end)\\b",
45
+ name: "meta.rails.functional_test",
46
+ patterns: [{include: "source.ruby"}, {include: "$self"}]},
47
+ {begin:
48
+ /(^\s*)(?=class\s+(([.a-zA-Z0-9_:]+Controller\b(\s*<\s*[.a-zA-Z0-9_:]+)?)|(<<\s*[.a-zA-Z0-9_:]+)))(?!.+\bend\b)/,
49
+ comment:
50
+ "Uses lookahead to match classes with the Controller suffix; includes 'source.ruby' to avoid infinite recursion",
51
+ end: "^\\1(?=end)\\b",
52
+ name: "meta.rails.controller",
53
+ patterns: [{include: "source.ruby"}, {include: "$self"}]},
54
+ {begin: /(^\s*)(?=module\s+((([A-Z]\w*::)*)[A-Z]\w*)Helper)/,
55
+ comment:
56
+ "Uses lookahead to match modules with the Helper suffix; includes 'source.ruby' to avoid infinite recursion",
57
+ end: "^\\1(?=end)\\b",
58
+ name: "meta.rails.helper",
59
+ patterns: [{include: "source.ruby"}, {include: "$self"}]},
60
+ {begin: /(^\s*)(?=class\s+(([.a-zA-Z0-9_:]+(\s*<\s*ActionMailer::Base))))/,
61
+ comment:
62
+ "Uses lookahead to match classes that inherit from ActionMailer::Base; includes 'source.ruby' to avoid infinite recursion",
63
+ end: "^\\1(?=end)\\b",
64
+ name: "meta.rails.mailer",
65
+ patterns: [{include: "source.ruby"}, {include: "$self"}]},
66
+ {begin: /(^\s*)(?=class\s+.+ActiveRecord::Base)/,
67
+ comment:
68
+ "Uses lookahead to match classes that (may) inherit from ActiveRecord::Base; includes 'source.ruby' to avoid infinite recursion",
69
+ end: "^\\1(?=end)\\b",
70
+ name: "meta.rails.model",
71
+ patterns: [{include: "source.ruby"}, {include: "$self"}]},
72
+ {begin: /(^\s*)(?=class\s+.+ActiveRecord::Migration)/,
73
+ comment:
74
+ "Uses lookahead to match classes that (may) inherit from ActiveRecord::Migration; includes 'source.ruby' to avoid infinite recursion",
75
+ end: "^\\1(?=end)\\b",
76
+ name: "meta.rails.migration",
77
+ patterns:
78
+ [{begin: /(^\s*)(?=change_table)\b/,
79
+ comment:
80
+ "Uses lookahead to match methods change_table; includes 'source.ruby' to avoid infinite recursion",
81
+ contentName: "meta.rails.migration.change_table",
82
+ end: "^\\1(?=end)\\b",
83
+ patterns: [{include: "source.ruby"}, {include: "$self"}]},
84
+ {begin: /(^\s*)(?=create_table)\b/,
85
+ comment:
86
+ "Uses lookahead to match methods create_table; includes 'source.ruby' to avoid infinite recursion",
87
+ contentName: "meta.rails.migration.create_table",
88
+ end: "^\\1(?=end)\\b",
89
+ patterns: [{include: "source.ruby"}, {include: "$self"}]},
90
+ {include: "source.ruby"},
91
+ {include: "$self"}]},
92
+ {begin:
93
+ /(^\s*)(?=class\s+(?![.a-zA-Z0-9_:]+ControllerTest)(([.a-zA-Z0-9_:]+Test(\s*<\s*[.a-zA-Z0-9_:]+)?)|(<<\s*[.a-zA-Z0-9_:]+)))/,
94
+ comment:
95
+ "Uses lookahead to match classes with the Test suffix; includes 'source.ruby' to avoid infinite recursion",
96
+ end: "^\\1(?=end)\\b",
97
+ name: "meta.rails.unit_test",
98
+ patterns: [{include: "source.ruby"}, {include: "$self"}]},
99
+ {begin: /(^\s*)ActionController::Routing::Routes/,
100
+ comment:
101
+ "Uses ActionController::Routing::Routes to determine it is a routes file; includes 'source.ruby' to avoid infinite recursion",
102
+ end: "^\\1(?=end)\\b",
103
+ name: "meta.rails.routes",
104
+ patterns: [{include: "source.ruby"}, {include: "$self"}]},
105
+ {match:
106
+ /\b(before_filter|skip_before_filter|skip_after_filter|after_filter|around_filter|filter|filter_parameter_logging|layout|require_dependency|render|render_action|render_text|render_file|render_template|render_nothing|render_component|render_without_layout|rescue_from|url_for|redirect_to|redirect_to_path|redirect_to_url|respond_to|helper|helper_method|model|service|observer|serialize|scaffold|verify|hide_action)\b/,
107
+ name: "support.function.actionpack.rails"},
108
+ {match:
109
+ /\b(named_scope|after_create|after_destroy|after_save|after_update|after_validation|after_validation_on_create|after_validation_on_update|before_create|before_destroy|before_save|before_update|before_validation|before_validation_on_create|before_validation_on_update|composed_of|belongs_to|has_one|has_many|has_and_belongs_to_many|validate|validate_on_create|validates_numericality_of|validate_on_update|validates_acceptance_of|validates_associated|validates_confirmation_of|validates_each|validates_format_of|validates_inclusion_of|validates_exclusion_of|validates_length_of|validates_presence_of|validates_size_of|validates_uniqueness_of|attr_protected|attr_accessible|attr_readonly)\b/,
110
+ name: "support.function.activerecord.rails"},
111
+ {match:
112
+ /\b(alias_method_chain|alias_attribute|delegate|cattr_accessor|mattr_accessor|returning)\b/,
113
+ name: "support.function.activesupport.rails"},
114
+ {include: "source.ruby"}],
115
+ scopeName: "source.ruby.rails",
116
+ uuid: "54D6E91E-8F31-11D9-90C5-0011242E4184"}
@@ -0,0 +1,758 @@
1
+ # Encoding: UTF-8
2
+
3
+ {comment:
4
+ "\n\tTODO: unresolved issues\n\n\ttext:\n\t\"p << end\n\tprint me!\n\tend\"\n\tsymptoms:\n\tnot recognized as a heredoc\n\tsolution:\n\tthere is no way to distinguish perfectly between the << operator and the start\n\tof a heredoc. Currently, we require assignment to recognize a heredoc. More\n\trefinement is possible.\n\t• Heredocs with indented terminators (<<-) are always distinguishable, however.\n\t• Nested heredocs are not really supportable at present\n\n\ttext:\n\tprint <<-'THERE' \n\tThis is single quoted. \n\tThe above used \#{Time.now} \n\tTHERE \n\tsymtoms:\n\tFrom Programming Ruby p306; should be a non-interpolated heredoc.\n\t\n\ttext:\n\t\"a\\332a\"\n\tsymptoms:\n\t'\\332' is not recognized as slash3.. which should be octal 332.\n\tsolution:\n\tplain regexp.. should be easy.\n\n text:\n val?(a):p(b)\n val?'a':'b'\n symptoms:\n ':p' is recognized as a symbol.. its 2 things ':' and 'p'.\n :'b' has same problem.\n solution:\n ternary operator rule, precedence stuff, symbol rule.\n but also consider 'a.b?(:c)' ??\n",
5
+ fileTypes:
6
+ ["rb",
7
+ "rbx",
8
+ "rjs",
9
+ "Rakefile",
10
+ "rake",
11
+ "cgi",
12
+ "fcgi",
13
+ "gemspec",
14
+ "irbrc",
15
+ "capfile"],
16
+ firstLineMatch: "^#!/.*\\bruby\\b",
17
+ foldingStartMarker:
18
+ /(?x)^
19
+ (\s*+
20
+ (module|class|def(?!.*\bend\s*$)
21
+ |unless|if
22
+ |case
23
+ |begin
24
+ |for|while|until
25
+ |^=begin
26
+ |( "(\\.|[^"])*+" # eat a double quoted string
27
+ | '(\\.|[^'])*+' # eat a single quoted string
28
+ | [^#"'] # eat all but comments and strings
29
+ )*
30
+ ( \s (do|begin|case)
31
+ | (?<!\$)[-+=&|*\/~%^<>~] \s*+ (if|unless)
32
+ )
33
+ )\b
34
+ (?! [^;]*+ ; .*? \bend\b )
35
+ |( "(\\.|[^"])*+" # eat a double quoted string
36
+ | '(\\.|[^'])*+' # eat a single quoted string
37
+ | [^#"'] # eat all but comments and strings
38
+ )*
39
+ ( \{ (?! [^}]*+ \} )
40
+ | \[ (?! [^\]]*+ \] )
41
+ )
42
+ ).*$
43
+ | [#] .*? \(fold\) \s*+ $ # Sune’s special marker
44
+ /,
45
+ foldingStopMarker:
46
+ /(?x)
47
+ ( (^|;) \s*+ end \s*+ ([#].*)? $
48
+ | (^|;) \s*+ end \. .* $
49
+ | ^ \s*+ [}\]] ,? \s*+ ([#].*)? $
50
+ | [#] .*? \(end\) \s*+ $ # Sune’s special marker
51
+ | ^=end
52
+ )/,
53
+ keyEquivalent: /^~R/,
54
+ name: "Ruby",
55
+ patterns:
56
+ [{captures:
57
+ {1 => {name: "keyword.control.class.ruby"},
58
+ 2 => {name: "entity.name.type.class.ruby"},
59
+ 4 => {name: "entity.other.inherited-class.ruby"},
60
+ 5 => {name: "punctuation.separator.inheritance.ruby"},
61
+ 6 => {name: "variable.other.object.ruby"},
62
+ 7 => {name: "punctuation.definition.variable.ruby"}},
63
+ match:
64
+ /^\s*(class)\s+(([.a-zA-Z0-9_:]+(\s*(<)\s*[.a-zA-Z0-9_:]+)?)|((<<)\s*[.a-zA-Z0-9_:]+))/,
65
+ name: "meta.class.ruby"},
66
+ {captures:
67
+ {1 => {name: "keyword.control.module.ruby"},
68
+ 2 => {name: "entity.name.type.module.ruby"},
69
+ 3 => {name: "entity.other.inherited-class.module.first.ruby"},
70
+ 4 => {name: "punctuation.separator.inheritance.ruby"},
71
+ 5 => {name: "entity.other.inherited-class.module.second.ruby"},
72
+ 6 => {name: "punctuation.separator.inheritance.ruby"},
73
+ 7 => {name: "entity.other.inherited-class.module.third.ruby"},
74
+ 8 => {name: "punctuation.separator.inheritance.ruby"}},
75
+ match:
76
+ /^\s*(module)\s+(([A-Z]\w*(::))?([A-Z]\w*(::))?([A-Z]\w*(::))*[A-Z]\w*)/,
77
+ name: "meta.module.ruby"},
78
+ {comment:
79
+ "else if is a common mistake carried over from other languages. it works if you put in a second end, but it’s never what you want.",
80
+ match: /(?<!\.)\belse(\s)+if\b/,
81
+ name: "invalid.deprecated.ruby"},
82
+ {comment:
83
+ "everything being a reserved word, not a value and needing a 'end' is a..",
84
+ match:
85
+ /(?<!\.)\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\b(?![?!])/,
86
+ name: "keyword.control.ruby"},
87
+ {comment: "contextual smart pair support for block parameters",
88
+ match: /(?<!\.)\bdo\b\s*/,
89
+ name: "keyword.control.start-block.ruby"},
90
+ {comment: "contextual smart pair support",
91
+ match: /(?<=\{)(\s+)/,
92
+ name: "meta.syntax.ruby.start-block"},
93
+ {comment: " as above, just doesn't need a 'end' and does a logic operation",
94
+ match: /(?<!\.)\b(and|not|or)\b/,
95
+ name: "keyword.operator.logical.ruby"},
96
+ {comment: " just as above but being not a logical operation",
97
+ match:
98
+ /(?<!\.)\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\b(?![?!])|\bdefined\?|\bblock_given\?/,
99
+ name: "keyword.control.pseudo-method.ruby"},
100
+ {match: /\b(nil|true|false)\b(?![?!])/, name: "constant.language.ruby"},
101
+ {match: /\b(__(FILE|LINE)__|self)\b(?![?!])/,
102
+ name: "variable.language.ruby"},
103
+ {comment: " everything being a method but having a special function is a..",
104
+ match:
105
+ /\b(initialize|new|loop|include|extend|raise|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|module_function|public|protected)\b(?![?!])/,
106
+ name: "keyword.other.special-method.ruby"},
107
+ {begin: /\b(require|gem)\b/,
108
+ captures: {1 => {name: "keyword.other.special-method.ruby"}},
109
+ end: "$|(?=#)",
110
+ name: "meta.require.ruby",
111
+ patterns: [{include: "$self"}]},
112
+ {captures: {1 => {name: "punctuation.definition.variable.ruby"}},
113
+ match: /(@)[a-zA-Z_]\w*/,
114
+ name: "variable.other.readwrite.instance.ruby"},
115
+ {captures: {1 => {name: "punctuation.definition.variable.ruby"}},
116
+ match: /(@@)[a-zA-Z_]\w*/,
117
+ name: "variable.other.readwrite.class.ruby"},
118
+ {captures: {1 => {name: "punctuation.definition.variable.ruby"}},
119
+ match: /(\$)[a-zA-Z_]\w*/,
120
+ name: "variable.other.readwrite.global.ruby"},
121
+ {captures: {1 => {name: "punctuation.definition.variable.ruby"}},
122
+ match:
123
+ /(\$)(!|@|&|`|'|\+|\d+|~|=|\/|\\|,|;|\.|<|>|_|\*|\$|\?|:|"|-[0adFiIlpv])/,
124
+ name: "variable.other.readwrite.global.pre-defined.ruby"},
125
+ {begin: /\b(ENV)\[/,
126
+ beginCaptures: {1 => {name: "variable.other.constant.ruby"}},
127
+ end: "\\]",
128
+ name: "meta.environment-variable.ruby",
129
+ patterns: [{include: "$self"}]},
130
+ {match: /\b[A-Z]\w*(?=((\.|::)[A-Za-z]|\[))/, name: "support.class.ruby"},
131
+ {match: /\b[A-Z]\w*\b/, name: "variable.other.constant.ruby"},
132
+ {begin:
133
+ /(?x)
134
+ (?=def\b) # an optimization to help Oniguruma fail fast
135
+ (?<=^|\s)(def)\s+ # the def keyword
136
+ ( (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
137
+ (?>[a-zA-Z_]\w*(?>[?!]|=(?!>))? # the method name
138
+ |===?|>[>=]?|<=>|<[<=]?|[%&`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
139
+ \s*(\() # the openning parenthesis for arguments
140
+ /,
141
+ beginCaptures:
142
+ {1 => {name: "keyword.control.def.ruby"},
143
+ 2 => {name: "entity.name.function.ruby"},
144
+ 3 => {name: "punctuation.definition.parameters.ruby"}},
145
+ comment:
146
+ "the method pattern comes from the symbol pattern, see there for a explaination",
147
+ contentName: "variable.parameter.function.ruby",
148
+ end: "\\)",
149
+ endCaptures: {0 => {name: "punctuation.definition.parameters.ruby"}},
150
+ name: "meta.function.method.with-arguments.ruby",
151
+ patterns: [{include: "$self"}]},
152
+ {begin:
153
+ /(?x)
154
+ (?=def\b) # an optimization to help Oniguruma fail fast
155
+ (?<=^|\s)(def)\s+ # the def keyword
156
+ ( (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
157
+ (?>[a-zA-Z_]\w*(?>[?!]|=(?!>))? # the method name
158
+ |===?|>[>=]?|<=>|<[<=]?|[%&`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
159
+ [ \t] # the space separating the arguments
160
+ (?=[ \t]*[^\s#]) # make sure arguments and not a comment follow
161
+ /,
162
+ beginCaptures:
163
+ {1 => {name: "keyword.control.def.ruby"},
164
+ 2 => {name: "entity.name.function.ruby"}},
165
+ comment:
166
+ "same as the previous rule, but without parentheses around the arguments",
167
+ contentName: "variable.parameter.function.ruby",
168
+ end: "$",
169
+ name: "meta.function.method.with-arguments.ruby",
170
+ patterns: [{include: "$self"}]},
171
+ {captures:
172
+ {1 => {name: "keyword.control.def.ruby"},
173
+ 3 => {name: "entity.name.function.ruby"}},
174
+ comment:
175
+ " the optional name is just to catch the def also without a method-name",
176
+ match:
177
+ /(?x)
178
+ (?=def\b) # an optimization to help Oniguruma fail fast
179
+ (?<=^|\s)(def)\b # the def keyword
180
+ ( \s+ # an optional group of whitespace followed by…
181
+ ( (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
182
+ (?>[a-zA-Z_]\w*(?>[?!]|=(?!>))? # the method name
183
+ |===?|>[>=]?|<=>|<[<=]?|[%&`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) )? # …or an operator method
184
+ /,
185
+ name: "meta.function.method.without-arguments.ruby"},
186
+ {match:
187
+ /\b(0[xX]\h(?>_?\h)*|\d(?>_?\d)*(\.(?![^[:space:][:digit:]])(?>_?\d)*)?([eE][-+]?\d(?>_?\d)*)?|0[bB][01]+)\b/,
188
+ name: "constant.numeric.ruby"},
189
+ {begin: /:'/,
190
+ captures: {0 => {name: "punctuation.definition.constant.ruby"}},
191
+ end: "'",
192
+ name: "constant.other.symbol.single-quoted.ruby",
193
+ patterns: [{match: /\\['\\]/, name: "constant.character.escape.ruby"}]},
194
+ {begin: /:"/,
195
+ captures: {0 => {name: "punctuation.definition.constant.ruby"}},
196
+ end: "\"",
197
+ name: "constant.other.symbol.double-quoted.ruby",
198
+ patterns: [{include: "#interpolated_ruby"}, {include: "#escaped_char"}]},
199
+ {comment: "Needs higher precidence than regular expressions.",
200
+ match: /\/=/,
201
+ name: "keyword.operator.assignment.augmented.ruby"},
202
+ {begin: /'/,
203
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
204
+ comment: "single quoted string (does not allow interpolation)",
205
+ end: "'",
206
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
207
+ name: "string.quoted.single.ruby",
208
+ patterns: [{match: /\\'|\\\\/, name: "constant.character.escape.ruby"}]},
209
+ {begin: /"/,
210
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
211
+ comment: "double quoted string (allows for interpolation)",
212
+ end: "\"",
213
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
214
+ name: "string.quoted.double.ruby",
215
+ patterns: [{include: "#interpolated_ruby"}, {include: "#escaped_char"}]},
216
+ {begin: /`/,
217
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
218
+ comment: "execute string (allows for interpolation)",
219
+ end: "`",
220
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
221
+ name: "string.interpolated.ruby",
222
+ patterns: [{include: "#interpolated_ruby"}, {include: "#escaped_char"}]},
223
+ {begin: /%x\{/,
224
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
225
+ comment: "execute string (allow for interpolation)",
226
+ end: "\\}",
227
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
228
+ name: "string.interpolated.ruby",
229
+ patterns:
230
+ [{include: "#interpolated_ruby"},
231
+ {include: "#escaped_char"},
232
+ {include: "#nest_curly_i"}]},
233
+ {begin: /%x\[/,
234
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
235
+ comment: "execute string (allow for interpolation)",
236
+ end: "\\]",
237
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
238
+ name: "string.interpolated.ruby",
239
+ patterns:
240
+ [{include: "#interpolated_ruby"},
241
+ {include: "#escaped_char"},
242
+ {include: "#nest_brackets_i"}]},
243
+ {begin: /%x\</,
244
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
245
+ comment: "execute string (allow for interpolation)",
246
+ end: "\\>",
247
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
248
+ name: "string.interpolated.ruby",
249
+ patterns:
250
+ [{include: "#interpolated_ruby"},
251
+ {include: "#escaped_char"},
252
+ {include: "#nest_ltgt_i"}]},
253
+ {begin: /%x\(/,
254
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
255
+ comment: "execute string (allow for interpolation)",
256
+ end: "\\)",
257
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
258
+ name: "string.interpolated.ruby",
259
+ patterns:
260
+ [{include: "#interpolated_ruby"},
261
+ {include: "#escaped_char"},
262
+ {include: "#nest_parens_i"}]},
263
+ {begin: /%x([^\w])/,
264
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
265
+ comment: "execute string (allow for interpolation)",
266
+ end: "\\1",
267
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
268
+ name: "string.interpolated.ruby",
269
+ patterns: [{include: "#interpolated_ruby"}, {include: "#escaped_char"}]},
270
+ {begin:
271
+ /(?x)
272
+ (?:
273
+ ^ # beginning of line
274
+ | (?<= # or look-behind on:
275
+ [=>~(?:\[,|&;]
276
+ | [\s;]if\s # keywords
277
+ | [\s;]elsif\s
278
+ | [\s;]while\s
279
+ | [\s;]unless\s
280
+ | [\s;]when\s
281
+ | [\s;]assert_match\s
282
+ | [\s;]or\s # boolean opperators
283
+ | [\s;]and\s
284
+ | [\s;]not\s
285
+ | [\s.]index\s # methods
286
+ | [\s.]scan\s
287
+ | [\s.]sub\s
288
+ | [\s.]sub!\s
289
+ | [\s.]gsub\s
290
+ | [\s.]gsub!\s
291
+ | [\s.]match\s
292
+ )
293
+ | (?<= # or a look-behind with line anchor:
294
+ ^when\s # duplication necessary due to limits of regex
295
+ | ^if\s
296
+ | ^elsif\s
297
+ | ^while\s
298
+ | ^unless\s
299
+ )
300
+ )
301
+ \s*((\/))(?![*+{}?])
302
+ /,
303
+ captures:
304
+ {1 => {name: "string.regexp.classic.ruby"},
305
+ 2 => {name: "punctuation.definition.string.ruby"}},
306
+ comment:
307
+ "regular expressions (normal)\n\t\t\twe only start a regexp if the character before it (excluding whitespace)\n\t\t\tis what we think is before a regexp\n\t\t\t",
308
+ contentName: "string.regexp.classic.ruby",
309
+ end: "((/[eimnosux]*))",
310
+ patterns: [{include: "#regex_sub"}]},
311
+ {begin: /%r\{/,
312
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
313
+ comment: "regular expressions (literal)",
314
+ end: "\\}[eimnosux]*",
315
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
316
+ name: "string.regexp.mod-r.ruby",
317
+ patterns: [{include: "#regex_sub"}, {include: "#nest_curly_r"}]},
318
+ {begin: /%r\[/,
319
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
320
+ comment: "regular expressions (literal)",
321
+ end: "\\][eimnosux]*",
322
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
323
+ name: "string.regexp.mod-r.ruby",
324
+ patterns: [{include: "#regex_sub"}, {include: "#nest_brackets_r"}]},
325
+ {begin: /%r\(/,
326
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
327
+ comment: "regular expressions (literal)",
328
+ end: "\\)[eimnosux]*",
329
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
330
+ name: "string.regexp.mod-r.ruby",
331
+ patterns: [{include: "#regex_sub"}, {include: "#nest_parens_r"}]},
332
+ {begin: /%r\</,
333
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
334
+ comment: "regular expressions (literal)",
335
+ end: "\\>[eimnosux]*",
336
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
337
+ name: "string.regexp.mod-r.ruby",
338
+ patterns: [{include: "#regex_sub"}, {include: "#nest_ltgt_r"}]},
339
+ {begin: /%r([^\w])/,
340
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
341
+ comment: "regular expressions (literal)",
342
+ end: "\\1[eimnosux]*",
343
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
344
+ name: "string.regexp.mod-r.ruby",
345
+ patterns: [{include: "#regex_sub"}]},
346
+ {begin: /%[QWSR]?\(/,
347
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
348
+ comment: "literal capable of interpolation ()",
349
+ end: "\\)",
350
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
351
+ name: "string.quoted.other.literal.upper.ruby",
352
+ patterns:
353
+ [{include: "#interpolated_ruby"},
354
+ {include: "#escaped_char"},
355
+ {include: "#nest_parens_i"}]},
356
+ {begin: /%[QWSR]?\[/,
357
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
358
+ comment: "literal capable of interpolation []",
359
+ end: "\\]",
360
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
361
+ name: "string.quoted.other.literal.upper.ruby",
362
+ patterns:
363
+ [{include: "#interpolated_ruby"},
364
+ {include: "#escaped_char"},
365
+ {include: "#nest_brackets_i"}]},
366
+ {begin: /%[QWSR]?\</,
367
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
368
+ comment: "literal capable of interpolation <>",
369
+ end: "\\>",
370
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
371
+ name: "string.quoted.other.literal.upper.ruby",
372
+ patterns:
373
+ [{include: "#interpolated_ruby"},
374
+ {include: "#escaped_char"},
375
+ {include: "#nest_ltgt_i"}]},
376
+ {begin: /%[QWSR]?\{/,
377
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
378
+ comment: "literal capable of interpolation -- {}",
379
+ end: "\\}",
380
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
381
+ name: "string.quoted.double.ruby.mod",
382
+ patterns:
383
+ [{include: "#interpolated_ruby"},
384
+ {include: "#escaped_char"},
385
+ {include: "#nest_curly_i"}]},
386
+ {begin: /%[QWSR]([^\w])/,
387
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
388
+ comment: "literal capable of interpolation -- wildcard",
389
+ end: "\\1",
390
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
391
+ name: "string.quoted.other.literal.upper.ruby",
392
+ patterns: [{include: "#interpolated_ruby"}, {include: "#escaped_char"}]},
393
+ {begin: /%([^\w\s=])/,
394
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
395
+ comment: "literal capable of interpolation -- wildcard",
396
+ end: "\\1",
397
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
398
+ name: "string.quoted.other.literal.other.ruby",
399
+ patterns: [{include: "#interpolated_ruby"}, {include: "#escaped_char"}]},
400
+ {begin: /%[qws]\(/,
401
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
402
+ comment: "literal incapable of interpolation -- ()",
403
+ end: "\\)",
404
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
405
+ name: "string.quoted.other.literal.lower.ruby",
406
+ patterns:
407
+ [{match: /\\\)|\\\\/, name: "constant.character.escape.ruby"},
408
+ {include: "#nest_parens"}]},
409
+ {begin: /%[qws]\</,
410
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
411
+ comment: "literal incapable of interpolation -- <>",
412
+ end: "\\>",
413
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
414
+ name: "string.quoted.other.literal.lower.ruby",
415
+ patterns:
416
+ [{match: /\\\>|\\\\/, name: "constant.character.escape.ruby"},
417
+ {include: "#nest_ltgt"}]},
418
+ {begin: /%[qws]\[/,
419
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
420
+ comment: "literal incapable of interpolation -- []",
421
+ end: "\\]",
422
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
423
+ name: "string.quoted.other.literal.lower.ruby",
424
+ patterns:
425
+ [{match: /\\\]|\\\\/, name: "constant.character.escape.ruby"},
426
+ {include: "#nest_brackets"}]},
427
+ {begin: /%[qws]\{/,
428
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
429
+ comment: "literal incapable of interpolation -- {}",
430
+ end: "\\}",
431
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
432
+ name: "string.quoted.other.literal.lower.ruby",
433
+ patterns:
434
+ [{match: /\\\}|\\\\/, name: "constant.character.escape.ruby"},
435
+ {include: "#nest_curly"}]},
436
+ {begin: /%[qws]([^\w])/,
437
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
438
+ comment: "literal incapable of interpolation -- wildcard",
439
+ end: "\\1",
440
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
441
+ name: "string.quoted.other.literal.lower.ruby",
442
+ patterns:
443
+ [{comment: "Cant be named because its not neccesarily an escape.",
444
+ match: /\\./}]},
445
+ {captures: {1 => {name: "punctuation.definition.constant.ruby"}},
446
+ comment: "symbols",
447
+ match:
448
+ /(?<!:)(:)(?>[a-zA-Z_]\w*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[a-zA-Z_]\w*)/,
449
+ name: "constant.other.symbol.ruby"},
450
+ {captures: {1 => {name: "punctuation.definition.constant.ruby"}},
451
+ comment: "symbols",
452
+ match:
453
+ /(?>[a-zA-Z_]\w*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[a-zA-Z_]\w*)(:)(?!:)/,
454
+ name: "constant.other.symbol.ruby.19syntax"},
455
+ {begin: /^=begin/,
456
+ captures: {0 => {name: "punctuation.definition.comment.ruby"}},
457
+ comment: "multiline comments",
458
+ end: "^=end",
459
+ name: "comment.block.documentation.ruby"},
460
+ {captures: {1 => {name: "punctuation.definition.comment.ruby"}},
461
+ match: /(?:^[ \t]+)?(#).*$\n?/,
462
+ name: "comment.line.number-sign.ruby"},
463
+ {comment:
464
+ "\n\t\t\tmatches questionmark-letters.\n\n\t\t\texamples (1st alternation = hex):\n\t\t\t?\\x1 ?\\x61\n\n\t\t\texamples (2nd alternation = octal):\n\t\t\t?\\0 ?\\07 ?\\017\n\n\t\t\texamples (3rd alternation = escaped):\n\t\t\t?\\n ?\\b\n\n\t\t\texamples (4th alternation = meta-ctrl):\n\t\t\t?\\C-a ?\\M-a ?\\C-\\M-\\C-\\M-a\n\n\t\t\texamples (4th alternation = normal):\n\t\t\t?a ?A ?0 \n\t\t\t?* ?\" ?( \n\t\t\t?. ?#\n\t\t\t\n\t\t\t\n\t\t\tthe negative lookbehind prevents against matching\n\t\t\tp(42.tainted?)\n\t\t\t",
465
+ match:
466
+ /(?<!\w)\?(\\(x\h{1,2}(?!\h)\b|0[0-7]{0,2}(?![0-7])\b|[^x0MC])|(\\[MC]-)+\w|[^\s\\])/,
467
+ name: "constant.numeric.ruby"},
468
+ {begin: /^__END__\n/,
469
+ captures: {0 => {name: "string.unquoted.program-block.ruby"}},
470
+ comment: "__END__ marker",
471
+ contentName: "text.plain",
472
+ end: "(?=not)impossible",
473
+ patterns:
474
+ [{begin: /(?=<?xml|<(?i:html\b)|!DOCTYPE (?i:html\b))/,
475
+ end: "(?=not)impossible",
476
+ name: "text.html.embedded.ruby",
477
+ patterns: [{include: "text.html.basic"}]}]},
478
+ {begin: /(?><<-("?)((?:[_\w]+_|)HTML)\b\1)/,
479
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
480
+ comment: "heredoc with embedded HTML and indented terminator",
481
+ contentName: "text.html.embedded.ruby",
482
+ end: "\\s*\\2$",
483
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
484
+ name: "string.unquoted.embedded.html.ruby",
485
+ patterns:
486
+ [{include: "#heredoc"},
487
+ {include: "text.html.basic"},
488
+ {include: "#interpolated_ruby"},
489
+ {include: "#escaped_char"}]},
490
+ {begin: /(?><<-("?)((?:[_\w]+_|)SQL)\b\1)/,
491
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
492
+ comment: "heredoc with embedded SQL and indented terminator",
493
+ contentName: "text.sql.embedded.ruby",
494
+ end: "\\s*\\2$",
495
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
496
+ name: "string.unquoted.embedded.sql.ruby",
497
+ patterns:
498
+ [{include: "#heredoc"},
499
+ {include: "source.sql"},
500
+ {include: "#interpolated_ruby"},
501
+ {include: "#escaped_char"}]},
502
+ {begin: /(?><<-("?)((?:[_\w]+_|)CSS)\b\1)/,
503
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
504
+ comment: "heredoc with embedded css and intented terminator",
505
+ contentName: "text.css.embedded.ruby",
506
+ end: "\\s*\\2$",
507
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
508
+ name: "string.unquoted.embedded.css.ruby",
509
+ patterns:
510
+ [{include: "#heredoc"},
511
+ {include: "source.css"},
512
+ {include: "#interpolated_ruby"},
513
+ {include: "#escaped_char"}]},
514
+ {begin: /(?><<-("?)((?:[_\w]+_|)CPP)\b\1)/,
515
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
516
+ comment: "heredoc with embedded c++ and intented terminator",
517
+ contentName: "text.c++.embedded.ruby",
518
+ end: "\\s*\\2$",
519
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
520
+ name: "string.unquoted.embedded.cplusplus.ruby",
521
+ patterns:
522
+ [{include: "#heredoc"},
523
+ {include: "source.c++"},
524
+ {include: "#interpolated_ruby"},
525
+ {include: "#escaped_char"}]},
526
+ {begin: /(?><<-("?)((?:[_\w]+_|)C)\b\1)/,
527
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
528
+ comment: "heredoc with embedded c++ and intented terminator",
529
+ contentName: "text.c.embedded.ruby",
530
+ end: "\\s*\\2$",
531
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
532
+ name: "string.unquoted.embedded.c.ruby",
533
+ patterns:
534
+ [{include: "#heredoc"},
535
+ {include: "source.c"},
536
+ {include: "#interpolated_ruby"},
537
+ {include: "#escaped_char"}]},
538
+ {begin: /(?><<-("?)((?:[_\w]+_|)(?:JS|JAVASCRIPT))\b\1)/,
539
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
540
+ comment: "heredoc with embedded javascript and intented terminator",
541
+ contentName: "text.js.embedded.ruby",
542
+ end: "\\s*\\2$",
543
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
544
+ name: "string.unquoted.embedded.js.ruby",
545
+ patterns:
546
+ [{include: "#heredoc"},
547
+ {include: "source.js"},
548
+ {include: "#interpolated_ruby"},
549
+ {include: "#escaped_char"}]},
550
+ {begin: /(?><<-("?)((?:[_\w]+_|)JQUERY)\b\1)/,
551
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
552
+ comment: "heredoc with embedded javascript and intented terminator",
553
+ contentName: "text.js.jquery.embedded.ruby",
554
+ end: "\\s*\\2$",
555
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
556
+ name: "string.unquoted.embedded.js.jquery.ruby",
557
+ patterns:
558
+ [{include: "#heredoc"},
559
+ {include: "source.js.jquery"},
560
+ {include: "#interpolated_ruby"},
561
+ {include: "#escaped_char"}]},
562
+ {begin: /(?><<-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\1)/,
563
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
564
+ comment: "heredoc with embedded shell and intented terminator",
565
+ contentName: "text.shell.embedded.ruby",
566
+ end: "\\s*\\2$",
567
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
568
+ name: "string.unquoted.embedded.shell.ruby",
569
+ patterns:
570
+ [{include: "#heredoc"},
571
+ {include: "source.shell"},
572
+ {include: "#interpolated_ruby"},
573
+ {include: "#escaped_char"}]},
574
+ {begin: /(?><<-("?)((?:[_\w]+_|)RUBY)\b\1)/,
575
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
576
+ comment: "heredoc with embedded ruby and intented terminator",
577
+ contentName: "text.ruby.embedded.ruby",
578
+ end: "\\s*\\2$",
579
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
580
+ name: "string.unquoted.embedded.ruby.ruby",
581
+ patterns:
582
+ [{include: "#heredoc"},
583
+ {include: "source.ruby"},
584
+ {include: "#interpolated_ruby"},
585
+ {include: "#escaped_char"}]},
586
+ {begin: /(?>\=\s*<<(\w+))/,
587
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
588
+ end: "^\\1$",
589
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
590
+ name: "string.unquoted.heredoc.ruby",
591
+ patterns:
592
+ [{include: "#heredoc"},
593
+ {include: "#interpolated_ruby"},
594
+ {include: "#escaped_char"}]},
595
+ {begin: /(?><<-(\w+))/,
596
+ beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
597
+ comment: "heredoc with indented terminator",
598
+ end: "\\s*\\1$",
599
+ endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
600
+ name: "string.unquoted.heredoc.ruby",
601
+ patterns:
602
+ [{include: "#heredoc"},
603
+ {include: "#interpolated_ruby"},
604
+ {include: "#escaped_char"}]},
605
+ {begin: /(?<=\{|do|\{\s|do\s)(\|)/,
606
+ captures: {1 => {name: "punctuation.separator.variable.ruby"}},
607
+ end: "(\\|)",
608
+ patterns:
609
+ [{match: /[_a-zA-Z][_a-zA-Z0-9]*/, name: "variable.other.block.ruby"},
610
+ {match: /,/, name: "punctuation.separator.variable.ruby"}]},
611
+ {match: /=>/, name: "punctuation.separator.key-value"},
612
+ {match: /<<=|%=|&=|\*=|\*\*=|\+=|\-=|\^=|\|{1,2}=|<</,
613
+ name: "keyword.operator.assignment.augmented.ruby"},
614
+ {match: /<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \t])\?/,
615
+ name: "keyword.operator.comparison.ruby"},
616
+ {match: /(?<=[ \t])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\^/,
617
+ name: "keyword.operator.logical.ruby"},
618
+ {match: /(%|&|\*\*|\*|\+|\-|\/)/, name: "keyword.operator.arithmetic.ruby"},
619
+ {match: /=/, name: "keyword.operator.assignment.ruby"},
620
+ {match: /\||~|>>/, name: "keyword.operator.other.ruby"},
621
+ {match: /:/, name: "punctuation.separator.other.ruby"},
622
+ {match: /\;/, name: "punctuation.separator.statement.ruby"},
623
+ {match: /,/, name: "punctuation.separator.object.ruby"},
624
+ {match: /\.|::/, name: "punctuation.separator.method.ruby"},
625
+ {match: /\{|\}/, name: "punctuation.section.scope.ruby"},
626
+ {match: /\[|\]/, name: "punctuation.section.array.ruby"},
627
+ {match: /\(|\)/, name: "punctuation.section.function.ruby"}],
628
+ repository:
629
+ {escaped_char:
630
+ {match: /\\(?:[0-7]{1,3}|x[\da-fA-F]{1,2}|.)/,
631
+ name: "constant.character.escape.ruby"},
632
+ heredoc: {begin: /^<<-?\w+/, end: "$", patterns: [{include: "$self"}]},
633
+ interpolated_ruby:
634
+ {patterns:
635
+ [{captures:
636
+ {0 => {name: "punctuation.section.embedded.ruby"},
637
+ 1 => {name: "source.ruby.embedded.source.empty"}},
638
+ match: /#\{(\})/,
639
+ name: "source.ruby.embedded.source"},
640
+ {begin: /#\{/,
641
+ captures: {0 => {name: "punctuation.section.embedded.ruby"}},
642
+ end: "\\}",
643
+ name: "source.ruby.embedded.source",
644
+ patterns: [{include: "#nest_curly_and_self"}, {include: "$self"}]},
645
+ {captures: {1 => {name: "punctuation.definition.variable.ruby"}},
646
+ match: /(\#@)[a-zA-Z_]\w*/,
647
+ name: "variable.other.readwrite.instance.ruby"},
648
+ {captures: {1 => {name: "punctuation.definition.variable.ruby"}},
649
+ match: /(\#@@)[a-zA-Z_]\w*/,
650
+ name: "variable.other.readwrite.class.ruby"},
651
+ {captures: {1 => {name: "punctuation.definition.variable.ruby"}},
652
+ match: /(#\$)[a-zA-Z_]\w*/,
653
+ name: "variable.other.readwrite.global.ruby"}]},
654
+ nest_brackets:
655
+ {begin: /\[/,
656
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
657
+ end: "\\]",
658
+ patterns: [{include: "#nest_brackets"}]},
659
+ nest_brackets_i:
660
+ {begin: /\[/,
661
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
662
+ end: "\\]",
663
+ patterns:
664
+ [{include: "#interpolated_ruby"},
665
+ {include: "#escaped_char"},
666
+ {include: "#nest_brackets_i"}]},
667
+ nest_brackets_r:
668
+ {begin: /\[/,
669
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
670
+ end: "\\]",
671
+ patterns: [{include: "#regex_sub"}, {include: "#nest_brackets_r"}]},
672
+ nest_curly:
673
+ {begin: /\{/,
674
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
675
+ end: "\\}",
676
+ patterns: [{include: "#nest_curly"}]},
677
+ nest_curly_and_self:
678
+ {patterns:
679
+ [{begin: /\{/,
680
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
681
+ end: "\\}",
682
+ patterns: [{include: "#nest_curly_and_self"}]},
683
+ {include: "$self"}]},
684
+ nest_curly_i:
685
+ {begin: /\{/,
686
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
687
+ end: "\\}",
688
+ patterns:
689
+ [{include: "#interpolated_ruby"},
690
+ {include: "#escaped_char"},
691
+ {include: "#nest_curly_i"}]},
692
+ nest_curly_r:
693
+ {begin: /\{/,
694
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
695
+ end: "\\}",
696
+ patterns: [{include: "#regex_sub"}, {include: "#nest_curly_r"}]},
697
+ nest_ltgt:
698
+ {begin: /\</,
699
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
700
+ end: "\\>",
701
+ patterns: [{include: "#nest_ltgt"}]},
702
+ nest_ltgt_i:
703
+ {begin: /\</,
704
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
705
+ end: "\\>",
706
+ patterns:
707
+ [{include: "#interpolated_ruby"},
708
+ {include: "#escaped_char"},
709
+ {include: "#nest_ltgt_i"}]},
710
+ nest_ltgt_r:
711
+ {begin: /\</,
712
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
713
+ end: "\\>",
714
+ patterns: [{include: "#regex_sub"}, {include: "#nest_ltgt_r"}]},
715
+ nest_parens:
716
+ {begin: /\(/,
717
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
718
+ end: "\\)",
719
+ patterns: [{include: "#nest_parens"}]},
720
+ nest_parens_i:
721
+ {begin: /\(/,
722
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
723
+ end: "\\)",
724
+ patterns:
725
+ [{include: "#interpolated_ruby"},
726
+ {include: "#escaped_char"},
727
+ {include: "#nest_parens_i"}]},
728
+ nest_parens_r:
729
+ {begin: /\(/,
730
+ captures: {0 => {name: "punctuation.section.scope.ruby"}},
731
+ end: "\\)",
732
+ patterns: [{include: "#regex_sub"}, {include: "#nest_parens_r"}]},
733
+ regex_sub:
734
+ {patterns:
735
+ [{include: "#interpolated_ruby"},
736
+ {include: "#escaped_char"},
737
+ {captures:
738
+ {1 => {name: "punctuation.definition.arbitrary-repitition.ruby"},
739
+ 3 => {name: "punctuation.definition.arbitrary-repitition.ruby"}},
740
+ match: /(\{)\d+(,\d+)?(\})/,
741
+ name: "string.regexp.arbitrary-repitition.ruby"},
742
+ {begin: /\[(?:\^?\])?/,
743
+ captures: {0 => {name: "punctuation.definition.character-class.ruby"}},
744
+ end: "\\]",
745
+ name: "string.regexp.character-class.ruby",
746
+ patterns: [{include: "#escaped_char"}]},
747
+ {begin: /\(/,
748
+ captures: {0 => {name: "punctuation.definition.group.ruby"}},
749
+ end: "\\)",
750
+ name: "string.regexp.group.ruby",
751
+ patterns: [{include: "#regex_sub"}]},
752
+ {captures: {1 => {name: "punctuation.definition.comment.ruby"}},
753
+ comment:
754
+ "We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.",
755
+ match: /(?<=^|\s)(#)\s[[a-zA-Z0-9,. \t?!-][^\x00-\x7F]]*$/,
756
+ name: "comment.line.number-sign.ruby"}]}},
757
+ scopeName: "source.ruby",
758
+ uuid: "E00B62AC-6B1C-11D9-9B1F-000D93589AF6"}