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
@@ -1,547 +1,772 @@
1
1
  # Encoding: UTF-8
2
2
 
3
- {"rb" =>
4
- {scope: "source.ruby",
5
- name: "#!/usr/bin/env ruby -wKU",
6
- content: "#!/usr/bin/env ruby${TM_RUBY_SWITCHES: -wKU}\n"},
7
- "ife" =>
8
- {scope: "source.ruby",
9
- name: "if … else … end",
10
- content: "if ${1:condition}\n\t$2\nelse\n\t$3\nend"},
11
- "if" =>
12
- {scope: "source.ruby",
13
- name: "if end",
14
- content: "if ${1:condition}\n\t$0\nend"},
15
- "case" =>
16
- {scope: "source.ruby",
17
- name: "case … end",
18
- content: "case ${1:object}\nwhen ${2:condition}\n\t$0\nend"},
19
- "Array" =>
20
- {scope: "source.ruby",
21
- name: "Array.new(10) { |i| .. }",
22
- content:
23
- "Array.new(${1:10}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:i}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
24
- "Dir" =>
25
- {scope: "source.ruby",
26
- name: "Dir[\"..\"]",
27
- content: "Dir[${1:\"${2:glob/**/*.rb}\"}]"},
28
- "File" =>
29
- {scope: "source.ruby",
30
- name: "File.read(\"..\")",
31
- content: "File.read(${1:\"${2:path/to/file}\"})"},
32
- "Hash" =>
33
- {scope: "source.ruby",
34
- name: "Hash.new { |hash, key| hash[key] = .. }",
35
- content: "Hash.new { |${1:hash}, ${2:key}| ${1:hash}[${2:key}] = $0 }"},
36
- "Md" =>
37
- {scope: "source.ruby",
38
- name: "Marshal.dump(.., file)",
39
- content:
40
- "File.open(${1:\"${2:path/to/file}.dump\"}, \"wb\") { |${3:file}| Marshal.dump(${4:obj}, ${3:file}) }"},
41
- "Ml" =>
42
- {scope: "source.ruby",
43
- name: "Marshal.load(obj)",
44
- content:
45
- "File.open(${1:\"${2:path/to/file}.dump\"}, \"rb\") { |${3:file}| Marshal.load(${3:file}) }"},
46
- "begin" =>
47
- {scope: "source.ruby - comment",
48
- name: "begin … rescue … end",
49
- content:
50
- "${TM_SELECTED_TEXT/([\\t ]*).*/$1/m}begin\n\t${3:${TM_SELECTED_TEXT/(\\A.*)|(.+)|\\n\\z/(?1:$0:(?2:\\t$0))/g}}\n${TM_SELECTED_TEXT/([\\t ]*).*/$1/m}rescue ${1:Exception}${2/.+/ => /}${2:e}\n${TM_SELECTED_TEXT/([\\t ]*).*/$1/m}\t$0\n${TM_SELECTED_TEXT/([\\t ]*).*/$1/m}end\n"},
51
- "Yd-" =>
52
- {scope: "source.ruby",
53
- name: "YAML.dump(.., file)",
54
- content:
55
- "File.open(${1:\"${2:path/to/file}.yaml\"}, \"w\") { |${3:file}| YAML.dump(${4:obj}, ${3:file}) }"},
56
- "Yl-" =>
57
- {scope: "source.ruby",
58
- name: "YAML.load(file)",
59
- content:
60
- "File.open(${1:\"${2:path/to/file}.yaml\"}) { |${3:file}| YAML.load(${3:file}) }"},
61
- "am" =>
62
- {scope: "source.ruby",
63
- name: "alias_method ..",
64
- content: "alias_method :${1:new_name}, :${0:old_name}"},
65
- "all" =>
66
- {scope: "source.ruby",
67
- name: "all? { |e| .. }",
68
- content: "all? { |${1:e}| $0 }"},
69
- "any" =>
70
- {scope: "source.ruby",
71
- name: "any? { |e| .. }",
72
- content: "any? { |${1:e}| $0 }"},
73
- "app" =>
74
- {scope: "source.ruby",
75
- name: "application { .. }",
76
- content: "if __FILE__ == \\$PROGRAM_NAME\n\t$0\nend"},
77
- "as" =>
78
- {scope: "source.ruby",
79
- name: "assert(..)",
80
- content:
81
- "assert`snippet_paren.rb`${1:test}, \"${0:Failure message.}\"`snippet_paren.rb end`"},
82
- "asid" =>
83
- {scope: "source.ruby",
84
- name: "assert_in_delta(..)",
85
- content:
86
- "assert_in_delta`snippet_paren.rb`${1:expected_float}, ${2:actual_float}, ${0:2 ** -20}`snippet_paren.rb end`"},
87
- "asio" =>
88
- {scope: "source.ruby",
89
- name: "assert_instance_of(..)",
90
- content:
91
- "assert_instance_of`snippet_paren.rb`${1:ExpectedClass}, ${0:actual_instance}`snippet_paren.rb end`"},
92
- "asko" =>
93
- {scope: "source.ruby",
94
- name: "assert_kind_of(..)",
95
- content:
96
- "assert_kind_of`snippet_paren.rb`${1:ExpectedKind}, ${0:actual_instance}`snippet_paren.rb end`"},
97
- "asm" =>
98
- {scope: "source.ruby",
99
- name: "assert_match(..)",
100
- content:
101
- "assert_match`snippet_paren.rb`/${1:expected_pattern}/, ${0:actual_string}`snippet_paren.rb end`"},
102
- "asn" =>
103
- {scope: "source.ruby",
104
- name: "assert_nil(..)",
105
- content: "assert_nil`snippet_paren.rb`${0:instance}`snippet_paren.rb end`"},
106
- "asnm" =>
107
- {scope: "source.ruby",
108
- name: "assert_no_match(..)",
109
- content:
110
- "assert_no_match`snippet_paren.rb`/${1:unexpected_pattern}/, ${0:actual_string}`snippet_paren.rb end`"},
111
- "asne" =>
112
- {scope: "source.ruby",
113
- name: "assert_not_equal(..)",
114
- content:
115
- "assert_not_equal`snippet_paren.rb`${1:unexpected}, ${0:actual}`snippet_paren.rb end`"},
116
- "asnn" =>
117
- {scope: "source.ruby",
118
- name: "assert_not_nil(..)",
119
- content:
120
- "assert_not_nil`snippet_paren.rb`${0:instance}`snippet_paren.rb end`"},
121
- "asns" =>
122
- {scope: "source.ruby",
123
- name: "assert_not_same(..)",
124
- content:
125
- "assert_not_same`snippet_paren.rb`${1:unexpected}, ${0:actual}`snippet_paren.rb end`"},
126
- "asnr" =>
127
- {scope: "source.ruby",
128
- name: "assert_nothing_raised(..) { .. }",
129
- content: "assert_nothing_raised(${1:Exception}) { $0 }"},
130
- "asnt" =>
131
- {scope: "source.ruby",
132
- name: "assert_nothing_thrown { .. }",
133
- content: "assert_nothing_thrown { $0 }"},
134
- "aso" =>
135
- {scope: "source.ruby",
136
- name: "assert_operator(..)",
137
- content:
138
- "assert_operator`snippet_paren.rb`${1:left}, :${2:operator}, ${0:right}`snippet_paren.rb end`"},
139
- "asr" =>
140
- {scope: "source.ruby",
141
- name: "assert_raise(..) { .. }",
142
- content: "assert_raise(${1:Exception}) { $0 }"},
143
- "asrt" =>
144
- {scope: "source.ruby",
145
- name: "assert_respond_to(..)",
146
- content:
147
- "assert_respond_to`snippet_paren.rb`${1:object}, :${0:method}`snippet_paren.rb end`"},
148
- "ass" =>
149
- {scope: "source.ruby",
150
- name: "assert_send(..)",
151
- content:
152
- "assert_send`snippet_paren.rb`[${1:object}, :${2:message}, ${0:args}]`snippet_paren.rb end`"},
153
- "ast" =>
154
- {scope: "source.ruby",
155
- name: "assert_throws(..) { .. }",
156
- content: "assert_throws(:${1:expected}) { $0 }"},
157
- "rw" =>
158
- {scope: "source.ruby",
159
- name: "attr_accessor ..",
160
- content: "attr_accessor :${0:attr_names}"},
161
- "r" =>
162
- {scope: "source.ruby",
163
- name: "attr_reader ..",
164
- content: "attr_reader :${0:attr_names}"},
165
- "w" =>
166
- {scope: "source.ruby",
167
- name: "attr_writer ..",
168
- content: "attr_writer :${0:attr_names}"},
169
- "cla-" =>
170
- {scope: "source.ruby",
171
- name: "class .. < DelegateClass .. initialize .. end",
172
- content:
173
- "class ${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}} < DelegateClass(${2:ParentClass})\n\tdef initialize${3/(^.*?\\S.*)|.*/(?1:\\()/}${3:args}${3/(^.*?\\S.*)|.*/(?1:\\))/}\n\t\tsuper(${4:del_obj})\n\t\t\n\t\t$0\n\tend\n\t\n\t\nend"},
174
- "cla" =>
175
- {scope: "source.ruby",
176
- name: "class << self .. end",
177
- content: "class << ${1:self}\n\t$0\nend"},
178
- "tc" =>
179
- {scope: "source.ruby",
180
- name: "class .. < Test::Unit::TestCase .. end",
181
- content:
182
- "require \"test/unit\"\n\nrequire \"${1:library_file_name}\"\n\nclass Test${2:${1/([\\w&&[^_]]+)|./\\u$1/g}} < Test::Unit::TestCase\n\tdef test_${3:case_name}\n\t\t$0\n\tend\nend"},
183
- "clafn" =>
184
- {scope: "source.ruby",
185
- name: "class_from_name()",
186
- content:
187
- "split(\"::\").inject(Object) { |par, const| par.const_get(const) }"},
188
- "cl" =>
189
- {scope: "source.ruby",
190
- name: "classify { |e| .. }",
191
- content: "classify { |${1:e}| $0 }"},
192
- "col" =>
193
- {scope: "source.ruby",
194
- name: "collect { |e| .. }",
195
- content: "collect { |${1:e}| $0 }"},
196
- "deec" =>
197
- {scope: "source.ruby",
198
- name: "deep_copy(..)",
199
- content: "Marshal.load(Marshal.dump(${0:obj_to_copy}))"},
200
- "def" =>
201
- {scope: "source.ruby",
202
- name: "def … end",
203
- content: "def ${1:method_name}\n\t$0\nend"},
204
- "defmm" =>
205
- {scope: "source.ruby",
206
- name: "def method_missing .. end",
207
- content: "def method_missing(meth, *args, &blk)\n\t$0\nend"},
208
- "defs" =>
209
- {scope: "source.ruby",
210
- name: "def self .. end",
211
- content: "def self.${1:class_method_name}\n\t$0\nend"},
212
- "deft" =>
213
- {scope: "source.ruby",
214
- name: "def test_ .. end",
215
- content: "def test_${1:case_name}\n\t$0\nend"},
216
- "defd" =>
217
- {scope: "source.ruby",
218
- name: "def_delegator ..",
219
- content: "def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}"},
220
- "defds" =>
221
- {scope: "source.ruby",
222
- name: "def_delegators ..",
223
- content: "def_delegators :${1:@del_obj}, :${0:del_methods}"},
224
- "deli" =>
225
- {scope: "source.ruby",
226
- name: "delete_if { |e| .. }",
227
- content: "delete_if { |${1:e}| $0 }"},
228
- "det" =>
229
- {scope: "source.ruby",
230
- name: "detect { |e| .. }",
231
- content: "detect { |${1:e}| $0 }"},
232
- "do" =>
233
- {scope: "source.ruby",
234
- name: "Insert do |variable| … end",
235
- content:
236
- "do${1/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1: |)/}${1:variable}${1/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}\n\t$0\nend"},
237
- "dow" =>
238
- {scope: "source.ruby",
239
- name: "downto(0) { |n| .. }",
240
- content:
241
- "downto(${1:0}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:n}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
242
- "ea" =>
243
- {scope: "source.ruby",
244
- name: "each { |e| .. }",
245
- content: "each { |${1:e}| $0 }"},
246
- "eab" =>
247
- {scope: "source.ruby",
248
- name: "each_byte { |byte| .. }",
249
- content: "each_byte { |${1:byte}| $0 }"},
250
- "eac-" =>
251
- {scope: "source.ruby",
252
- name: "each_cons(..) { |group| .. }",
253
- content: "each_cons(${1:2}) { |${2:group}| $0 }"},
254
- "eai" =>
255
- {scope: "source.ruby",
256
- name: "each_index { |i| .. }",
257
- content: "each_index { |${1:i}| $0 }"},
258
- "eak" =>
259
- {scope: "source.ruby",
260
- name: "each_key { |key| .. }",
261
- content: "each_key { |${1:key}| $0 }"},
262
- "eal" =>
263
- {scope: "source.ruby",
264
- name: "each_line { |line| .. }",
265
- content: "each_line$1 { |${2:line}| $0 }"},
266
- "eap" =>
267
- {scope: "source.ruby",
268
- name: "each_pair { |name, val| .. }",
269
- content: "each_pair { |${1:name}, ${2:val}| $0 }"},
270
- "eas-" =>
271
- {scope: "source.ruby",
272
- name: "each_slice(..) { |group| .. }",
273
- content: "each_slice(${1:2}) { |${2:group}| $0 }"},
274
- "eav" =>
275
- {scope: "source.ruby",
276
- name: "each_value { |val| .. }",
277
- content: "each_value { |${1:val}| $0 }"},
278
- "eawi" =>
279
- {scope: "source.ruby",
280
- name: "each_with_index { |e, i| .. }",
281
- content: "each_with_index { |${1:e}, ${2:i}| $0 }"},
282
- nil =>
283
- {scope: "text.html, source.yaml, meta.erb",
284
- name: "Insert ERb’s <% .. %> or <%= .. %>",
285
- content: "<%= ${0:$TM_SELECTED_TEXT} %>"},
286
- "Forw-" =>
287
- {scope: "source.ruby",
288
- name: "extend Forwardable",
289
- content: "extend Forwardable"},
290
- "fet" =>
291
- {scope: "source.ruby",
292
- name: "fetch(name) { |key| .. }",
293
- content:
294
- "fetch(${1:name}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:key}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
295
- "fil" =>
296
- {scope: "source.ruby",
297
- name: "fill(range) { |i| .. }",
298
- content:
299
- "fill(${1:range}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:i}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
300
- "fin" =>
301
- {scope: "source.ruby",
302
- name: "find { |e| .. }",
303
- content: "find { |${1:e}| $0 }"},
304
- "fina" =>
305
- {scope: "source.ruby",
306
- name: "find_all { |e| .. }",
307
- content: "find_all { |${1:e}| $0 }"},
308
- "flao" =>
309
- {scope: "source.ruby",
310
- name: "flatten_once()",
311
- content: "inject(Array.new) { |${1:arr}, ${2:a}| ${1:arr}.push(*${2:a}) }"},
312
- "fl" =>
313
- {scope: "source.ruby",
314
- name: "flunk(..)",
315
- content:
316
- "flunk`snippet_paren.rb`\"${0:Failure message.}\"`snippet_paren.rb end`"},
317
- "gre" =>
318
- {scope: "source.ruby",
319
- name: "grep(/pattern/) { |match| .. }",
320
- content: "grep(${1:/${2:pattern}/}) { |${3:match}| $0 }"},
321
- "gsu" =>
322
- {scope: "source.ruby",
323
- name: "gsub(/../) { |match| .. }",
324
- content:
325
- "gsub(/${1:pattern}/) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:match}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
326
- ":" =>
327
- {scope: "source.ruby",
328
- name: "Hash Pair — :key => \"value\"",
329
- content: ":${1:key} => ${2:\"${3:value}\"}${4:, }"},
330
- "Comp" =>
331
- {scope: "source.ruby",
332
- name: "include Comparable ..",
333
- content: "include Comparable\n\ndef <=>(other)\n\t$0\nend"},
334
- "Enum" =>
335
- {scope: "source.ruby",
336
- name: "include Enumerable ..",
337
- content: "include Enumerable\n\ndef each(&block)\n\t$0\nend"},
338
- "inj" =>
339
- {scope: "source.ruby",
340
- name: "inject(init) { |mem, var| .. }",
341
- content: "inject${1/.+/(/}${1:init}${1/.+/)/} { |${2:mem}, ${3:var}| $0 }"},
342
- "lam" =>
343
- {scope: "source.ruby",
344
- name: "lambda { |args| .. }",
345
- content:
346
- "lambda { ${1/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${1:args}${1/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
347
- "map" =>
348
- {scope: "source.ruby",
349
- name: "map { |e| .. }",
350
- content: "map { |${1:e}| $0 }"},
351
- "mapwi-" =>
352
- {scope: "source.ruby",
353
- name: "map_with_index { |e, i| .. }",
354
- content: "enum_with_index.map { |${1:e}, ${2:i}| $0 }"},
355
- "max" =>
356
- {scope: "source.ruby",
357
- name: "max { |a, b| .. }",
358
- content: "max { |a, b| $0 }"},
359
- "min" =>
360
- {scope: "source.ruby",
361
- name: "min { |a, b| .. }",
362
- content: "min { |a, b| $0 }"},
363
- "mod" =>
364
- {scope: "source.ruby",
365
- name: "module .. module_function .. end",
366
- content:
367
- "module ${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}}\n\tmodule_function\n\t\n\t$0\nend"},
368
- "{" =>
369
- {scope: "source.ruby - string - comment",
370
- name: "Insert { |variable| … }",
371
- content:
372
- "{ ${1/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${1:variable}${1/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}${2:$TM_SELECTED_TEXT} "},
373
- "ope" =>
374
- {scope: "source.ruby",
375
- name: "open(\"path/or/url\", \"w\") { |io| .. }",
376
- content:
377
- "open(${1:\"${2:path/or/url/or/pipe}\"}${3/(^[rwab+]+$)|.*/(?1:, \")/}${3:w}${3/(^[rwab+]+$)|.*/(?1:\")/}) { |${4:io}| $0 }"},
378
- "optp" =>
379
- {scope: "source.ruby",
380
- name: "option_parse { .. }",
381
- content:
382
- "require \"optparse\"\n\noptions = {${1::default => \"args\"}}\n\nARGV.options do |opts|\n\topts.banner = \"Usage: \#{File.basename(\\$PROGRAM_NAME)} [OPTIONS]${2/^\\s*$|(.*\\S.*)/(?1: )/}${2:OTHER_ARGS}\"\n\t\n\topts.separator \"\"\n\topts.separator \"Specific Options:\"\n\t\n\t$0\n\t\n\topts.separator \"Common Options:\"\n\t\n\topts.on( \"-h\", \"--help\",\n\t \"Show this message.\" ) do\n\t\tputs opts\n\t\texit\n\tend\n\t\n\tbegin\n\t\topts.parse!\n\trescue\n\t\tputs opts\n\t\texit\n\tend\nend\n"},
383
- "par" =>
384
- {scope: "source.ruby",
385
- name: "partition { |e| .. }",
386
- content: "partition { |${1:e}| $0 }"},
387
- "ran" =>
388
- {scope: "source.ruby", name: "randomize()", content: "sort_by { rand }"},
389
- "rej" =>
390
- {scope: "source.ruby",
391
- name: "reject { |e| .. }",
392
- content: "reject { |${1:e}| $0 }"},
393
- "req" =>
394
- {scope: "source.ruby", name: "require \"..\"", content: "require \"$0\""},
395
- "ts" =>
396
- {scope: "source.ruby",
397
- name: "require \"tc_..\" ..",
398
- content:
399
- "require \"test/unit\"\n\nrequire \"tc_${1:test_case_file}\"\nrequire \"tc_${2:test_case_file}\"\n"},
400
- "reve" =>
401
- {scope: "source.ruby",
402
- name: "reverse_each { |e| .. }",
403
- content: "reverse_each { |${1:e}| $0 }"},
404
- "sca" =>
405
- {scope: "source.ruby",
406
- name: "scan(/../) { |match| .. }",
407
- content: "scan(/${1:pattern}/) { |${2:match}| $0 }"},
408
- "sel" =>
409
- {scope: "source.ruby",
410
- name: "select { |e| .. }",
411
- content: "select { |${1:e}| $0 }"},
412
- "sor" =>
413
- {scope: "source.ruby",
414
- name: "sort { |a, b| .. }",
415
- content: "sort { |a, b| $0 }"},
416
- "sorb" =>
417
- {scope: "source.ruby",
418
- name: "sort_by { |e| .. }",
419
- content: "sort_by { |${1:e}| $0 }"},
420
- "ste" =>
421
- {scope: "source.ruby",
422
- name: "step(2) { |e| .. }",
423
- content:
424
- "step(${1:2}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:n}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
425
- "sub" =>
426
- {scope: "source.ruby",
427
- name: "sub(/../) { |match| .. }",
428
- content:
429
- "sub(/${1:pattern}/) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:match}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
430
- "tim" =>
431
- {scope: "source.ruby",
432
- name: "times { |n| .. }",
433
- content:
434
- "times { ${1/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${1:n}${1/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
435
- "unif" =>
436
- {scope: "source.ruby",
437
- name: "unix_filter { .. }",
438
- content: "ARGF.each_line$1 do |${2:line}|\n\t$0\nend"},
439
- "unless" =>
440
- {scope: "source.ruby",
441
- name: "unless … end",
442
- content: "unless ${1:condition}\n\t$0\nend"},
443
- "opt" =>
444
- {scope: "source.ruby",
445
- name: "option(..)",
446
- content:
447
- "opts.on( \"-${1:o}\", \"--${2:long-option-name}\"${3/^\\s*$|(.*\\S.*)/(?1:, )/}${3:String},\n \"${4:Option description.}\" ) do |${6:opt}|\n\t$0\nend"},
448
- "upt" =>
449
- {scope: "source.ruby",
450
- name: "upto(1.0/0.0) { |n| .. }",
451
- content:
452
- "upto(${1:1.0/0.0}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:n}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }"},
453
- "usai" =>
454
- {scope: "source.ruby",
455
- name: "usage_if()",
456
- content:
457
- "if ARGV.$1\n\tabort \"Usage: \#{\\$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"\nend"},
458
- "usau" =>
459
- {scope: "source.ruby",
460
- name: "usage_unless()",
461
- content:
462
- "unless ARGV.$1\n\tabort \"Usage: \#{\\$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"\nend"},
463
- "when" =>
464
- {scope: "source.ruby", name: "when ", content: "when ${1:condition}\n\t$0"},
465
- "zip" =>
466
- {scope: "source.ruby",
467
- name: "zip(enums) { |row| .. }",
468
- content: "zip(${1:enums}) { |${2:row}| $0 }"},
469
- "y" =>
470
- {scope: "source.ruby comment",
471
- name: ":yields:",
472
- content: " :yields: ${0:arguments}"},
473
- "#" => {scope: "source.ruby", name: "Add ‘# =>’ Marker", content: "# => "},
474
- "bm-" =>
475
- {scope: "source.ruby",
476
- name: "Benchmark.bmbm do .. end",
477
- content: "TESTS = ${1:10_000}\nBenchmark.bmbm do |results|\n $0\nend"},
478
- "Pn-" =>
479
- {scope: "source.ruby",
480
- name: "PStore.new( .. )",
481
- content: "PStore.new(${1:\"${2:file_name.pstore}\"})"},
482
- "=b" =>
483
- {scope: "source.ruby",
484
- name: "New Block",
485
- content:
486
- "`[[ $TM_LINE_INDEX != 0 ]] && echo; echo`=begin rdoc\n\t$0\n=end"},
487
- "end" => {scope: "source.ruby", name: "__END__", content: "__END__\n"},
488
- "ase" =>
489
- {scope: "source.ruby",
490
- name: "assert_equal(..)",
491
- content:
492
- "assert_equal`snippet_paren.rb`${1:expected}, ${0:actual}`snippet_paren.rb end`"},
493
- "dir" =>
494
- {scope: "source.ruby",
495
- name: "directory()",
496
- content: "File.dirname(__FILE__)"},
497
- "elsif" =>
498
- {scope: "source.ruby",
499
- name: "elsif ...",
500
- content: "elsif ${1:condition}\n\t$0"},
501
- "loo" => {scope: "source.ruby", name: "loop { .. }", content: "loop { $0 }"},
502
- "nam" =>
503
- {scope: "source.ruby",
504
- name: "namespace :.. do .. end",
505
- content: "namespace :${1:${TM_FILENAME/\\.\\w+//}} do\n\t$0\nend"},
506
- "patfh" =>
507
- {scope: "source.ruby",
508
- name: "path_from_here( .. )",
509
- content: "File.join(File.dirname(__FILE__), *%w[${1:rel path here}])"},
510
- "reqg-" =>
511
- {scope: "source.ruby",
512
- name: "require_gem \"..\"",
513
- content: "require \"$0\""},
514
- "rep" =>
515
- {scope: "source.ruby",
516
- name: "results.report(..) { .. }",
517
- content: "results.report(\"${1:name}:\") { TESTS.times { $0 } }"},
518
- "sinc" =>
519
- {scope: "source.ruby",
520
- name: "singleton_class()",
521
- content: "class << self; self end"},
522
- "tas" =>
523
- {scope: "source.ruby",
524
- name: "task :task_name => [:dependent, :tasks] do .. end",
525
- content:
526
- "desc \"${1:Task description}\"\ntask :${2:${3:task_name} => ${4:[:${5:dependent, :tasks}]}} do\n\t$0\nend"},
527
- "tra" =>
528
- {scope: "source.ruby",
529
- name: "transaction( .. ) { .. }",
530
- content:
531
- "transaction${1/(^.*?\\S.*)|.*/(?1:\\()/}${1:true}${1/(^.*?\\S.*)|.*/(?1:\\))/} { $0 }"},
532
- "until" =>
533
- {scope: "source.ruby",
534
- name: "until ... end",
535
- content: "until ${1:condition}\n\t$0\nend"},
536
- "while" =>
537
- {scope: "source.ruby",
538
- name: "while ... end",
539
- content: "while ${1:condition}\n\t$0\nend"},
540
- "xml-" =>
541
- {scope: "source.ruby",
542
- name: "xmlread(..)",
543
- content: "REXML::Document.new(File.read(${1:\"${2:path/to/file}\"}))"},
544
- "xpa" =>
545
- {scope: "source.ruby",
546
- name: "xpath(..) { .. }",
547
- content: "elements.each(${1:\"${2://XPath}\"}) do |${3:node}|\n\t$0\nend"}}
3
+ [{content: "#!/usr/bin/env ruby${TM_RUBY_SWITCHES: -wKU}\n",
4
+ name: "#!/usr/bin/env ruby -wKU",
5
+ scope: "source.ruby",
6
+ tabTrigger: "rb",
7
+ uuid: "A05CBDD6-845D-45EB-94FB-F8787F5456BE"},
8
+ {content: " :yields: ${0:arguments}",
9
+ name: ":yields:",
10
+ scope: "source.ruby comment",
11
+ tabTrigger: "y",
12
+ uuid: "ED6368FB-A11D-4622-9F42-7879481094F1"},
13
+ {content: "# => ",
14
+ name: "Add ‘# =>’ Marker",
15
+ scope: "source.ruby",
16
+ tabTrigger: "#",
17
+ uuid: "88BC3896-DC39-4307-A271-21D33340F15A"},
18
+ {content:
19
+ "Array.new(${1:10}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:i}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
20
+ name: "Array.new(10) { |i| .. }",
21
+ scope: "source.ruby",
22
+ tabTrigger: "Array",
23
+ uuid: "DAE6A754-D906-4763-B816-CE67125CEF08"},
24
+ {content: "TESTS = ${1:10_000}\nBenchmark.bmbm do |results|\n $0\nend",
25
+ name: "Benchmark.bmbm do .. end",
26
+ scope: "source.ruby",
27
+ tabTrigger: "bm-",
28
+ uuid: "942F20E2-C40A-44B8-A3F2-99AAC68CB534"},
29
+ {content:
30
+ "${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}} = Struct.new(:${2:attr_names}) do\n\tdef ${3:method_name}\n\t\t$0\n\tend\n\t\n\t\nend",
31
+ name: "ClassName = Struct .. do .. end",
32
+ scope: "source.ruby",
33
+ tabTrigger: "cla",
34
+ uuid: "05DFF82C-5A29-4EBD-93FE-C165FFFB5EA8"},
35
+ {content: "Dir.glob(${1:\"${2:dir/glob/*}\"}) { |${3:file}| $0 }",
36
+ name: "Dir.glob(\"..\") { |file| .. }",
37
+ scope: "source.ruby",
38
+ tabTrigger: "Dir",
39
+ uuid: "332AA973-AA71-48CB-AEE9-1D71E11019AC"},
40
+ {content: "Dir[${1:\"${2:glob/**/*.rb}\"}]",
41
+ name: "Dir[\"..\"]",
42
+ scope: "source.ruby",
43
+ tabTrigger: "Dir",
44
+ uuid: "8EBBB26F-980E-404E-8366-74E5772298F6"},
45
+ {content: "\#{${1:$TM_SELECTED_TEXT}}",
46
+ keyEquivalent: "#",
47
+ name: "Embedded Code — \#{…}",
48
+ scope:
49
+ "(string.quoted.double.ruby|string.interpolated.ruby) - string source",
50
+ uuid: "EEE6D060-C5A0-400D-A2E0-0835013C5365"},
51
+ {content: "File.foreach(${1:\"${2:path/to/file}\"}) { |${3:line}| $0 }",
52
+ name: "File.foreach (\"..\") { |line| .. }",
53
+ scope: "source.ruby",
54
+ tabTrigger: "File",
55
+ uuid: "8F594E5E-6F46-4E98-B5FB-1C8F3BA9828F"},
56
+ {content:
57
+ "File.open(${1:\"${2:path/to/file}\"}${3/(^[rwab+]+$)|.*/(?1:, \")/}${3:w}${3/(^[rwab+]+$)|.*/(?1:\")/}) { |${4:file}| $0 }",
58
+ name: "File.open(\"..\") { |file| .. }",
59
+ scope: "source.ruby",
60
+ tabTrigger: "File",
61
+ uuid: "397FA09F-A30F-4EE4-920C-318D5004EE97"},
62
+ {content: "File.read(${1:\"${2:path/to/file}\"})",
63
+ name: "File.read(\"..\")",
64
+ scope: "source.ruby",
65
+ tabTrigger: "File",
66
+ uuid: "50C56AC8-48F3-42A0-AF10-8164464AFAEF"},
67
+ {content: ":${1:key} => ${2:\"${3:value}\"}${4:, }",
68
+ name: "Hash Pair :key => \"value\"",
69
+ scope: "source.ruby",
70
+ tabTrigger: ":",
71
+ uuid: "840B9C4C-7037-4C3B-9028-EB9DC75EDB3E"},
72
+ {content: " => ",
73
+ keyEquivalent: "^l",
74
+ name: "Hash Pointer — =>",
75
+ scope: "source.ruby",
76
+ uuid: "B9E3A6DF-875D-11D9-897C-000393CBCE2E"},
77
+ {content: "Hash.new { |${1:hash}, ${2:key}| ${1:hash}[${2:key}] = $0 }",
78
+ name: "Hash.new { |hash, key| hash[key] = .. }",
79
+ scope: "source.ruby",
80
+ tabTrigger: "Hash",
81
+ uuid: "E16EE658-1CA0-4950-954B-B962E50B754F"},
82
+ {content: "<%= ${0:$TM_SELECTED_TEXT} %>",
83
+ keyEquivalent: "^>",
84
+ name: "Insert ERb’s <% .. %> or <%= .. %>",
85
+ scope: "text.html, source.yaml, meta.erb",
86
+ uuid: "FDFABCB9-DF58-4469-AE11-5407A4FF4D70"},
87
+ {content:
88
+ "do${1/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1: |)/}${1:variable}${1/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}\n\t$0\nend",
89
+ name: "Insert do |variable| … end",
90
+ scope: "source.ruby",
91
+ tabTrigger: "do",
92
+ uuid: "4B72C5C3-6CA7-41AC-B2F9-51DEA25D469E"},
93
+ {content:
94
+ "{ ${1/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${1:variable}${1/(^(?<var>\\s*[a-z_][a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}${2:$TM_SELECTED_TEXT} ",
95
+ name: "Insert { |variable| … }",
96
+ scope: "source.ruby - string - comment",
97
+ tabTrigger: "{",
98
+ uuid: "855FC4EF-7B1E-48EE-AD4E-5ECB8ED79D1C"},
99
+ {content:
100
+ "File.open(${1:\"${2:path/to/file}.dump\"}, \"wb\") { |${3:file}| Marshal.dump(${4:obj}, ${3:file}) }",
101
+ name: "Marshal.dump(.., file)",
102
+ scope: "source.ruby",
103
+ tabTrigger: "Md",
104
+ uuid: "0CB48BCA-3F6E-4AE0-85BC-08A1D2508216"},
105
+ {content:
106
+ "File.open(${1:\"${2:path/to/file}.dump\"}, \"rb\") { |${3:file}| Marshal.load(${3:file}) }",
107
+ name: "Marshal.load(obj)",
108
+ scope: "source.ruby",
109
+ tabTrigger: "Ml",
110
+ uuid: "20AAD0BC-075D-4EC0-9057-E3E5E62C4125"},
111
+ {content: "`[[ $TM_LINE_INDEX != 0 ]] && echo; echo`=begin rdoc\n\t$0\n=end",
112
+ name: "New Block",
113
+ scope: "source.ruby",
114
+ tabTrigger: "=b",
115
+ uuid: "05984208-D559-4C04-A69C-2019361A985A",
116
+ disableAutoIndent: true},
117
+ {content: "PStore.new(${1:\"${2:file_name.pstore}\"})",
118
+ name: "PStore.new( .. )",
119
+ scope: "source.ruby",
120
+ tabTrigger: "Pn-",
121
+ uuid: "5B46ECFD-23A4-4F0C-9951-F64C19C72C2B"},
122
+ {content:
123
+ "File.open(${1:\"${2:path/to/file}.yaml\"}, \"w\") { |${3:file}| YAML.dump(${4:obj}, ${3:file}) }",
124
+ name: "YAML.dump(.., file)",
125
+ scope: "source.ruby",
126
+ tabTrigger: "Yd-",
127
+ uuid: "3BA6762A-BB6B-489E-8006-F30F386AEF48"},
128
+ {content:
129
+ "File.open(${1:\"${2:path/to/file}.yaml\"}) { |${3:file}| YAML.load(${3:file}) }",
130
+ name: "YAML.load(file)",
131
+ scope: "source.ruby",
132
+ tabTrigger: "Yl-",
133
+ uuid: "8343ACF4-EEB7-44B5-B835-94826466D4D5"},
134
+ {content: "__END__\n",
135
+ name: "__END__",
136
+ scope: "source.ruby",
137
+ tabTrigger: "end",
138
+ uuid: "451A0596-1F72-4AFB-AF2F-45900FABB0F7"},
139
+ {content: "alias_method :${1:new_name}, :${0:old_name}",
140
+ name: "alias_method ..",
141
+ scope: "source.ruby",
142
+ tabTrigger: "am",
143
+ uuid: "988C8AEF-FC71-4455-9C4F-9338C05685A4"},
144
+ {content: "all? { |${1:e}| $0 }",
145
+ name: "all? { |e| .. }",
146
+ scope: "source.ruby",
147
+ tabTrigger: "all",
148
+ uuid: "07D1F987-7CDB-4EAD-B64A-27A93051700E"},
149
+ {content: "any? { |${1:e}| $0 }",
150
+ name: "any? { |e| .. }",
151
+ scope: "source.ruby",
152
+ tabTrigger: "any",
153
+ uuid: "A3B9B76B-2BC5-425C-AB24-9FAAFC375798"},
154
+ {content: "if __FILE__ == \\$PROGRAM_NAME\n\t$0\nend",
155
+ name: "application { .. }",
156
+ scope: "source.ruby",
157
+ tabTrigger: "app",
158
+ uuid: "E16D24D2-CC7E-4786-BE0B-1725FC865D78"},
159
+ {content:
160
+ "assert`snippet_paren.rb`${1:test}, \"${0:Failure message.}\"`snippet_paren.rb end`",
161
+ name: "assert(..)",
162
+ scope: "source.ruby",
163
+ tabTrigger: "as",
164
+ uuid: "B32C147D-44A6-478A-9D5D-189D7831E9A7"},
165
+ {content:
166
+ "assert_equal`snippet_paren.rb`${1:expected}, ${0:actual}`snippet_paren.rb end`",
167
+ name: "assert_equal(..)",
168
+ scope: "source.ruby",
169
+ tabTrigger: "ase",
170
+ uuid: "43A61A22-6BEE-4997-961C-1CDE739C05FE"},
171
+ {content:
172
+ "assert_in_delta`snippet_paren.rb`${1:expected_float}, ${2:actual_float}, ${0:2 ** -20}`snippet_paren.rb end`",
173
+ name: "assert_in_delta(..)",
174
+ scope: "source.ruby",
175
+ tabTrigger: "asid",
176
+ uuid: "429D0EF5-580D-4166-8F79-713DE96B77F1"},
177
+ {content:
178
+ "assert_instance_of`snippet_paren.rb`${1:ExpectedClass}, ${0:actual_instance}`snippet_paren.rb end`",
179
+ name: "assert_instance_of(..)",
180
+ scope: "source.ruby",
181
+ tabTrigger: "asio",
182
+ uuid: "0E831E03-67E1-4357-8323-C60685C23C4F"},
183
+ {content:
184
+ "assert_kind_of`snippet_paren.rb`${1:ExpectedKind}, ${0:actual_instance}`snippet_paren.rb end`",
185
+ name: "assert_kind_of(..)",
186
+ scope: "source.ruby",
187
+ tabTrigger: "asko",
188
+ uuid: "671F05E2-D9CC-485E-BB1B-B13EF20FAC65"},
189
+ {content:
190
+ "assert_match`snippet_paren.rb`/${1:expected_pattern}/, ${0:actual_string}`snippet_paren.rb end`",
191
+ name: "assert_match(..)",
192
+ scope: "source.ruby",
193
+ tabTrigger: "asm",
194
+ uuid: "711ED6C3-0F18-41FB-9A7D-3094BB319A85"},
195
+ {content: "assert_nil`snippet_paren.rb`${0:instance}`snippet_paren.rb end`",
196
+ name: "assert_nil(..)",
197
+ scope: "source.ruby",
198
+ tabTrigger: "asn",
199
+ uuid: "4C79256C-480A-459C-BDE8-BB0D972811DB"},
200
+ {content:
201
+ "assert_no_match`snippet_paren.rb`/${1:unexpected_pattern}/, ${0:actual_string}`snippet_paren.rb end`",
202
+ name: "assert_no_match(..)",
203
+ scope: "source.ruby",
204
+ tabTrigger: "asnm",
205
+ uuid: "A072BB1E-1DD1-45D3-9346-8CA3BA21B364"},
206
+ {content:
207
+ "assert_not_equal`snippet_paren.rb`${1:unexpected}, ${0:actual}`snippet_paren.rb end`",
208
+ name: "assert_not_equal(..)",
209
+ scope: "source.ruby",
210
+ tabTrigger: "asne",
211
+ uuid: "A243E96F-DC21-4AA0-B340-13A7674F6AFF"},
212
+ {content:
213
+ "assert_not_nil`snippet_paren.rb`${0:instance}`snippet_paren.rb end`",
214
+ name: "assert_not_nil(..)",
215
+ scope: "source.ruby",
216
+ tabTrigger: "asnn",
217
+ uuid: "79FEC3CC-2A40-4611-9A85-ECDB22FE0701"},
218
+ {content:
219
+ "assert_not_same`snippet_paren.rb`${1:unexpected}, ${0:actual}`snippet_paren.rb end`",
220
+ name: "assert_not_same(..)",
221
+ scope: "source.ruby",
222
+ tabTrigger: "asns",
223
+ uuid: "F91C25EC-EC76-498B-BFB5-FDA8F57C5875"},
224
+ {content: "assert_nothing_raised(${1:Exception}) { $0 }",
225
+ name: "assert_nothing_raised(..) { .. }",
226
+ scope: "source.ruby",
227
+ tabTrigger: "asnr",
228
+ uuid: "82F8EEE0-2452-411E-8102-7BFDDBCA2E72"},
229
+ {content: "assert_nothing_thrown { $0 }",
230
+ name: "assert_nothing_thrown { .. }",
231
+ scope: "source.ruby",
232
+ tabTrigger: "asnt",
233
+ uuid: "33639D7A-BD8C-4396-9C44-307B8AC87C9E"},
234
+ {content:
235
+ "assert_operator`snippet_paren.rb`${1:left}, :${2:operator}, ${0:right}`snippet_paren.rb end`",
236
+ name: "assert_operator(..)",
237
+ scope: "source.ruby",
238
+ tabTrigger: "aso",
239
+ uuid: "1B925A4D-8EE4-442B-9254-293599F5717F"},
240
+ {content: "assert_raise(${1:Exception}) { $0 }",
241
+ name: "assert_raise(..) { .. }",
242
+ scope: "source.ruby",
243
+ tabTrigger: "asr",
244
+ uuid: "68B21F6F-5D89-41FA-A19C-F29C2F912B4E"},
245
+ {content:
246
+ "assert_respond_to`snippet_paren.rb`${1:object}, :${0:method}`snippet_paren.rb end`",
247
+ name: "assert_respond_to(..)",
248
+ scope: "source.ruby",
249
+ tabTrigger: "asrt",
250
+ uuid: "09A11FDA-49FC-4466-8787-8D1D5D111A89"},
251
+ {content:
252
+ "assert_same`snippet_paren.rb`${1:expected}, ${0:actual}`snippet_paren.rb end`",
253
+ name: "assert_same(..)",
254
+ scope: "source.ruby",
255
+ tabTrigger: "ass",
256
+ uuid: "29340695-E426-4F77-8CF7-C59360A549F4"},
257
+ {content:
258
+ "assert_send`snippet_paren.rb`[${1:object}, :${2:message}, ${0:args}]`snippet_paren.rb end`",
259
+ name: "assert_send(..)",
260
+ scope: "source.ruby",
261
+ tabTrigger: "ass",
262
+ uuid: "7850AD5C-A90D-4E2C-A931-EADFF8D3D9A3"},
263
+ {content: "assert_throws(:${1:expected}) { $0 }",
264
+ name: "assert_throws(..) { .. }",
265
+ scope: "source.ruby",
266
+ tabTrigger: "ast",
267
+ uuid: "05655BD8-23C6-445F-BFD1-420BF25C3030"},
268
+ {content: "attr_accessor :${0:attr_names}",
269
+ name: "attr_accessor ..",
270
+ scope: "source.ruby",
271
+ tabTrigger: "rw",
272
+ uuid: "D7A7D3C9-1714-4C50-8CC0-D83A03883E8F"},
273
+ {content: "attr_reader :${0:attr_names}",
274
+ name: "attr_reader ..",
275
+ scope: "source.ruby",
276
+ tabTrigger: "r",
277
+ uuid: "A150C2D8-25B3-4339-BC92-8A0160A70486"},
278
+ {content: "attr_writer :${0:attr_names}",
279
+ name: "attr_writer ..",
280
+ scope: "source.ruby",
281
+ tabTrigger: "w",
282
+ uuid: "3D383096-A03F-4EF8-9060-3C727045AB34"},
283
+ {content:
284
+ "${TM_SELECTED_TEXT/([\\t ]*).*/$1/m}begin\n\t${3:${TM_SELECTED_TEXT/(\\A.*)|(.+)|\\n\\z/(?1:$0:(?2:\\t$0))/g}}\n${TM_SELECTED_TEXT/([\\t ]*).*/$1/m}rescue ${1:Exception}${2/.+/ => /}${2:e}\n${TM_SELECTED_TEXT/([\\t ]*).*/$1/m}\t$0\n${TM_SELECTED_TEXT/([\\t ]*).*/$1/m}end\n",
285
+ keyEquivalent: "^W",
286
+ name: "begin rescue … end",
287
+ scope: "source.ruby - comment",
288
+ tabTrigger: "begin",
289
+ uuid: "0F940CBC-2173-49FF-B6FD-98A62863F8F2"},
290
+ {content: "case ${1:object}\nwhen ${2:condition}\n\t$0\nend",
291
+ name: "case … end",
292
+ scope: "source.ruby",
293
+ tabTrigger: "case",
294
+ uuid: "667083EE-62C3-11D9-B8CF-000D93589AF6"},
295
+ {content:
296
+ "class ${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}} < DelegateClass(${2:ParentClass})\n\tdef initialize${3/(^.*?\\S.*)|.*/(?1:\\()/}${3:args}${3/(^.*?\\S.*)|.*/(?1:\\))/}\n\t\tsuper(${4:del_obj})\n\t\t\n\t\t$0\n\tend\n\t\n\t\nend",
297
+ name: "class .. < DelegateClass .. initialize .. end",
298
+ scope: "source.ruby",
299
+ tabTrigger: "cla-",
300
+ uuid: "AFE1D078-EA16-45F5-AD8A-FAC1B523D861"},
301
+ {content:
302
+ "class ${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}} < ${2:ParentClass}\n\tdef initialize${3/(^.*?\\S.*)|.*/(?1:\\()/}${3:args}${3/(^.*?\\S.*)|.*/(?1:\\))/}\n\t\t$0\n\tend\n\t\n\t\nend",
303
+ name: "class .. < ParentClass .. initialize .. end",
304
+ scope: "source.ruby",
305
+ tabTrigger: "cla",
306
+ uuid: "0CCBE04E-F4E2-4E55-9506-7DE67ACF8388"},
307
+ {content:
308
+ "require \"test/unit\"\n\nrequire \"${1:library_file_name}\"\n\nclass Test${2:${1/([\\w&&[^_]]+)|./\\u$1/g}} < Test::Unit::TestCase\n\tdef test_${3:case_name}\n\t\t$0\n\tend\nend",
309
+ name: "class .. < Test::Unit::TestCase .. end",
310
+ scope: "source.ruby",
311
+ tabTrigger: "tc",
312
+ uuid: "31D1F145-33AB-4441-BA11-4D1C46928C4C"},
313
+ {content:
314
+ "class ${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}}\n\t$0\nend",
315
+ name: "class .. end",
316
+ scope: "source.ruby",
317
+ tabTrigger: "cla",
318
+ uuid: "BF487539-8085-4FF4-8601-1AD20FABAEDC"},
319
+ {content:
320
+ "class ${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}}\n\tdef initialize${2/(^.*?\\S.*)|.*/(?1:\\()/}${2:args}${2/(^.*?\\S.*)|.*/(?1:\\))/}\n\t\t$0\n\tend\n\t\n\t\nend",
321
+ name: "class .. initialize .. end",
322
+ scope: "source.ruby",
323
+ tabTrigger: "cla",
324
+ uuid: "83EED068-8C1C-4BAF-9893-902DC00616AB"},
325
+ {content: "class << ${1:self}\n\t$0\nend",
326
+ name: "class << self .. end",
327
+ scope: "source.ruby",
328
+ tabTrigger: "cla",
329
+ uuid: "C7AAAE45-487A-4B61-8962-D47675AAC05F"},
330
+ {content:
331
+ "class ${1:BlankSlate}\n\tinstance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n\t\n\tdef initialize${2/(^.*?\\S.*)|.*/(?1:\\()/}${2:args}${2/(^.*?\\S.*)|.*/(?1:\\))/}\n\t\t@${3:delegate} = ${4:delegate_object}\n\t\t\n\t\t$0\n\tend\n\t\n\tdef method_missing(meth, *args, &block)\n\t\t@${3:delegate}.send(meth, *args, &block)\n\tend\n\t\n\t\nend",
332
+ name: "class BlankSlate .. initialize .. end",
333
+ scope: "source.ruby",
334
+ tabTrigger: "cla",
335
+ uuid: "E98FB8F9-7302-431D-8BF2-275A68A6126C"},
336
+ {content:
337
+ "split(\"::\").inject(Object) { |par, const| par.const_get(const) }",
338
+ name: "class_from_name()",
339
+ scope: "source.ruby",
340
+ tabTrigger: "clafn",
341
+ uuid: "2DBEE50B-3097-4A57-AB48-3586CF392D8B"},
342
+ {content: "classify { |${1:e}| $0 }",
343
+ name: "classify { |e| .. }",
344
+ scope: "source.ruby",
345
+ tabTrigger: "cl",
346
+ uuid: "5DA9E1E8-2C54-420A-9B84-B040A1AF2B9E"},
347
+ {content: "collect { |${1:e}| $0 }",
348
+ name: "collect { |e| .. }",
349
+ scope: "source.ruby",
350
+ tabTrigger: "col",
351
+ uuid: "669A86AD-936F-4EDA-8E4E-6863804072DA"},
352
+ {content: "Marshal.load(Marshal.dump(${0:obj_to_copy}))",
353
+ name: "deep_copy(..)",
354
+ scope: "source.ruby",
355
+ tabTrigger: "deec",
356
+ uuid: "0BA2B2F1-E767-4A03-9791-0AC0183251F1"},
357
+ {content: "def method_missing(meth, *args, &blk)\n\t$0\nend",
358
+ name: "def method_missing .. end",
359
+ scope: "source.ruby",
360
+ tabTrigger: "defmm",
361
+ uuid: "87D5F8AD-8DA6-4AED-A0D8-B51CAC980445"},
362
+ {content: "def self.${1:class_method_name}\n\t$0\nend",
363
+ name: "def self .. end",
364
+ scope: "source.ruby",
365
+ tabTrigger: "defs",
366
+ uuid: "7C6E88FA-CA0E-4110-8C75-A94E54286A75"},
367
+ {content: "def test_${1:case_name}\n\t$0\nend",
368
+ name: "def test_ .. end",
369
+ scope: "source.ruby",
370
+ tabTrigger: "deft",
371
+ uuid: "00F66D41-25AF-4597-B67D-E540965A5222"},
372
+ {content: "def ${1:method_name}\n\t$0\nend",
373
+ name: "def end",
374
+ scope: "source.ruby",
375
+ tabTrigger: "def",
376
+ uuid: "4E9A7A73-875C-11D9-897C-000393CBCE2E"},
377
+ {content: "def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}",
378
+ name: "def_delegator ..",
379
+ scope: "source.ruby",
380
+ tabTrigger: "defd",
381
+ uuid: "C44ED391-614F-4BA2-BB0F-87668EEA9954"},
382
+ {content: "def_delegators :${1:@del_obj}, :${0:del_methods}",
383
+ name: "def_delegators ..",
384
+ scope: "source.ruby",
385
+ tabTrigger: "defds",
386
+ uuid: "4A6EFD6B-88E2-4822-AD48-03460EDBC796"},
387
+ {content: "delete_if { |${1:e}| $0 }",
388
+ name: "delete_if { |e| .. }",
389
+ scope: "source.ruby",
390
+ tabTrigger: "deli",
391
+ uuid: "263C94DC-63CF-4BA3-9692-C5582CA8F1AB"},
392
+ {content: "detect { |${1:e}| $0 }",
393
+ name: "detect { |e| .. }",
394
+ scope: "source.ruby",
395
+ tabTrigger: "det",
396
+ uuid: "6C6B9849-9631-49FF-A9F9-F0E94A1512C5"},
397
+ {content: "File.dirname(__FILE__)",
398
+ name: "directory()",
399
+ scope: "source.ruby",
400
+ tabTrigger: "dir",
401
+ uuid: "678BDB83-FBBD-4E8E-BE0B-E1A98AECB247"},
402
+ {content:
403
+ "downto(${1:0}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:n}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
404
+ name: "downto(0) { |n| .. }",
405
+ scope: "source.ruby",
406
+ tabTrigger: "dow",
407
+ uuid: "4991BB86-736E-4758-B9B2-E4FA90B9368F"},
408
+ {content: "each { |${1:e}| $0 }",
409
+ name: "each { |e| .. }",
410
+ scope: "source.ruby",
411
+ tabTrigger: "ea",
412
+ uuid: "ECBA4CA0-275F-460E-85BE-E82FEA2E2B26"},
413
+ {content: "each_byte { |${1:byte}| $0 }",
414
+ name: "each_byte { |byte| .. }",
415
+ scope: "source.ruby",
416
+ tabTrigger: "eab",
417
+ uuid: "338EC03D-3FF4-4435-94E8-1CEF20CEC75D"},
418
+ {content: "each_char { |${1:chr}| $0 }",
419
+ name: "each_char { |chr| .. }",
420
+ scope: "source.ruby",
421
+ tabTrigger: "eac-",
422
+ uuid: "FDD73070-6D32-4301-A86A-C55B77C3D8ED"},
423
+ {content: "each_cons(${1:2}) { |${2:group}| $0 }",
424
+ name: "each_cons(..) { |group| .. }",
425
+ scope: "source.ruby",
426
+ tabTrigger: "eac-",
427
+ uuid: "3C04589C-5127-478E-97B3-CA7DD2EA7ECD"},
428
+ {content: "each_index { |${1:i}| $0 }",
429
+ name: "each_index { |i| .. }",
430
+ scope: "source.ruby",
431
+ tabTrigger: "eai",
432
+ uuid: "689120C9-AB40-4081-8268-9362E00FA4A0"},
433
+ {content: "each_key { |${1:key}| $0 }",
434
+ name: "each_key { |key| .. }",
435
+ scope: "source.ruby",
436
+ tabTrigger: "eak",
437
+ uuid: "E54F7077-3C33-4B53-A4F7-21E16132D3AD"},
438
+ {content: "each_line$1 { |${2:line}| $0 }",
439
+ name: "each_line { |line| .. }",
440
+ scope: "source.ruby",
441
+ tabTrigger: "eal",
442
+ uuid: "02913388-EE8E-4C55-AC94-94F3D751F47E"},
443
+ {content: "each_pair { |${1:name}, ${2:val}| $0 }",
444
+ name: "each_pair { |name, val| .. }",
445
+ scope: "source.ruby",
446
+ tabTrigger: "eap",
447
+ uuid: "7A3CECED-452B-438E-A5C6-95B6BDC43243"},
448
+ {content: "each_slice(${1:2}) { |${2:group}| $0 }",
449
+ name: "each_slice(..) { |group| .. }",
450
+ scope: "source.ruby",
451
+ tabTrigger: "eas-",
452
+ uuid: "CD748479-D2A4-4AB5-95BD-4C89512BA210"},
453
+ {content: "each_value { |${1:val}| $0 }",
454
+ name: "each_value { |val| .. }",
455
+ scope: "source.ruby",
456
+ tabTrigger: "eav",
457
+ uuid: "844DBD70-BC23-4FBF-9C18-F4A610239DF2"},
458
+ {content: "each_with_index { |${1:e}, ${2:i}| $0 }",
459
+ name: "each_with_index { |e, i| .. }",
460
+ scope: "source.ruby",
461
+ tabTrigger: "eawi",
462
+ uuid: "1DD13CF5-39C0-4F10-B655-56DACEBC7F94"},
463
+ {content: "elsif ${1:condition}\n\t$0",
464
+ name: "elsif ...",
465
+ scope: "source.ruby",
466
+ tabTrigger: "elsif",
467
+ uuid: "CD1609FA-47DA-4EE4-9C5B-5C56D953F5B1"},
468
+ {content: "extend Forwardable",
469
+ name: "extend Forwardable",
470
+ scope: "source.ruby",
471
+ tabTrigger: "Forw-",
472
+ uuid: "7F46C90A-595B-4B83-A4F7-058F63CE4218"},
473
+ {content:
474
+ "fetch(${1:name}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:key}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
475
+ name: "fetch(name) { |key| .. }",
476
+ scope: "source.ruby",
477
+ tabTrigger: "fet",
478
+ uuid: "1F72122A-35AD-4BA1-AA01-889A10319666"},
479
+ {content:
480
+ "fill(${1:range}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:i}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
481
+ name: "fill(range) { |i| .. }",
482
+ scope: "source.ruby",
483
+ tabTrigger: "fil",
484
+ uuid: "6021BBDC-4AAD-447B-A0C2-A4BB31721558"},
485
+ {content: "find { |${1:e}| $0 }",
486
+ name: "find { |e| .. }",
487
+ scope: "source.ruby",
488
+ tabTrigger: "fin",
489
+ uuid: "E23FE534-8061-4828-98A5-46270B6910B0"},
490
+ {content: "find_all { |${1:e}| $0 }",
491
+ name: "find_all { |e| .. }",
492
+ scope: "source.ruby",
493
+ tabTrigger: "fina",
494
+ uuid: "197709C5-8382-4A59-B6D7-31A0CC0F23B7"},
495
+ {content: "inject(Array.new) { |${1:arr}, ${2:a}| ${1:arr}.push(*${2:a}) }",
496
+ name: "flatten_once()",
497
+ scope: "source.ruby",
498
+ tabTrigger: "flao",
499
+ uuid: "3DDB99C4-486D-4C11-A217-5680FDD8EC19"},
500
+ {content:
501
+ "flunk`snippet_paren.rb`\"${0:Failure message.}\"`snippet_paren.rb end`",
502
+ name: "flunk(..)",
503
+ scope: "source.ruby",
504
+ tabTrigger: "fl",
505
+ uuid: "DB457094-1AC9-4856-AEFC-43A9576B6775"},
506
+ {content: "grep(${1:/${2:pattern}/}) { |${3:match}| $0 }",
507
+ name: "grep(/pattern/) { |match| .. }",
508
+ scope: "source.ruby",
509
+ tabTrigger: "gre",
510
+ uuid: "9D9E7BA3-8C5D-4532-83EA-326358C2F5BB"},
511
+ {content:
512
+ "gsub(/${1:pattern}/) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:match}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
513
+ name: "gsub(/../) { |match| .. }",
514
+ scope: "source.ruby",
515
+ tabTrigger: "gsu",
516
+ uuid: "2514FC26-468C-4D08-A788-494A444C4286"},
517
+ {content: "if ${1:condition}\n\t$2\nelse\n\t$3\nend",
518
+ name: "if else … end",
519
+ scope: "source.ruby",
520
+ tabTrigger: "ife",
521
+ uuid: "667082E6-62C3-11D9-B8CF-000D93589AF6"},
522
+ {content: "if ${1:condition}\n\t$0\nend",
523
+ name: "if … end",
524
+ scope: "source.ruby",
525
+ tabTrigger: "if",
526
+ uuid: "6670835F-62C3-11D9-B8CF-000D93589AF6"},
527
+ {content: "include Comparable\n\ndef <=>(other)\n\t$0\nend",
528
+ name: "include Comparable ..",
529
+ scope: "source.ruby",
530
+ tabTrigger: "Comp",
531
+ uuid: "6C9D6B3D-D8E9-4606-9534-577C8D21FFF6"},
532
+ {content: "include Enumerable\n\ndef each(&block)\n\t$0\nend",
533
+ name: "include Enumerable ..",
534
+ scope: "source.ruby",
535
+ tabTrigger: "Enum",
536
+ uuid: "AAD5D511-6BE7-41DA-8F2B-1593A48FBB08"},
537
+ {content: "inject${1/.+/(/}${1:init}${1/.+/)/} { |${2:mem}, ${3:var}| $0 }",
538
+ name: "inject(init) { |mem, var| .. }",
539
+ scope: "source.ruby",
540
+ tabTrigger: "inj",
541
+ uuid: "B563E0D7-513D-49B4-9733-1B04A6F25A74"},
542
+ {content:
543
+ "lambda { ${1/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${1:args}${1/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
544
+ name: "lambda { |args| .. }",
545
+ scope: "source.ruby",
546
+ tabTrigger: "lam",
547
+ uuid: "21E75321-0CF7-45E8-A297-BCC7C0DDDD15"},
548
+ {content: "loop { $0 }",
549
+ name: "loop { .. }",
550
+ scope: "source.ruby",
551
+ tabTrigger: "loo",
552
+ uuid: "567E3D18-BF2B-4379-8927-2777EC9F495E"},
553
+ {content: "map { |${1:e}| $0 }",
554
+ name: "map { |e| .. }",
555
+ scope: "source.ruby",
556
+ tabTrigger: "map",
557
+ uuid: "5A3754FC-43A3-462B-AB42-E3E951872E6F"},
558
+ {content: "enum_with_index.map { |${1:e}, ${2:i}| $0 }",
559
+ name: "map_with_index { |e, i| .. }",
560
+ scope: "source.ruby",
561
+ tabTrigger: "mapwi-",
562
+ uuid: "BD4CFD7B-1AC0-4569-9BDA-FD491F41F4E6"},
563
+ {content: "max { |a, b| $0 }",
564
+ name: "max { |a, b| .. }",
565
+ scope: "source.ruby",
566
+ tabTrigger: "max",
567
+ uuid: "98182B9E-7C61-4824-BE4C-9CD69C816037"},
568
+ {content: "min { |a, b| $0 }",
569
+ name: "min { |a, b| .. }",
570
+ scope: "source.ruby",
571
+ tabTrigger: "min",
572
+ uuid: "CB03D11A-7204-48D0-92C1-E109034403E7"},
573
+ {content:
574
+ "module ${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}}\n\tmodule ClassMethods\n\t\t$0\n\tend\n\t\n\tmodule InstanceMethods\n\t\t\n\tend\n\t\n\tdef self.included(receiver)\n\t\treceiver.extend ClassMethods\n\t\treceiver.send :include, InstanceMethods\n\tend\nend",
575
+ name: "module .. ClassMethods .. end",
576
+ scope: "source.ruby",
577
+ tabTrigger: "mod",
578
+ uuid: "A71A18CF-2D71-4BFF-AA0C-D9B8C59BC4EB"},
579
+ {content:
580
+ "module ${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}}\n\t$0\nend",
581
+ name: "module .. end",
582
+ scope: "source.ruby",
583
+ tabTrigger: "mod",
584
+ uuid: "2B73EC5F-06D2-460C-A14F-6FA05AFCF0CC"},
585
+ {content:
586
+ "module ${1:${TM_FILENAME/(?:\\A|_)([A-Za-z0-9]+)(?:\\.rb)?/(?2::\\u$1)/g}}\n\tmodule_function\n\t\n\t$0\nend",
587
+ name: "module .. module_function .. end",
588
+ scope: "source.ruby",
589
+ tabTrigger: "mod",
590
+ uuid: "0E85EC81-2FAB-4648-B590-119CC1BB6E41"},
591
+ {content: "namespace :${1:${TM_FILENAME/\\.\\w+//}} do\n\t$0\nend",
592
+ name: "namespace :.. do .. end",
593
+ scope: "source.ruby",
594
+ tabTrigger: "nam",
595
+ uuid: "05EE1046-5ED7-48F5-8693-1F066163B2F4"},
596
+ {content:
597
+ "open(${1:\"${2:path/or/url/or/pipe}\"}${3/(^[rwab+]+$)|.*/(?1:, \")/}${3:w}${3/(^[rwab+]+$)|.*/(?1:\")/}) { |${4:io}| $0 }",
598
+ name: "open(\"path/or/url\", \"w\") { |io| .. }",
599
+ scope: "source.ruby",
600
+ tabTrigger: "ope",
601
+ uuid: "418F1817-255F-430A-B09A-222964ED66A7"},
602
+ {content:
603
+ "opts.on( \"-${1:o}\", \"--${2:long-option-name}\"${3/^\\s*$|(.*\\S.*)/(?1:, )/}${3:String},\n \"${4:Option description.}\" ) do |${6:opt}|\n\t$0\nend",
604
+ name: "option(..)",
605
+ scope: "source.ruby",
606
+ tabTrigger: "opt",
607
+ uuid: "209D5D73-7A77-4931-A158-3FB6D5B48A88"},
608
+ {content:
609
+ "require \"optparse\"\n\noptions = {${1::default => \"args\"}}\n\nARGV.options do |opts|\n\topts.banner = \"Usage: \#{File.basename(\\$PROGRAM_NAME)} [OPTIONS]${2/^\\s*$|(.*\\S.*)/(?1: )/}${2:OTHER_ARGS}\"\n\t\n\topts.separator \"\"\n\topts.separator \"Specific Options:\"\n\t\n\t$0\n\t\n\topts.separator \"Common Options:\"\n\t\n\topts.on( \"-h\", \"--help\",\n\t \"Show this message.\" ) do\n\t\tputs opts\n\t\texit\n\tend\n\t\n\tbegin\n\t\topts.parse!\n\trescue\n\t\tputs opts\n\t\texit\n\tend\nend\n",
610
+ name: "option_parse { .. }",
611
+ scope: "source.ruby",
612
+ tabTrigger: "optp",
613
+ uuid: "C3C48948-4F49-484E-A8DE-DEB44723099E"},
614
+ {content: "partition { |${1:e}| $0 }",
615
+ name: "partition { |e| .. }",
616
+ scope: "source.ruby",
617
+ tabTrigger: "par",
618
+ uuid: "52B8BF63-F09E-4789-8407-06168A8AE666"},
619
+ {content: "File.join(File.dirname(__FILE__), *%w[${1:rel path here}])",
620
+ name: "path_from_here( .. )",
621
+ scope: "source.ruby",
622
+ tabTrigger: "patfh",
623
+ uuid: "A4E89D97-D5ED-48BB-B5FF-1BFB79211FCD"},
624
+ {content: "sort_by { rand }",
625
+ name: "randomize()",
626
+ scope: "source.ruby",
627
+ tabTrigger: "ran",
628
+ uuid: "B0CE57EC-FB2E-4482-8CCE-448DC2588715"},
629
+ {content: "reject { |${1:e}| $0 }",
630
+ name: "reject { |e| .. }",
631
+ scope: "source.ruby",
632
+ tabTrigger: "rej",
633
+ uuid: "B79B9DAB-ABEF-44F6-BF7E-635E7BA11DFD"},
634
+ {content: "require \"$0\"",
635
+ name: "require \"..\"",
636
+ scope: "source.ruby",
637
+ tabTrigger: "req",
638
+ uuid: "97DE939B-D243-4D5C-B953-1C9090912E7C"},
639
+ {content:
640
+ "require \"test/unit\"\n\nrequire \"tc_${1:test_case_file}\"\nrequire \"tc_${2:test_case_file}\"\n",
641
+ name: "require \"tc_..\" ..",
642
+ scope: "source.ruby",
643
+ tabTrigger: "ts",
644
+ uuid: "5297FD0C-98B1-4514-BBD1-1516810BECA6"},
645
+ {content: "require \"$0\"",
646
+ name: "require_gem \"..\"",
647
+ scope: "source.ruby",
648
+ tabTrigger: "reqg-",
649
+ uuid: "34FEBB9F-73CD-4DD4-A0A3-1CF2A5E3DE78"},
650
+ {content: "results.report(\"${1:name}:\") { TESTS.times { $0 } }",
651
+ name: "results.report(..) { .. }",
652
+ scope: "source.ruby",
653
+ tabTrigger: "rep",
654
+ uuid: "1C60D589-DD46-4109-90CA-6B34AEA2F298"},
655
+ {content: "reverse_each { |${1:e}| $0 }",
656
+ name: "reverse_each { |e| .. }",
657
+ scope: "source.ruby",
658
+ tabTrigger: "reve",
659
+ uuid: "F3C5F719-EF03-4FF7-A777-4A8402FE3B6B"},
660
+ {content: "scan(/${1:pattern}/) { |${2:match}| $0 }",
661
+ name: "scan(/../) { |match| .. }",
662
+ scope: "source.ruby",
663
+ tabTrigger: "sca",
664
+ uuid: "66802933-B49F-479B-9DF9-1D898FF1FA90"},
665
+ {content: "select { |${1:e}| $0 }",
666
+ name: "select { |e| .. }",
667
+ scope: "source.ruby",
668
+ tabTrigger: "sel",
669
+ uuid: "4E409AA4-E7D4-46B7-A4E9-E32F992B33E9"},
670
+ {content: "class << self; self end",
671
+ name: "singleton_class()",
672
+ scope: "source.ruby",
673
+ tabTrigger: "sinc",
674
+ uuid: "B46D35B8-5DEB-4C10-A110-BA1965A2EB9C"},
675
+ {content: "sort { |a, b| $0 }",
676
+ name: "sort { |a, b| .. }",
677
+ scope: "source.ruby",
678
+ tabTrigger: "sor",
679
+ uuid: "9E0B4D4B-2956-4B3A-800A-3D8CE54E66BF"},
680
+ {content: "sort_by { |${1:e}| $0 }",
681
+ name: "sort_by { |e| .. }",
682
+ scope: "source.ruby",
683
+ tabTrigger: "sorb",
684
+ uuid: "BA9440C9-36C3-4031-BB61-67B581D5B179"},
685
+ {content:
686
+ "step(${1:2}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:n}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
687
+ name: "step(2) { |e| .. }",
688
+ scope: "source.ruby",
689
+ tabTrigger: "ste",
690
+ uuid: "36853A11-0307-4AE7-B835-7CE6358717A5"},
691
+ {content:
692
+ "sub(/${1:pattern}/) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:match}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
693
+ name: "sub(/../) { |match| .. }",
694
+ scope: "source.ruby",
695
+ tabTrigger: "sub",
696
+ uuid: "8021944C-CEA4-4983-8D1C-78D18D4004A1"},
697
+ {content:
698
+ "desc \"${1:Task description}\"\ntask :${2:${3:task_name} => ${4:[:${5:dependent, :tasks}]}} do\n\t$0\nend",
699
+ name: "task :task_name => [:dependent, :tasks] do .. end",
700
+ scope: "source.ruby",
701
+ tabTrigger: "tas",
702
+ uuid: "A7BF14E6-59B1-42E5-8755-8A72BF13685E"},
703
+ {content:
704
+ "times { ${1/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${1:n}${1/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
705
+ name: "times { |n| .. }",
706
+ scope: "source.ruby",
707
+ tabTrigger: "tim",
708
+ uuid: "206D54AF-E67A-4DF0-B7F4-3D42FEB81685"},
709
+ {content:
710
+ "transaction${1/(^.*?\\S.*)|.*/(?1:\\()/}${1:true}${1/(^.*?\\S.*)|.*/(?1:\\))/} { $0 }",
711
+ name: "transaction( .. ) { .. }",
712
+ scope: "source.ruby",
713
+ tabTrigger: "tra",
714
+ uuid: "46BF99AD-E172-4D49-BCF7-072F4730E1D9"},
715
+ {content: "ARGF.each_line$1 do |${2:line}|\n\t$0\nend",
716
+ name: "unix_filter { .. }",
717
+ scope: "source.ruby",
718
+ tabTrigger: "unif",
719
+ uuid: "8CEF9711-88D5-4202-AFB9-29EF4EFD25C1"},
720
+ {content: "unless ${1:condition}\n\t$0\nend",
721
+ name: "unless … end",
722
+ scope: "source.ruby",
723
+ tabTrigger: "unless",
724
+ uuid: "F53E098D-D08E-4CE2-990A-B0BD70E60614"},
725
+ {content: "until ${1:condition}\n\t$0\nend",
726
+ name: "until ... end",
727
+ scope: "source.ruby",
728
+ tabTrigger: "until",
729
+ uuid: "488B387C-50C0-4B2D-9260-5A7E7EAF9B42"},
730
+ {content:
731
+ "upto(${1:1.0/0.0}) { ${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:|)/}${2:n}${2/(^(?<var>\\s*(?:\\*|\\*?[a-z_])[a-zA-Z0-9_]*\\s*)(,\\g<var>)*,?\\s*$)|.*/(?1:| )/}$0 }",
732
+ name: "upto(1.0/0.0) { |n| .. }",
733
+ scope: "source.ruby",
734
+ tabTrigger: "upt",
735
+ uuid: "51954118-81D7-42B6-9A10-BE23D8B9FFE2"},
736
+ {content:
737
+ "if ARGV.$1\n\tabort \"Usage: \#{\\$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"\nend",
738
+ name: "usage_if()",
739
+ scope: "source.ruby",
740
+ tabTrigger: "usai",
741
+ uuid: "21C0D711-F32A-4665-AA0D-B136F9DD3945"},
742
+ {content:
743
+ "unless ARGV.$1\n\tabort \"Usage: \#{\\$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"\nend",
744
+ name: "usage_unless()",
745
+ scope: "source.ruby",
746
+ tabTrigger: "usau",
747
+ uuid: "49D69DEC-6991-49F4-8D9B-BA60BFDD3D17"},
748
+ {content: "when ${1:condition}\n\t$0",
749
+ name: "when …",
750
+ scope: "source.ruby",
751
+ tabTrigger: "when",
752
+ uuid: "48D8E498-C9A5-4B1B-9A18-71A5860276FB"},
753
+ {content: "while ${1:condition}\n\t$0\nend",
754
+ name: "while ... end",
755
+ scope: "source.ruby",
756
+ tabTrigger: "while",
757
+ uuid: "D121FC61-96A4-4B8F-8709-280EDA876FF3"},
758
+ {content: "REXML::Document.new(File.read(${1:\"${2:path/to/file}\"}))",
759
+ name: "xmlread(..)",
760
+ scope: "source.ruby",
761
+ tabTrigger: "xml-",
762
+ uuid: "B904D4AA-D15D-48A4-8EB2-563BAF489332"},
763
+ {content: "elements.each(${1:\"${2://XPath}\"}) do |${3:node}|\n\t$0\nend",
764
+ name: "xpath(..) { .. }",
765
+ scope: "source.ruby",
766
+ tabTrigger: "xpa",
767
+ uuid: "CC300D44-6C3F-4F6C-A8AB-86F5A2DC57CF"},
768
+ {content: "zip(${1:enums}) { |${2:row}| $0 }",
769
+ name: "zip(enums) { |row| .. }",
770
+ scope: "source.ruby",
771
+ tabTrigger: "zip",
772
+ uuid: "FD010022-E0E7-44DB-827F-33F7D9310DA2"}]