@openui5/sap.ui.codeeditor 1.120.7 → 1.121.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/.reuse/dep5 +23 -21
  2. package/THIRDPARTY.txt +6 -43
  3. package/package.json +2 -2
  4. package/src/sap/ui/codeeditor/.library +2 -2
  5. package/src/sap/ui/codeeditor/CodeEditor.js +41 -27
  6. package/src/sap/ui/codeeditor/js/ace/ace.js +16262 -16597
  7. package/src/sap/ui/codeeditor/js/ace/css/ace.css +358 -86
  8. package/src/sap/ui/codeeditor/js/ace/css/ambiance-3.png +0 -0
  9. package/src/sap/ui/codeeditor/js/ace/css/chrome-2.png +0 -0
  10. package/src/sap/ui/codeeditor/js/ace/css/cloud9_day-1.png +0 -0
  11. package/src/sap/ui/codeeditor/js/ace/css/cloud9_day-2.png +0 -0
  12. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night-1.png +0 -0
  13. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night-2.png +0 -0
  14. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night_low_color-1.png +0 -0
  15. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night_low_color-2.png +0 -0
  16. package/src/sap/ui/codeeditor/js/ace/css/clouds-2.png +0 -0
  17. package/src/sap/ui/codeeditor/js/ace/css/clouds_midnight-2.png +0 -0
  18. package/src/sap/ui/codeeditor/js/ace/css/cobalt-2.png +0 -0
  19. package/src/sap/ui/codeeditor/js/ace/css/crimson_editor-2.png +0 -0
  20. package/src/sap/ui/codeeditor/js/ace/css/dawn-2.png +0 -0
  21. package/src/sap/ui/codeeditor/js/ace/css/dracula-2.png +0 -0
  22. package/src/sap/ui/codeeditor/js/ace/css/dreamweaver-2.png +0 -0
  23. package/src/sap/ui/codeeditor/js/ace/css/eclipse-2.png +0 -0
  24. package/src/sap/ui/codeeditor/js/ace/css/github-2.png +0 -0
  25. package/src/sap/ui/codeeditor/js/ace/css/github_dark-1.png +0 -0
  26. package/src/sap/ui/codeeditor/js/ace/css/github_dark-2.png +0 -0
  27. package/src/sap/ui/codeeditor/js/ace/css/gob-2.png +0 -0
  28. package/src/sap/ui/codeeditor/js/ace/css/gruvbox-2.png +0 -0
  29. package/src/sap/ui/codeeditor/js/ace/css/gruvbox_dark_hard-1.png +0 -0
  30. package/src/sap/ui/codeeditor/js/ace/css/gruvbox_light_hard-1.png +0 -0
  31. package/src/sap/ui/codeeditor/js/ace/css/gruvbox_light_hard-2.png +0 -0
  32. package/src/sap/ui/codeeditor/js/ace/css/idle_fingers-2.png +0 -0
  33. package/src/sap/ui/codeeditor/js/ace/css/iplastic-3.png +0 -0
  34. package/src/sap/ui/codeeditor/js/ace/css/katzenmilch-1.png +0 -0
  35. package/src/sap/ui/codeeditor/js/ace/css/katzenmilch-2.png +0 -0
  36. package/src/sap/ui/codeeditor/js/ace/css/kr_theme-2.png +0 -0
  37. package/src/sap/ui/codeeditor/js/ace/css/kuroir-1.png +0 -0
  38. package/src/sap/ui/codeeditor/js/ace/css/kuroir-2.png +0 -0
  39. package/src/sap/ui/codeeditor/js/ace/css/main-10.png +0 -0
  40. package/src/sap/ui/codeeditor/js/ace/css/main-11.png +0 -0
  41. package/src/sap/ui/codeeditor/js/ace/css/main-12.png +0 -0
  42. package/src/sap/ui/codeeditor/js/ace/css/main-13.png +0 -0
  43. package/src/sap/ui/codeeditor/js/ace/css/main-14.png +0 -0
  44. package/src/sap/ui/codeeditor/js/ace/css/main-15.png +0 -0
  45. package/src/sap/ui/codeeditor/js/ace/css/main-16.png +0 -0
  46. package/src/sap/ui/codeeditor/js/ace/css/main-17.png +0 -0
  47. package/src/sap/ui/codeeditor/js/ace/css/main-18.png +0 -0
  48. package/src/sap/ui/codeeditor/js/ace/css/main-19.png +0 -0
  49. package/src/sap/ui/codeeditor/js/ace/css/main-20.png +0 -0
  50. package/src/sap/ui/codeeditor/js/ace/css/main-21.png +0 -0
  51. package/src/sap/ui/codeeditor/js/ace/css/main-22.png +0 -0
  52. package/src/sap/ui/codeeditor/js/ace/css/main-22.svg +1 -0
  53. package/src/sap/ui/codeeditor/js/ace/css/main-23.png +0 -0
  54. package/src/sap/ui/codeeditor/js/ace/css/main-5.svg +7 -0
  55. package/src/sap/ui/codeeditor/js/ace/css/main-6.svg +7 -0
  56. package/src/sap/ui/codeeditor/js/ace/css/main-7.svg +9 -0
  57. package/src/sap/ui/codeeditor/js/ace/css/main-8.png +0 -0
  58. package/src/sap/ui/codeeditor/js/ace/css/main-8.svg +4 -0
  59. package/src/sap/ui/codeeditor/js/ace/css/main-9.png +0 -0
  60. package/src/sap/ui/codeeditor/js/ace/css/main-9.svg +4 -0
  61. package/src/sap/ui/codeeditor/js/ace/css/merbivore-2.png +0 -0
  62. package/src/sap/ui/codeeditor/js/ace/css/merbivore_soft-2.png +0 -0
  63. package/src/sap/ui/codeeditor/js/ace/css/mono_industrial-2.png +0 -0
  64. package/src/sap/ui/codeeditor/js/ace/css/monokai-2.png +0 -0
  65. package/src/sap/ui/codeeditor/js/ace/css/one_dark-2.png +0 -0
  66. package/src/sap/ui/codeeditor/js/ace/css/pastel_on_dark-2.png +0 -0
  67. package/src/sap/ui/codeeditor/js/ace/css/solarized_dark-2.png +0 -0
  68. package/src/sap/ui/codeeditor/js/ace/css/solarized_light-2.png +0 -0
  69. package/src/sap/ui/codeeditor/js/ace/css/sqlserver-2.png +0 -0
  70. package/src/sap/ui/codeeditor/js/ace/css/terminal-2.png +0 -0
  71. package/src/sap/ui/codeeditor/js/ace/css/textmate-2.png +0 -0
  72. package/src/sap/ui/codeeditor/js/ace/css/theme/ambiance.css +120 -68
  73. package/src/sap/ui/codeeditor/js/ace/css/theme/chaos.css +79 -66
  74. package/src/sap/ui/codeeditor/js/ace/css/theme/chrome.css +82 -43
  75. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_day.css +160 -0
  76. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_night.css +146 -0
  77. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_night_low_color.css +134 -0
  78. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds.css +59 -31
  79. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds_midnight.css +60 -32
  80. package/src/sap/ui/codeeditor/js/ace/css/theme/cobalt.css +71 -38
  81. package/src/sap/ui/codeeditor/js/ace/css/theme/crimson_editor.css +79 -42
  82. package/src/sap/ui/codeeditor/js/ace/css/theme/dawn.css +70 -40
  83. package/src/sap/ui/codeeditor/js/ace/css/theme/dracula.css +95 -49
  84. package/src/sap/ui/codeeditor/js/ace/css/theme/dreamweaver.css +95 -49
  85. package/src/sap/ui/codeeditor/js/ace/css/theme/eclipse.css +62 -33
  86. package/src/sap/ui/codeeditor/js/ace/css/theme/github.css +71 -38
  87. package/src/sap/ui/codeeditor/js/ace/css/theme/github_dark.css +134 -0
  88. package/src/sap/ui/codeeditor/js/ace/css/theme/gob.css +68 -38
  89. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox.css +54 -28
  90. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox_dark_hard.css +163 -0
  91. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox_light_hard.css +167 -0
  92. package/src/sap/ui/codeeditor/js/ace/css/theme/idle_fingers.css +62 -34
  93. package/src/sap/ui/codeeditor/js/ace/css/theme/iplastic.css +76 -45
  94. package/src/sap/ui/codeeditor/js/ace/css/theme/katzenmilch.css +91 -53
  95. package/src/sap/ui/codeeditor/js/ace/css/theme/kr_theme.css +67 -36
  96. package/src/sap/ui/codeeditor/js/ace/css/theme/kuroir.css +43 -17
  97. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore.css +57 -31
  98. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore_soft.css +57 -31
  99. package/src/sap/ui/codeeditor/js/ace/css/theme/mono_industrial.css +66 -36
  100. package/src/sap/ui/codeeditor/js/ace/css/theme/monokai.css +63 -35
  101. package/src/sap/ui/codeeditor/js/ace/css/theme/nord_dark.css +55 -29
  102. package/src/sap/ui/codeeditor/js/ace/css/theme/one_dark.css +88 -47
  103. package/src/sap/ui/codeeditor/js/ace/css/theme/pastel_on_dark.css +70 -38
  104. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_dark.css +52 -28
  105. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_light.css +55 -29
  106. package/src/sap/ui/codeeditor/js/ace/css/theme/sqlserver.css +90 -48
  107. package/src/sap/ui/codeeditor/js/ace/css/theme/terminal.css +64 -34
  108. package/src/sap/ui/codeeditor/js/ace/css/theme/textmate.css +82 -43
  109. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow.css +61 -33
  110. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night.css +61 -33
  111. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_blue.css +59 -32
  112. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_bright.css +71 -40
  113. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_eighties.css +61 -33
  114. package/src/sap/ui/codeeditor/js/ace/css/theme/twilight.css +66 -36
  115. package/src/sap/ui/codeeditor/js/ace/css/theme/vibrant_ink.css +59 -32
  116. package/src/sap/ui/codeeditor/js/ace/css/theme/xcode.css +54 -28
  117. package/src/sap/ui/codeeditor/js/ace/css/tomorrow-2.png +0 -0
  118. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night-2.png +0 -0
  119. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_blue-2.png +0 -0
  120. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_bright-2.png +0 -0
  121. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_eighties-2.png +0 -0
  122. package/src/sap/ui/codeeditor/js/ace/css/twilight-2.png +0 -0
  123. package/src/sap/ui/codeeditor/js/ace/css/vibrant_ink-2.png +0 -0
  124. package/src/sap/ui/codeeditor/js/ace/css/xcode-2.png +0 -0
  125. package/src/sap/ui/codeeditor/js/ace/ext-beautify.js +90 -91
  126. package/src/sap/ui/codeeditor/js/ace/ext-code_lens.js +39 -75
  127. package/src/sap/ui/codeeditor/js/ace/ext-command_bar.js +457 -0
  128. package/src/sap/ui/codeeditor/js/ace/ext-elastic_tabstops_lite.js +47 -97
  129. package/src/sap/ui/codeeditor/js/ace/ext-emmet.js +496 -552
  130. package/src/sap/ui/codeeditor/js/ace/ext-hardwrap.js +47 -16
  131. package/src/sap/ui/codeeditor/js/ace/ext-inline_autocomplete.js +3269 -0
  132. package/src/sap/ui/codeeditor/js/ace/ext-keybinding_menu.js +45 -105
  133. package/src/sap/ui/codeeditor/js/ace/ext-language_tools.js +1438 -1128
  134. package/src/sap/ui/codeeditor/js/ace/ext-linking.js +8 -16
  135. package/src/sap/ui/codeeditor/js/ace/ext-modelist.js +198 -185
  136. package/src/sap/ui/codeeditor/js/ace/ext-options.js +405 -443
  137. package/src/sap/ui/codeeditor/js/ace/ext-prompt.js +1682 -1508
  138. package/src/sap/ui/codeeditor/js/ace/ext-rtl.js +26 -28
  139. package/src/sap/ui/codeeditor/js/ace/ext-searchbox.js +160 -332
  140. package/src/sap/ui/codeeditor/js/ace/ext-settings_menu.js +409 -446
  141. package/src/sap/ui/codeeditor/js/ace/ext-simple_tokenizer.js +45 -0
  142. package/src/sap/ui/codeeditor/js/ace/ext-spellcheck.js +4 -10
  143. package/src/sap/ui/codeeditor/js/ace/ext-split.js +41 -63
  144. package/src/sap/ui/codeeditor/js/ace/ext-statusbar.js +19 -27
  145. package/src/sap/ui/codeeditor/js/ace/ext-themelist.js +45 -41
  146. package/src/sap/ui/codeeditor/js/ace/ext-whitespace.js +62 -83
  147. package/src/sap/ui/codeeditor/js/ace/keybinding-emacs.js +442 -551
  148. package/src/sap/ui/codeeditor/js/ace/keybinding-sublime.js +338 -351
  149. package/src/sap/ui/codeeditor/js/ace/keybinding-vim.js +5242 -4758
  150. package/src/sap/ui/codeeditor/js/ace/keybinding-vscode.js +228 -235
  151. package/src/sap/ui/codeeditor/js/ace/mode-abap.js +72 -93
  152. package/src/sap/ui/codeeditor/js/ace/mode-abc.js +136 -164
  153. package/src/sap/ui/codeeditor/js/ace/mode-actionscript.js +109 -150
  154. package/src/sap/ui/codeeditor/js/ace/mode-ada.js +45 -74
  155. package/src/sap/ui/codeeditor/js/ace/mode-alda.js +77 -109
  156. package/src/sap/ui/codeeditor/js/ace/mode-apache_conf.js +196 -241
  157. package/src/sap/ui/codeeditor/js/ace/mode-apex.js +192 -247
  158. package/src/sap/ui/codeeditor/js/ace/mode-applescript.js +56 -102
  159. package/src/sap/ui/codeeditor/js/ace/mode-aql.js +85 -95
  160. package/src/sap/ui/codeeditor/js/ace/mode-asciidoc.js +120 -158
  161. package/src/sap/ui/codeeditor/js/ace/mode-asl.js +233 -298
  162. package/src/sap/ui/codeeditor/js/ace/mode-assembly_x86.js +78 -101
  163. package/src/sap/ui/codeeditor/js/ace/mode-astro.js +2414 -0
  164. package/src/sap/ui/codeeditor/js/ace/mode-autohotkey.js +80 -116
  165. package/src/sap/ui/codeeditor/js/ace/mode-batchfile.js +74 -105
  166. package/src/sap/ui/codeeditor/js/ace/mode-bibtex.js +318 -0
  167. package/src/sap/ui/codeeditor/js/ace/mode-c9search.js +72 -115
  168. package/src/sap/ui/codeeditor/js/ace/mode-c_cpp.js +171 -257
  169. package/src/sap/ui/codeeditor/js/ace/mode-cirru.js +97 -115
  170. package/src/sap/ui/codeeditor/js/ace/mode-clojure.js +126 -119
  171. package/src/sap/ui/codeeditor/js/ace/mode-cobol.js +48 -67
  172. package/src/sap/ui/codeeditor/js/ace/mode-coffee.js +203 -268
  173. package/src/sap/ui/codeeditor/js/ace/mode-coldfusion.js +1029 -1276
  174. package/src/sap/ui/codeeditor/js/ace/mode-crystal.js +337 -393
  175. package/src/sap/ui/codeeditor/js/ace/mode-csharp.js +127 -216
  176. package/src/sap/ui/codeeditor/js/ace/mode-csound_document.js +1539 -1569
  177. package/src/sap/ui/codeeditor/js/ace/mode-csound_orchestra.js +786 -898
  178. package/src/sap/ui/codeeditor/js/ace/mode-csound_score.js +184 -237
  179. package/src/sap/ui/codeeditor/js/ace/mode-csp.js +37 -37
  180. package/src/sap/ui/codeeditor/js/ace/mode-css.js +293 -384
  181. package/src/sap/ui/codeeditor/js/ace/mode-curly.js +1019 -1262
  182. package/src/sap/ui/codeeditor/js/ace/mode-cuttlefish.js +56 -0
  183. package/src/sap/ui/codeeditor/js/ace/mode-d.js +163 -233
  184. package/src/sap/ui/codeeditor/js/ace/mode-dart.js +330 -427
  185. package/src/sap/ui/codeeditor/js/ace/mode-diff.js +20 -38
  186. package/src/sap/ui/codeeditor/js/ace/mode-django.js +1032 -1271
  187. package/src/sap/ui/codeeditor/js/ace/mode-dockerfile.js +211 -284
  188. package/src/sap/ui/codeeditor/js/ace/mode-dot.js +131 -200
  189. package/src/sap/ui/codeeditor/js/ace/mode-drools.js +408 -349
  190. package/src/sap/ui/codeeditor/js/ace/mode-edifact.js +89 -125
  191. package/src/sap/ui/codeeditor/js/ace/mode-eiffel.js +47 -62
  192. package/src/sap/ui/codeeditor/js/ace/mode-ejs.js +1350 -1666
  193. package/src/sap/ui/codeeditor/js/ace/mode-elixir.js +349 -407
  194. package/src/sap/ui/codeeditor/js/ace/mode-elm.js +136 -168
  195. package/src/sap/ui/codeeditor/js/ace/mode-erlang.js +707 -881
  196. package/src/sap/ui/codeeditor/js/ace/mode-flix.js +164 -0
  197. package/src/sap/ui/codeeditor/js/ace/mode-forth.js +128 -172
  198. package/src/sap/ui/codeeditor/js/ace/mode-fortran.js +177 -246
  199. package/src/sap/ui/codeeditor/js/ace/mode-fsharp.js +92 -131
  200. package/src/sap/ui/codeeditor/js/ace/mode-fsl.js +91 -124
  201. package/src/sap/ui/codeeditor/js/ace/mode-ftl.js +813 -748
  202. package/src/sap/ui/codeeditor/js/ace/mode-gcode.js +52 -71
  203. package/src/sap/ui/codeeditor/js/ace/mode-gherkin.js +105 -119
  204. package/src/sap/ui/codeeditor/js/ace/mode-gitignore.js +12 -22
  205. package/src/sap/ui/codeeditor/js/ace/mode-glsl.js +184 -289
  206. package/src/sap/ui/codeeditor/js/ace/mode-gobstones.js +686 -623
  207. package/src/sap/ui/codeeditor/js/ace/mode-golang.js +167 -239
  208. package/src/sap/ui/codeeditor/js/ace/mode-graphqlschema.js +48 -88
  209. package/src/sap/ui/codeeditor/js/ace/mode-groovy.js +577 -471
  210. package/src/sap/ui/codeeditor/js/ace/mode-haml.js +1062 -1026
  211. package/src/sap/ui/codeeditor/js/ace/mode-handlebars.js +1061 -1305
  212. package/src/sap/ui/codeeditor/js/ace/mode-haskell.js +199 -255
  213. package/src/sap/ui/codeeditor/js/ace/mode-haskell_cabal.js +81 -87
  214. package/src/sap/ui/codeeditor/js/ace/mode-haxe.js +111 -184
  215. package/src/sap/ui/codeeditor/js/ace/mode-hjson.js +164 -199
  216. package/src/sap/ui/codeeditor/js/ace/mode-html.js +1009 -1239
  217. package/src/sap/ui/codeeditor/js/ace/mode-html_elixir.js +1402 -1705
  218. package/src/sap/ui/codeeditor/js/ace/mode-html_ruby.js +1390 -1706
  219. package/src/sap/ui/codeeditor/js/ace/mode-ini.js +58 -82
  220. package/src/sap/ui/codeeditor/js/ace/mode-io.js +85 -123
  221. package/src/sap/ui/codeeditor/js/ace/mode-ion.js +477 -0
  222. package/src/sap/ui/codeeditor/js/ace/mode-jack.js +109 -162
  223. package/src/sap/ui/codeeditor/js/ace/mode-jade.js +1339 -1344
  224. package/src/sap/ui/codeeditor/js/ace/mode-java.js +710 -498
  225. package/src/sap/ui/codeeditor/js/ace/mode-javascript.js +441 -354
  226. package/src/sap/ui/codeeditor/js/ace/mode-jexl.js +270 -0
  227. package/src/sap/ui/codeeditor/js/ace/mode-json.js +93 -147
  228. package/src/sap/ui/codeeditor/js/ace/mode-json5.js +128 -180
  229. package/src/sap/ui/codeeditor/js/ace/mode-jsoniq.js +58 -112
  230. package/src/sap/ui/codeeditor/js/ace/mode-jsp.js +1045 -865
  231. package/src/sap/ui/codeeditor/js/ace/mode-jssm.js +158 -190
  232. package/src/sap/ui/codeeditor/js/ace/mode-jsx.js +121 -194
  233. package/src/sap/ui/codeeditor/js/ace/mode-julia.js +128 -177
  234. package/src/sap/ui/codeeditor/js/ace/mode-kotlin.js +262 -614
  235. package/src/sap/ui/codeeditor/js/ace/mode-latex.js +94 -138
  236. package/src/sap/ui/codeeditor/js/ace/mode-latte.js +1120 -1366
  237. package/src/sap/ui/codeeditor/js/ace/mode-less.js +342 -442
  238. package/src/sap/ui/codeeditor/js/ace/mode-liquid.js +1353 -1414
  239. package/src/sap/ui/codeeditor/js/ace/mode-lisp.js +65 -73
  240. package/src/sap/ui/codeeditor/js/ace/mode-livescript.js +217 -224
  241. package/src/sap/ui/codeeditor/js/ace/mode-logiql.js +97 -142
  242. package/src/sap/ui/codeeditor/js/ace/mode-logtalk.js +187 -227
  243. package/src/sap/ui/codeeditor/js/ace/mode-lsl.js +99 -155
  244. package/src/sap/ui/codeeditor/js/ace/mode-lua.js +152 -211
  245. package/src/sap/ui/codeeditor/js/ace/mode-luapage.js +1167 -1470
  246. package/src/sap/ui/codeeditor/js/ace/mode-lucene.js +25 -34
  247. package/src/sap/ui/codeeditor/js/ace/mode-makefile.js +244 -282
  248. package/src/sap/ui/codeeditor/js/ace/mode-markdown.js +1858 -2177
  249. package/src/sap/ui/codeeditor/js/ace/mode-mask.js +964 -1007
  250. package/src/sap/ui/codeeditor/js/ace/mode-matlab.js +197 -221
  251. package/src/sap/ui/codeeditor/js/ace/mode-maze.js +127 -163
  252. package/src/sap/ui/codeeditor/js/ace/mode-mediawiki.js +464 -476
  253. package/src/sap/ui/codeeditor/js/ace/mode-mel.js +90 -140
  254. package/src/sap/ui/codeeditor/js/ace/mode-mips.js +101 -134
  255. package/src/sap/ui/codeeditor/js/ace/mode-mixal.js +63 -75
  256. package/src/sap/ui/codeeditor/js/ace/mode-mushcode.js +537 -576
  257. package/src/sap/ui/codeeditor/js/ace/mode-mysql.js +85 -102
  258. package/src/sap/ui/codeeditor/js/ace/mode-nasal.js +513 -0
  259. package/src/sap/ui/codeeditor/js/ace/mode-nginx.js +119 -155
  260. package/src/sap/ui/codeeditor/js/ace/mode-nim.js +159 -197
  261. package/src/sap/ui/codeeditor/js/ace/mode-nix.js +283 -375
  262. package/src/sap/ui/codeeditor/js/ace/mode-nsis.js +139 -172
  263. package/src/sap/ui/codeeditor/js/ace/mode-nunjucks.js +1138 -1378
  264. package/src/sap/ui/codeeditor/js/ace/mode-objectivec.js +400 -514
  265. package/src/sap/ui/codeeditor/js/ace/mode-ocaml.js +77 -120
  266. package/src/sap/ui/codeeditor/js/ace/mode-odin.js +449 -0
  267. package/src/sap/ui/codeeditor/js/ace/mode-partiql.js +750 -0
  268. package/src/sap/ui/codeeditor/js/ace/mode-pascal.js +28 -47
  269. package/src/sap/ui/codeeditor/js/ace/mode-perl.js +122 -185
  270. package/src/sap/ui/codeeditor/js/ace/mode-pgsql.js +974 -851
  271. package/src/sap/ui/codeeditor/js/ace/mode-php.js +2282 -1502
  272. package/src/sap/ui/codeeditor/js/ace/mode-php_laravel_blade.js +2463 -1696
  273. package/src/sap/ui/codeeditor/js/ace/mode-pig.js +133 -165
  274. package/src/sap/ui/codeeditor/js/ace/mode-plain_text.js +5 -10
  275. package/src/sap/ui/codeeditor/js/ace/mode-plsql.js +268 -0
  276. package/src/sap/ui/codeeditor/js/ace/mode-powershell.js +332 -183
  277. package/src/sap/ui/codeeditor/js/ace/mode-praat.js +168 -234
  278. package/src/sap/ui/codeeditor/js/ace/mode-prisma.js +292 -324
  279. package/src/sap/ui/codeeditor/js/ace/mode-prolog.js +180 -246
  280. package/src/sap/ui/codeeditor/js/ace/mode-properties.js +26 -37
  281. package/src/sap/ui/codeeditor/js/ace/mode-protobuf.js +232 -327
  282. package/src/sap/ui/codeeditor/js/ace/mode-prql.js +320 -0
  283. package/src/sap/ui/codeeditor/js/ace/mode-puppet.js +68 -120
  284. package/src/sap/ui/codeeditor/js/ace/mode-python.js +338 -370
  285. package/src/sap/ui/codeeditor/js/ace/mode-qml.js +244 -279
  286. package/src/sap/ui/codeeditor/js/ace/mode-r.js +295 -220
  287. package/src/sap/ui/codeeditor/js/ace/mode-raku.js +356 -433
  288. package/src/sap/ui/codeeditor/js/ace/mode-razor.js +1130 -1374
  289. package/src/sap/ui/codeeditor/js/ace/mode-rdoc.js +214 -171
  290. package/src/sap/ui/codeeditor/js/ace/mode-red.js +212 -274
  291. package/src/sap/ui/codeeditor/js/ace/mode-redshift.js +181 -220
  292. package/src/sap/ui/codeeditor/js/ace/mode-rhtml.js +1325 -1443
  293. package/src/sap/ui/codeeditor/js/ace/mode-robot.js +168 -0
  294. package/src/sap/ui/codeeditor/js/ace/mode-rst.js +217 -229
  295. package/src/sap/ui/codeeditor/js/ace/mode-ruby.js +338 -420
  296. package/src/sap/ui/codeeditor/js/ace/mode-rust.js +258 -155
  297. package/src/sap/ui/codeeditor/js/ace/mode-sac.js +349 -0
  298. package/src/sap/ui/codeeditor/js/ace/mode-sass.js +257 -309
  299. package/src/sap/ui/codeeditor/js/ace/mode-scad.js +127 -191
  300. package/src/sap/ui/codeeditor/js/ace/mode-scala.js +572 -468
  301. package/src/sap/ui/codeeditor/js/ace/mode-scheme.js +104 -126
  302. package/src/sap/ui/codeeditor/js/ace/mode-scrypt.js +181 -228
  303. package/src/sap/ui/codeeditor/js/ace/mode-scss.js +364 -472
  304. package/src/sap/ui/codeeditor/js/ace/mode-sh.js +204 -266
  305. package/src/sap/ui/codeeditor/js/ace/mode-sjs.js +477 -405
  306. package/src/sap/ui/codeeditor/js/ace/mode-slim.js +2631 -3161
  307. package/src/sap/ui/codeeditor/js/ace/mode-smarty.js +1075 -1334
  308. package/src/sap/ui/codeeditor/js/ace/mode-smithy.js +276 -327
  309. package/src/sap/ui/codeeditor/js/ace/mode-snippets.js +78 -102
  310. package/src/sap/ui/codeeditor/js/ace/mode-soy_template.js +1251 -1548
  311. package/src/sap/ui/codeeditor/js/ace/mode-space.js +47 -63
  312. package/src/sap/ui/codeeditor/js/ace/mode-sparql.js +139 -171
  313. package/src/sap/ui/codeeditor/js/ace/mode-sql.js +77 -133
  314. package/src/sap/ui/codeeditor/js/ace/mode-sqlserver.js +138 -192
  315. package/src/sap/ui/codeeditor/js/ace/mode-stylus.js +306 -338
  316. package/src/sap/ui/codeeditor/js/ace/mode-svg.js +642 -794
  317. package/src/sap/ui/codeeditor/js/ace/mode-swift.js +96 -150
  318. package/src/sap/ui/codeeditor/js/ace/mode-tcl.js +151 -200
  319. package/src/sap/ui/codeeditor/js/ace/mode-terraform.js +78 -132
  320. package/src/sap/ui/codeeditor/js/ace/mode-tex.js +148 -96
  321. package/src/sap/ui/codeeditor/js/ace/mode-textile.js +45 -70
  322. package/src/sap/ui/codeeditor/js/ace/mode-toml.js +63 -87
  323. package/src/sap/ui/codeeditor/js/ace/mode-tsx.js +462 -384
  324. package/src/sap/ui/codeeditor/js/ace/mode-turtle.js +119 -151
  325. package/src/sap/ui/codeeditor/js/ace/mode-twig.js +1099 -1350
  326. package/src/sap/ui/codeeditor/js/ace/mode-typescript.js +455 -376
  327. package/src/sap/ui/codeeditor/js/ace/mode-vala.js +382 -505
  328. package/src/sap/ui/codeeditor/js/ace/mode-vbscript.js +231 -264
  329. package/src/sap/ui/codeeditor/js/ace/mode-velocity.js +1116 -1388
  330. package/src/sap/ui/codeeditor/js/ace/mode-verilog.js +61 -81
  331. package/src/sap/ui/codeeditor/js/ace/mode-vhdl.js +57 -79
  332. package/src/sap/ui/codeeditor/js/ace/mode-visualforce.js +1046 -1292
  333. package/src/sap/ui/codeeditor/js/ace/mode-wollok.js +525 -417
  334. package/src/sap/ui/codeeditor/js/ace/mode-xml.js +182 -389
  335. package/src/sap/ui/codeeditor/js/ace/mode-xquery.js +58 -112
  336. package/src/sap/ui/codeeditor/js/ace/mode-yaml.js +202 -137
  337. package/src/sap/ui/codeeditor/js/ace/mode-zeek.js +237 -274
  338. package/src/sap/ui/codeeditor/js/ace/snippets/abc.js +5 -34
  339. package/src/sap/ui/codeeditor/js/ace/snippets/actionscript.js +5 -160
  340. package/src/sap/ui/codeeditor/js/ace/snippets/astro.js +9 -0
  341. package/src/sap/ui/codeeditor/js/ace/snippets/bibtex.js +9 -0
  342. package/src/sap/ui/codeeditor/js/ace/snippets/c_cpp.js +5 -134
  343. package/src/sap/ui/codeeditor/js/ace/snippets/clojure.js +5 -93
  344. package/src/sap/ui/codeeditor/js/ace/snippets/coffee.js +5 -98
  345. package/src/sap/ui/codeeditor/js/ace/snippets/csound_document.js +5 -13
  346. package/src/sap/ui/codeeditor/js/ace/snippets/csound_orchestra.js +5 -50
  347. package/src/sap/ui/codeeditor/js/ace/snippets/css.js +5 -970
  348. package/src/sap/ui/codeeditor/js/ace/snippets/cuttlefish.js +9 -0
  349. package/src/sap/ui/codeeditor/js/ace/snippets/dart.js +5 -86
  350. package/src/sap/ui/codeeditor/js/ace/snippets/diff.js +5 -14
  351. package/src/sap/ui/codeeditor/js/ace/snippets/django.js +5 -111
  352. package/src/sap/ui/codeeditor/js/ace/snippets/drools.js +5 -22
  353. package/src/sap/ui/codeeditor/js/ace/snippets/edifact.js +8 -246
  354. package/src/sap/ui/codeeditor/js/ace/snippets/erlang.js +5 -163
  355. package/src/sap/ui/codeeditor/js/ace/snippets/flix.js +9 -0
  356. package/src/sap/ui/codeeditor/js/ace/snippets/fsl.js +6 -4
  357. package/src/sap/ui/codeeditor/js/ace/snippets/gobstones.js +5 -1707
  358. package/src/sap/ui/codeeditor/js/ace/snippets/graphqlschema.js +5 -35
  359. package/src/sap/ui/codeeditor/js/ace/snippets/haml.js +5 -23
  360. package/src/sap/ui/codeeditor/js/ace/snippets/haskell.js +5 -85
  361. package/src/sap/ui/codeeditor/js/ace/snippets/html.js +5 -856
  362. package/src/sap/ui/codeeditor/js/ace/snippets/io.js +1 -3
  363. package/src/sap/ui/codeeditor/js/ace/snippets/ion.js +9 -0
  364. package/src/sap/ui/codeeditor/js/ace/snippets/java.js +5 -243
  365. package/src/sap/ui/codeeditor/js/ace/snippets/javascript.js +5 -198
  366. package/src/sap/ui/codeeditor/js/ace/snippets/jexl.js +9 -0
  367. package/src/sap/ui/codeeditor/js/ace/snippets/jsoniq.js +44 -41
  368. package/src/sap/ui/codeeditor/js/ace/snippets/jsp.js +5 -102
  369. package/src/sap/ui/codeeditor/js/ace/snippets/liquid.js +5 -884
  370. package/src/sap/ui/codeeditor/js/ace/snippets/lsl.js +5 -1235
  371. package/src/sap/ui/codeeditor/js/ace/snippets/lua.js +5 -24
  372. package/src/sap/ui/codeeditor/js/ace/snippets/makefile.js +5 -7
  373. package/src/sap/ui/codeeditor/js/ace/snippets/markdown.js +5 -91
  374. package/src/sap/ui/codeeditor/js/ace/snippets/maze.js +5 -12
  375. package/src/sap/ui/codeeditor/js/ace/snippets/nasal.js +9 -0
  376. package/src/sap/ui/codeeditor/js/ace/snippets/odin.js +9 -0
  377. package/src/sap/ui/codeeditor/js/ace/snippets/partiql.js +9 -0
  378. package/src/sap/ui/codeeditor/js/ace/snippets/perl.js +5 -350
  379. package/src/sap/ui/codeeditor/js/ace/snippets/php.js +5 -386
  380. package/src/sap/ui/codeeditor/js/ace/snippets/plsql.js +9 -0
  381. package/src/sap/ui/codeeditor/js/ace/snippets/prql.js +9 -0
  382. package/src/sap/ui/codeeditor/js/ace/snippets/python.js +5 -161
  383. package/src/sap/ui/codeeditor/js/ace/snippets/r.js +5 -124
  384. package/src/sap/ui/codeeditor/js/ace/snippets/razor.js +5 -6
  385. package/src/sap/ui/codeeditor/js/ace/snippets/robot.js +16 -0
  386. package/src/sap/ui/codeeditor/js/ace/snippets/rst.js +5 -25
  387. package/src/sap/ui/codeeditor/js/ace/snippets/ruby.js +5 -931
  388. package/src/sap/ui/codeeditor/js/ace/snippets/sac.js +9 -0
  389. package/src/sap/ui/codeeditor/js/ace/snippets/sh.js +5 -86
  390. package/src/sap/ui/codeeditor/js/ace/snippets/snippets.js +5 -12
  391. package/src/sap/ui/codeeditor/js/ace/snippets/sql.js +5 -29
  392. package/src/sap/ui/codeeditor/js/ace/snippets/sqlserver.js +5 -72
  393. package/src/sap/ui/codeeditor/js/ace/snippets/tcl.js +5 -95
  394. package/src/sap/ui/codeeditor/js/ace/snippets/tex.js +5 -193
  395. package/src/sap/ui/codeeditor/js/ace/snippets/textile.js +5 -33
  396. package/src/sap/ui/codeeditor/js/ace/snippets/vala.js +1 -2
  397. package/src/sap/ui/codeeditor/js/ace/snippets/velocity.js +5 -31
  398. package/src/sap/ui/codeeditor/js/ace/snippets/wollok.js +5 -87
  399. package/src/sap/ui/codeeditor/js/ace/snippets/xquery.js +44 -41
  400. package/src/sap/ui/codeeditor/js/ace/theme-ambiance.js +5 -172
  401. package/src/sap/ui/codeeditor/js/ace/theme-chaos.js +5 -150
  402. package/src/sap/ui/codeeditor/js/ace/theme-chrome.js +6 -123
  403. package/src/sap/ui/codeeditor/js/ace/theme-cloud9_day.js +19 -0
  404. package/src/sap/ui/codeeditor/js/ace/theme-cloud9_night.js +18 -0
  405. package/src/sap/ui/codeeditor/js/ace/theme-cloud9_night_low_color.js +18 -0
  406. package/src/sap/ui/codeeditor/js/ace/theme-clouds.js +6 -90
  407. package/src/sap/ui/codeeditor/js/ace/theme-clouds_midnight.js +6 -91
  408. package/src/sap/ui/codeeditor/js/ace/theme-cobalt.js +6 -108
  409. package/src/sap/ui/codeeditor/js/ace/theme-crimson_editor.js +6 -113
  410. package/src/sap/ui/codeeditor/js/ace/theme-dawn.js +6 -103
  411. package/src/sap/ui/codeeditor/js/ace/theme-dracula.js +6 -122
  412. package/src/sap/ui/codeeditor/js/ace/theme-dreamweaver.js +7 -137
  413. package/src/sap/ui/codeeditor/js/ace/theme-eclipse.js +6 -92
  414. package/src/sap/ui/codeeditor/js/ace/theme-github.js +7 -99
  415. package/src/sap/ui/codeeditor/js/ace/theme-github_dark.js +18 -0
  416. package/src/sap/ui/codeeditor/js/ace/theme-gob.js +6 -107
  417. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox.js +5 -76
  418. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox_dark_hard.js +18 -0
  419. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox_light_hard.js +18 -0
  420. package/src/sap/ui/codeeditor/js/ace/theme-idle_fingers.js +6 -91
  421. package/src/sap/ui/codeeditor/js/ace/theme-iplastic.js +6 -116
  422. package/src/sap/ui/codeeditor/js/ace/theme-katzenmilch.js +6 -116
  423. package/src/sap/ui/codeeditor/js/ace/theme-kr_theme.js +6 -99
  424. package/src/sap/ui/codeeditor/js/ace/theme-kuroir.js +6 -56
  425. package/src/sap/ui/codeeditor/js/ace/theme-merbivore.js +6 -90
  426. package/src/sap/ui/codeeditor/js/ace/theme-merbivore_soft.js +6 -91
  427. package/src/sap/ui/codeeditor/js/ace/theme-mono_industrial.js +6 -102
  428. package/src/sap/ui/codeeditor/js/ace/theme-monokai.js +6 -100
  429. package/src/sap/ui/codeeditor/js/ace/theme-nord_dark.js +6 -89
  430. package/src/sap/ui/codeeditor/js/ace/theme-one_dark.js +10 -131
  431. package/src/sap/ui/codeeditor/js/ace/theme-pastel_on_dark.js +6 -103
  432. package/src/sap/ui/codeeditor/js/ace/theme-solarized_dark.js +6 -83
  433. package/src/sap/ui/codeeditor/js/ace/theme-solarized_light.js +6 -86
  434. package/src/sap/ui/codeeditor/js/ace/theme-sqlserver.js +6 -133
  435. package/src/sap/ui/codeeditor/js/ace/theme-terminal.js +6 -109
  436. package/src/sap/ui/codeeditor/js/ace/theme-textmate.js +3 -124
  437. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow.js +6 -103
  438. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night.js +6 -103
  439. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_blue.js +6 -101
  440. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_bright.js +6 -116
  441. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_eighties.js +6 -103
  442. package/src/sap/ui/codeeditor/js/ace/theme-twilight.js +6 -104
  443. package/src/sap/ui/codeeditor/js/ace/theme-vibrant_ink.js +6 -89
  444. package/src/sap/ui/codeeditor/js/ace/theme-xcode.js +6 -83
  445. package/src/sap/ui/codeeditor/js/ace/worker-base.js +516 -595
  446. package/src/sap/ui/codeeditor/js/ace/worker-coffee.js +496 -575
  447. package/src/sap/ui/codeeditor/js/ace/worker-css.js +501 -578
  448. package/src/sap/ui/codeeditor/js/ace/worker-html.js +515 -584
  449. package/src/sap/ui/codeeditor/js/ace/worker-javascript.js +2964 -2551
  450. package/src/sap/ui/codeeditor/js/ace/worker-json.js +496 -575
  451. package/src/sap/ui/codeeditor/js/ace/worker-lua.js +497 -576
  452. package/src/sap/ui/codeeditor/js/ace/worker-php.js +2906 -2795
  453. package/src/sap/ui/codeeditor/js/ace/worker-xml.js +496 -575
  454. package/src/sap/ui/codeeditor/js/ace/worker-xquery.js +496 -575
  455. package/src/sap/ui/codeeditor/js/ace/worker-yaml.js +5851 -0
  456. package/src/sap/ui/codeeditor/library.js +6 -5
  457. package/LICENSES/BSD-2-Clause.txt +0 -22
@@ -1,935 +1,9 @@
1
- ace.define("ace/snippets/ruby",[], function(require, exports, module) {
2
- "use strict";
1
+ ace.define("ace/snippets/ruby.snippets",["require","exports","module"], function(require, exports, module){module.exports = "########################################\n# Ruby snippets - for Rails, see below #\n########################################\n\n# encoding for Ruby 1.9\nsnippet enc\n\t# encoding: utf-8\n\n# #!/usr/bin/env ruby\nsnippet #!\n\t#!/usr/bin/env ruby\n\t# encoding: utf-8\n\n# New Block\nsnippet =b\n\t=begin rdoc\n\t\t${1}\n\t=end\nsnippet y\n\t:yields: ${1:arguments}\nsnippet rb\n\t#!/usr/bin/env ruby -wKU\nsnippet beg\n\tbegin\n\t\t${3}\n\trescue ${1:Exception} => ${2:e}\n\tend\n\nsnippet req require\n\trequire \"${1}\"${2}\nsnippet #\n\t# =>\nsnippet end\n\t__END__\nsnippet case\n\tcase ${1:object}\n\twhen ${2:condition}\n\t\t${3}\n\tend\nsnippet when\n\twhen ${1:condition}\n\t\t${2}\nsnippet def\n\tdef ${1:method_name}\n\t\t${2}\n\tend\nsnippet deft\n\tdef test_${1:case_name}\n\t\t${2}\n\tend\nsnippet if\n\tif ${1:condition}\n\t\t${2}\n\tend\nsnippet ife\n\tif ${1:condition}\n\t\t${2}\n\telse\n\t\t${3}\n\tend\nsnippet elsif\n\telsif ${1:condition}\n\t\t${2}\nsnippet unless\n\tunless ${1:condition}\n\t\t${2}\n\tend\nsnippet while\n\twhile ${1:condition}\n\t\t${2}\n\tend\nsnippet for\n\tfor ${1:e} in ${2:c}\n\t\t${3}\n\tend\nsnippet until\n\tuntil ${1:condition}\n\t\t${2}\n\tend\nsnippet cla class .. end\n\tclass ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\t\t${2}\n\tend\nsnippet cla class .. initialize .. end\n\tclass ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\t\tdef initialize(${2:args})\n\t\t\t${3}\n\t\tend\n\tend\nsnippet cla class .. < ParentClass .. initialize .. end\n\tclass ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < ${2:ParentClass}\n\t\tdef initialize(${3:args})\n\t\t\t${4}\n\t\tend\n\tend\nsnippet cla ClassName = Struct .. do .. end\n\t${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} = Struct.new(:${2:attr_names}) do\n\t\tdef ${3:method_name}\n\t\t\t${4}\n\t\tend\n\tend\nsnippet cla class BlankSlate .. initialize .. end\n\tclass ${1:BlankSlate}\n\t\tinstance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n\tend\nsnippet cla class << self .. end\n\tclass << ${1:self}\n\t\t${2}\n\tend\n# class .. < DelegateClass .. initialize .. end\nsnippet cla-\n\tclass ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < DelegateClass(${2:ParentClass})\n\t\tdef initialize(${3:args})\n\t\t\tsuper(${4:del_obj})\n\n\t\t\t${5}\n\t\tend\n\tend\nsnippet mod module .. end\n\tmodule ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\t\t${2}\n\tend\nsnippet mod module .. module_function .. end\n\tmodule ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\t\tmodule_function\n\n\t\t${2}\n\tend\nsnippet mod module .. ClassMethods .. end\n\tmodule ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\t\tmodule ClassMethods\n\t\t\t${2}\n\t\tend\n\n\t\tmodule InstanceMethods\n\n\t\tend\n\n\t\tdef self.included(receiver)\n\t\t\treceiver.extend ClassMethods\n\t\t\treceiver.send :include, InstanceMethods\n\t\tend\n\tend\n# attr_reader\nsnippet r\n\tattr_reader :${1:attr_names}\n# attr_writer\nsnippet w\n\tattr_writer :${1:attr_names}\n# attr_accessor\nsnippet rw\n\tattr_accessor :${1:attr_names}\nsnippet atp\n\tattr_protected :${1:attr_names}\nsnippet ata\n\tattr_accessible :${1:attr_names}\n# include Enumerable\nsnippet Enum\n\tinclude Enumerable\n\n\tdef each(&block)\n\t\t${1}\n\tend\n# include Comparable\nsnippet Comp\n\tinclude Comparable\n\n\tdef <=>(other)\n\t\t${1}\n\tend\n# extend Forwardable\nsnippet Forw-\n\textend Forwardable\n# def self\nsnippet defs\n\tdef self.${1:class_method_name}\n\t\t${2}\n\tend\n# def method_missing\nsnippet defmm\n\tdef method_missing(meth, *args, &blk)\n\t\t${1}\n\tend\nsnippet defd\n\tdef_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}\nsnippet defds\n\tdef_delegators :${1:@del_obj}, :${2:del_methods}\nsnippet am\n\talias_method :${1:new_name}, :${2:old_name}\nsnippet app\n\tif __FILE__ == $PROGRAM_NAME\n\t\t${1}\n\tend\n# usage_if()\nsnippet usai\n\tif ARGV.${1}\n\t\tabort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\tend\n# usage_unless()\nsnippet usau\n\tunless ARGV.${1}\n\t\tabort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\tend\nsnippet array\n\tArray.new(${1:10}) { |${2:i}| ${3} }\nsnippet hash\n\tHash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} }\nsnippet file File.foreach() { |line| .. }\n\tFile.foreach(${1:\"path/to/file\"}) { |${2:line}| ${3} }\nsnippet file File.read()\n\tFile.read(${1:\"path/to/file\"})${2}\nsnippet Dir Dir.global() { |file| .. }\n\tDir.glob(${1:\"dir/glob/*\"}) { |${2:file}| ${3} }\nsnippet Dir Dir[\"..\"]\n\tDir[${1:\"glob/**/*.rb\"}]${2}\nsnippet dir\n\tFilename.dirname(__FILE__)\nsnippet deli\n\tdelete_if { |${1:e}| ${2} }\nsnippet fil\n\tfill(${1:range}) { |${2:i}| ${3} }\n# flatten_once()\nsnippet flao\n\tinject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3}\nsnippet zip\n\tzip(${1:enums}) { |${2:row}| ${3} }\n# downto(0) { |n| .. }\nsnippet dow\n\tdownto(${1:0}) { |${2:n}| ${3} }\nsnippet ste\n\tstep(${1:2}) { |${2:n}| ${3} }\nsnippet tim\n\ttimes { |${1:n}| ${2} }\nsnippet upt\n\tupto(${1:1.0/0.0}) { |${2:n}| ${3} }\nsnippet loo\n\tloop { ${1} }\nsnippet ea\n\teach { |${1:e}| ${2} }\nsnippet ead\n\teach do |${1:e}|\n\t\t${2}\n\tend\nsnippet eab\n\teach_byte { |${1:byte}| ${2} }\nsnippet eac- each_char { |chr| .. }\n\teach_char { |${1:chr}| ${2} }\nsnippet eac- each_cons(..) { |group| .. }\n\teach_cons(${1:2}) { |${2:group}| ${3} }\nsnippet eai\n\teach_index { |${1:i}| ${2} }\nsnippet eaid\n\teach_index do |${1:i}|\n\t\t${2}\n\tend\nsnippet eak\n\teach_key { |${1:key}| ${2} }\nsnippet eakd\n\teach_key do |${1:key}|\n\t\t${2}\n\tend\nsnippet eal\n\teach_line { |${1:line}| ${2} }\nsnippet eald\n\teach_line do |${1:line}|\n\t\t${2}\n\tend\nsnippet eap\n\teach_pair { |${1:name}, ${2:val}| ${3} }\nsnippet eapd\n\teach_pair do |${1:name}, ${2:val}|\n\t\t${3}\n\tend\nsnippet eas-\n\teach_slice(${1:2}) { |${2:group}| ${3} }\nsnippet easd-\n\teach_slice(${1:2}) do |${2:group}|\n\t\t${3}\n\tend\nsnippet eav\n\teach_value { |${1:val}| ${2} }\nsnippet eavd\n\teach_value do |${1:val}|\n\t\t${2}\n\tend\nsnippet eawi\n\teach_with_index { |${1:e}, ${2:i}| ${3} }\nsnippet eawid\n\teach_with_index do |${1:e},${2:i}|\n\t\t${3}\n\tend\nsnippet reve\n\treverse_each { |${1:e}| ${2} }\nsnippet reved\n\treverse_each do |${1:e}|\n\t\t${2}\n\tend\nsnippet inj\n\tinject(${1:init}) { |${2:mem}, ${3:var}| ${4} }\nsnippet injd\n\tinject(${1:init}) do |${2:mem}, ${3:var}|\n\t\t${4}\n\tend\nsnippet map\n\tmap { |${1:e}| ${2} }\nsnippet mapd\n\tmap do |${1:e}|\n\t\t${2}\n\tend\nsnippet mapwi-\n\tenum_with_index.map { |${1:e}, ${2:i}| ${3} }\nsnippet sor\n\tsort { |a, b| ${1} }\nsnippet sorb\n\tsort_by { |${1:e}| ${2} }\nsnippet ran\n\tsort_by { rand }\nsnippet all\n\tall? { |${1:e}| ${2} }\nsnippet any\n\tany? { |${1:e}| ${2} }\nsnippet cl\n\tclassify { |${1:e}| ${2} }\nsnippet col\n\tcollect { |${1:e}| ${2} }\nsnippet cold\n\tcollect do |${1:e}|\n\t\t${2}\n\tend\nsnippet det\n\tdetect { |${1:e}| ${2} }\nsnippet detd\n\tdetect do |${1:e}|\n\t\t${2}\n\tend\nsnippet fet\n\tfetch(${1:name}) { |${2:key}| ${3} }\nsnippet fin\n\tfind { |${1:e}| ${2} }\nsnippet find\n\tfind do |${1:e}|\n\t\t${2}\n\tend\nsnippet fina\n\tfind_all { |${1:e}| ${2} }\nsnippet finad\n\tfind_all do |${1:e}|\n\t\t${2}\n\tend\nsnippet gre\n\tgrep(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet sub\n\t${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} }\nsnippet sca\n\tscan(${1:/pattern/}) { |${2:match}| ${3} }\nsnippet scad\n\tscan(${1:/pattern/}) do |${2:match}|\n\t\t${3}\n\tend\nsnippet max\n\tmax { |a, b| ${1} }\nsnippet min\n\tmin { |a, b| ${1} }\nsnippet par\n\tpartition { |${1:e}| ${2} }\nsnippet pard\n\tpartition do |${1:e}|\n\t\t${2}\n\tend\nsnippet rej\n\treject { |${1:e}| ${2} }\nsnippet rejd\n\treject do |${1:e}|\n\t\t${2}\n\tend\nsnippet sel\n\tselect { |${1:e}| ${2} }\nsnippet seld\n\tselect do |${1:e}|\n\t\t${2}\n\tend\nsnippet lam\n\tlambda { |${1:args}| ${2} }\nsnippet doo\n\tdo\n\t\t${1}\n\tend\nsnippet dov\n\tdo |${1:variable}|\n\t\t${2}\n\tend\nsnippet :\n\t:${1:key} => ${2:\"value\"}${3}\nsnippet ope\n\topen(${1:\"path/or/url/or/pipe\"}, \"${2:w}\") { |${3:io}| ${4} }\n# path_from_here()\nsnippet fpath\n\tFile.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2}\n# unix_filter {}\nsnippet unif\n\tARGF.each_line${1} do |${2:line}|\n\t\t${3}\n\tend\n# option_parse {}\nsnippet optp\n\trequire \"optparse\"\n\n\toptions = {${1:default => \"args\"}}\n\n\tARGV.options do |opts|\n\t\topts.banner = \"Usage: #{File.basename($PROGRAM_NAME)}\nsnippet opt\n\topts.on( \"-${1:o}\", \"--${2:long-option-name}\", ${3:String},\n\t \"${4:Option description.}\") do |${5:opt}|\n\t\t${6}\n\tend\nsnippet tc\n\trequire \"test/unit\"\n\n\trequire \"${1:library_file_name}\"\n\n\tclass Test${2:$1} < Test::Unit::TestCase\n\t\tdef test_${3:case_name}\n\t\t\t${4}\n\t\tend\n\tend\nsnippet ts\n\trequire \"test/unit\"\n\n\trequire \"tc_${1:test_case_file}\"\n\trequire \"tc_${2:test_case_file}\"${3}\nsnippet as\n\tassert ${1:test}, \"${2:Failure message.}\"${3}\nsnippet ase\n\tassert_equal ${1:expected}, ${2:actual}${3}\nsnippet asne\n\tassert_not_equal ${1:unexpected}, ${2:actual}${3}\nsnippet asid\n\tassert_in_delta ${1:expected_float}, ${2:actual_float}, ${3:2 ** -20}${4}\nsnippet asio\n\tassert_instance_of ${1:ExpectedClass}, ${2:actual_instance}${3}\nsnippet asko\n\tassert_kind_of ${1:ExpectedKind}, ${2:actual_instance}${3}\nsnippet asn\n\tassert_nil ${1:instance}${2}\nsnippet asnn\n\tassert_not_nil ${1:instance}${2}\nsnippet asm\n\tassert_match /${1:expected_pattern}/, ${2:actual_string}${3}\nsnippet asnm\n\tassert_no_match /${1:unexpected_pattern}/, ${2:actual_string}${3}\nsnippet aso\n\tassert_operator ${1:left}, :${2:operator}, ${3:right}${4}\nsnippet asr\n\tassert_raise ${1:Exception} { ${2} }\nsnippet asrd\n\tassert_raise ${1:Exception} do\n\t\t${2}\n\tend\nsnippet asnr\n\tassert_nothing_raised ${1:Exception} { ${2} }\nsnippet asnrd\n\tassert_nothing_raised ${1:Exception} do\n\t\t${2}\n\tend\nsnippet asrt\n\tassert_respond_to ${1:object}, :${2:method}${3}\nsnippet ass assert_same(..)\n\tassert_same ${1:expected}, ${2:actual}${3}\nsnippet ass assert_send(..)\n\tassert_send [${1:object}, :${2:message}, ${3:args}]${4}\nsnippet asns\n\tassert_not_same ${1:unexpected}, ${2:actual}${3}\nsnippet ast\n\tassert_throws :${1:expected} { ${2} }\nsnippet astd\n\tassert_throws :${1:expected} do\n\t\t${2}\n\tend\nsnippet asnt\n\tassert_nothing_thrown { ${1} }\nsnippet asntd\n\tassert_nothing_thrown do\n\t\t${1}\n\tend\nsnippet fl\n\tflunk \"${1:Failure message.}\"${2}\n# Benchmark.bmbm do .. end\nsnippet bm-\n\tTESTS = ${1:10_000}\n\tBenchmark.bmbm do |results|\n\t\t${2}\n\tend\nsnippet rep\n\tresults.report(\"${1:name}:\") { TESTS.times { ${2} }}\n# Marshal.dump(.., file)\nsnippet Md\n\tFile.open(${1:\"path/to/file.dump\"}, \"wb\") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4}\n# Mashal.load(obj)\nsnippet Ml\n\tFile.open(${1:\"path/to/file.dump\"}, \"rb\") { |${2:file}| Marshal.load($2) }${3}\n# deep_copy(..)\nsnippet deec\n\tMarshal.load(Marshal.dump(${1:obj_to_copy}))${2}\nsnippet Pn-\n\tPStore.new(${1:\"file_name.pstore\"})${2}\nsnippet tra\n\ttransaction(${1:true}) { ${2} }\n# xmlread(..)\nsnippet xml-\n\tREXML::Document.new(File.read(${1:\"path/to/file\"}))${2}\n# xpath(..) { .. }\nsnippet xpa\n\telements.each(${1:\"//Xpath\"}) do |${2:node}|\n\t\t${3}\n\tend\n# class_from_name()\nsnippet clafn\n\tsplit(\"::\").inject(Object) { |par, const| par.const_get(const) }\n# singleton_class()\nsnippet sinc\n\tclass << self; self end\nsnippet nam\n\tnamespace :${1:`Filename()`} do\n\t\t${2}\n\tend\nsnippet tas\n\tdesc \"${1:Task description}\"\n\ttask :${2:task_name => [:dependent, :tasks]} do\n\t\t${3}\n\tend\n# block\nsnippet b\n\t{ |${1:var}| ${2} }\nsnippet begin\n\tbegin\n\t\traise 'A test exception.'\n\trescue Exception => e\n\t\tputs e.message\n\t\tputs e.backtrace.inspect\n\telse\n\t\t# other exception\n\tensure\n\t\t# always executed\n\tend\n\n#debugging\nsnippet debug\n\trequire 'ruby-debug'; debugger; true;\nsnippet pry\n\trequire 'pry'; binding.pry\n\n#############################################\n# Rails snippets - for pure Ruby, see above #\n#############################################\nsnippet art\n\tassert_redirected_to ${1::action => \"${2:index}\"}\nsnippet artnp\n\tassert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${4:@$2})\nsnippet artnpp\n\tassert_redirected_to ${1:parent}_${2:child}_path(${3:@$1})\nsnippet artp\n\tassert_redirected_to ${1:model}_path(${2:@$1})\nsnippet artpp\n\tassert_redirected_to ${1:model}s_path\nsnippet asd\n\tassert_difference \"${1:Model}.${2:count}\", $1 do\n\t\t${3}\n\tend\nsnippet asnd\n\tassert_no_difference \"${1:Model}.${2:count}\" do\n\t\t${3}\n\tend\nsnippet asre\n\tassert_response :${1:success}, @response.body${2}\nsnippet asrj\n\tassert_rjs :${1:replace}, \"${2:dom id}\"\nsnippet ass assert_select(..)\n\tassert_select '${1:path}', :${2:text} => '${3:inner_html' ${4:do}\nsnippet bf\n\tbefore_filter :${1:method}\nsnippet bt\n\tbelongs_to :${1:association}\nsnippet crw\n\tcattr_accessor :${1:attr_names}\nsnippet defcreate\n\tdef create\n\t\t@${1:model_class_name} = ${2:ModelClassName}.new(params[:$1])\n\n\t\trespond_to do |wants|\n\t\t\tif @$1.save\n\t\t\t\tflash[:notice] = '$2 was successfully created.'\n\t\t\t\twants.html { redirect_to(@$1) }\n\t\t\t\twants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n\t\t\telse\n\t\t\t\twants.html { render :action => \"new\" }\n\t\t\t\twants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\t\t\tend\n\t\tend\n\tend${3}\nsnippet defdestroy\n\tdef destroy\n\t\t@${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\t\t@$1.destroy\n\n\t\trespond_to do |wants|\n\t\t\twants.html { redirect_to($1s_url) }\n\t\t\twants.xml { head :ok }\n\t\tend\n\tend${3}\nsnippet defedit\n\tdef edit\n\t\t@${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\tend\nsnippet defindex\n\tdef index\n\t\t@${1:model_class_name} = ${2:ModelClassName}.all\n\n\t\trespond_to do |wants|\n\t\t\twants.html # index.html.erb\n\t\t\twants.xml { render :xml => @$1s }\n\t\tend\n\tend${3}\nsnippet defnew\n\tdef new\n\t\t@${1:model_class_name} = ${2:ModelClassName}.new\n\n\t\trespond_to do |wants|\n\t\t\twants.html # new.html.erb\n\t\t\twants.xml { render :xml => @$1 }\n\t\tend\n\tend${3}\nsnippet defshow\n\tdef show\n\t\t@${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n\t\trespond_to do |wants|\n\t\t\twants.html # show.html.erb\n\t\t\twants.xml { render :xml => @$1 }\n\t\tend\n\tend${3}\nsnippet defupdate\n\tdef update\n\t\t@${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\n\t\trespond_to do |wants|\n\t\t\tif @$1.update_attributes(params[:$1])\n\t\t\t\tflash[:notice] = '$2 was successfully updated.'\n\t\t\t\twants.html { redirect_to(@$1) }\n\t\t\t\twants.xml { head :ok }\n\t\t\telse\n\t\t\t\twants.html { render :action => \"edit\" }\n\t\t\t\twants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\t\t\tend\n\t\tend\n\tend${3}\nsnippet flash\n\tflash[:${1:notice}] = \"${2}\"\nsnippet habtm\n\thas_and_belongs_to_many :${1:object}, :join_table => \"${2:table_name}\", :foreign_key => \"${3}_id\"${4}\nsnippet hm\n\thas_many :${1:object}\nsnippet hmd\n\thas_many :${1:other}s, :class_name => \"${2:$1}\", :foreign_key => \"${3:$1}_id\", :dependent => :destroy${4}\nsnippet hmt\n\thas_many :${1:object}, :through => :${2:object}\nsnippet ho\n\thas_one :${1:object}\nsnippet i18\n\tI18n.t('${1:type.key}')${2}\nsnippet ist\n\t<%= image_submit_tag(\"${1:agree.png}\", :id => \"${2:id}\"${3} %>\nsnippet log\n\tRails.logger.${1:debug} ${2}\nsnippet log2\n\tRAILS_DEFAULT_LOGGER.${1:debug} ${2}\nsnippet logd\n\tlogger.debug { \"${1:message}\" }${2}\nsnippet loge\n\tlogger.error { \"${1:message}\" }${2}\nsnippet logf\n\tlogger.fatal { \"${1:message}\" }${2}\nsnippet logi\n\tlogger.info { \"${1:message}\" }${2}\nsnippet logw\n\tlogger.warn { \"${1:message}\" }${2}\nsnippet mapc\n\t${1:map}.${2:connect} '${3:controller/:action/:id}'\nsnippet mapca\n\t${1:map}.catch_all \"*${2:anything}\", :controller => \"${3:default}\", :action => \"${4:error}\"${5}\nsnippet mapr\n\t${1:map}.resource :${2:resource}\nsnippet maprs\n\t${1:map}.resources :${2:resource}\nsnippet mapwo\n\t${1:map}.with_options :${2:controller} => '${3:thing}' do |$3|\n\t\t${4}\n\tend\nsnippet mbs\n\tbefore_save :${1:method}\nsnippet mcht\n\tchange_table :${1:table_name} do |t|\n\t\t${2}\n\tend\nsnippet mp\n\tmap(&:${1:id})\nsnippet mrw\n\tmattr_accessor :${1:attr_names}\nsnippet oa\n\torder(\"${1:field}\")\nsnippet od\n\torder(\"${1:field} DESC\")\nsnippet pa\n\tparams[:${1:id}]${2}\nsnippet ra\n\trender :action => \"${1:action}\"\nsnippet ral\n\trender :action => \"${1:action}\", :layout => \"${2:layoutname}\"\nsnippet rest\n\trespond_to do |wants|\n\t\twants.${1:html} { ${2} }\n\tend\nsnippet rf\n\trender :file => \"${1:filepath}\"\nsnippet rfu\n\trender :file => \"${1:filepath}\", :use_full_path => ${2:false}\nsnippet ri\n\trender :inline => \"${1:<%= 'hello' %>}\"\nsnippet ril\n\trender :inline => \"${1:<%= 'hello' %>}\", :locals => { ${2::name} => \"${3:value}\"${4} }\nsnippet rit\n\trender :inline => \"${1:<%= 'hello' %>}\", :type => ${2::rxml}\nsnippet rjson\n\trender :json => ${1:text to render}\nsnippet rl\n\trender :layout => \"${1:layoutname}\"\nsnippet rn\n\trender :nothing => ${1:true}\nsnippet rns\n\trender :nothing => ${1:true}, :status => ${2:401}\nsnippet rp\n\trender :partial => \"${1:item}\"\nsnippet rpc\n\trender :partial => \"${1:item}\", :collection => ${2:@$1s}\nsnippet rpl\n\trender :partial => \"${1:item}\", :locals => { :${2:$1} => ${3:@$1}\nsnippet rpo\n\trender :partial => \"${1:item}\", :object => ${2:@$1}\nsnippet rps\n\trender :partial => \"${1:item}\", :status => ${2:500}\nsnippet rt\n\trender :text => \"${1:text to render}\"\nsnippet rtl\n\trender :text => \"${1:text to render}\", :layout => \"${2:layoutname}\"\nsnippet rtlt\n\trender :text => \"${1:text to render}\", :layout => ${2:true}\nsnippet rts\n\trender :text => \"${1:text to render}\", :status => ${2:401}\nsnippet ru\n\trender :update do |${1:page}|\n\t\t$1.${2}\n\tend\nsnippet rxml\n\trender :xml => ${1:text to render}\nsnippet sc\n\tscope :${1:name}, :where(:@${2:field} => ${3:value})\nsnippet sl\n\tscope :${1:name}, lambda do |${2:value}|\n\t\twhere(\"${3:field = ?}\", ${4:bind var})\n\tend\nsnippet sha1\n\tDigest::SHA1.hexdigest(${1:string})\nsnippet sweeper\n\tclass ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper\n\t\tobserve $1\n\n\t\tdef after_save(${2:model_class_name})\n\t\t\texpire_cache($2)\n\t\tend\n\n\t\tdef after_destroy($2)\n\t\t\texpire_cache($2)\n\t\tend\n\n\t\tdef expire_cache($2)\n\t\t\texpire_page\n\t\tend\n\tend\nsnippet tcb\n\tt.boolean :${1:title}\n\t${2}\nsnippet tcbi\n\tt.binary :${1:title}, :limit => ${2:2}.megabytes\n\t${3}\nsnippet tcd\n\tt.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2}\n\t${4}\nsnippet tcda\n\tt.date :${1:title}\n\t${2}\nsnippet tcdt\n\tt.datetime :${1:title}\n\t${2}\nsnippet tcf\n\tt.float :${1:title}\n\t${2}\nsnippet tch\n\tt.change :${1:name}, :${2:string}, :${3:limit} => ${4:80}\n\t${5}\nsnippet tci\n\tt.integer :${1:title}\n\t${2}\nsnippet tcl\n\tt.integer :lock_version, :null => false, :default => 0\n\t${1}\nsnippet tcr\n\tt.references :${1:taggable}, :polymorphic => { :default => '${2:Photo}' }\n\t${3}\nsnippet tcs\n\tt.string :${1:title}\n\t${2}\nsnippet tct\n\tt.text :${1:title}\n\t${2}\nsnippet tcti\n\tt.time :${1:title}\n\t${2}\nsnippet tcts\n\tt.timestamp :${1:title}\n\t${2}\nsnippet tctss\n\tt.timestamps\n\t${1}\nsnippet va\n\tvalidates_associated :${1:attribute}\nsnippet vao\n\tvalidates_acceptance_of :${1:terms}\nsnippet vc\n\tvalidates_confirmation_of :${1:attribute}\nsnippet ve\n\tvalidates_exclusion_of :${1:attribute}, :in => ${2:%w( mov avi )}\nsnippet vf\n\tvalidates_format_of :${1:attribute}, :with => /${2:regex}/\nsnippet vi\n\tvalidates_inclusion_of :${1:attribute}, :in => %w(${2: mov avi })\nsnippet vl\n\tvalidates_length_of :${1:attribute}, :within => ${2:3}..${3:20}\nsnippet vn\n\tvalidates_numericality_of :${1:attribute}\nsnippet vpo\n\tvalidates_presence_of :${1:attribute}\nsnippet vu\n\tvalidates_uniqueness_of :${1:attribute}\nsnippet wants\n\twants.${1:js|xml|html} { ${2} }\nsnippet wc\n\twhere(${1:\"conditions\"}${2:, bind_var})\nsnippet wh\n\twhere(${1:field} => ${2:value})\nsnippet xdelete\n\txhr :delete, :${1:destroy}, :id => ${2:1}${3}\nsnippet xget\n\txhr :get, :${1:show}, :id => ${2:1}${3}\nsnippet xpost\n\txhr :post, :${1:create}, :${2:object} => { ${3} }\nsnippet xput\n\txhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} }${5}\nsnippet test\n\ttest \"should ${1:do something}\" do\n\t\t${2}\n\tend\n#migrations\nsnippet mac\n\tadd_column :${1:table_name}, :${2:column_name}, :${3:data_type}\nsnippet mrc\n\tremove_column :${1:table_name}, :${2:column_name}\nsnippet mrnc\n\trename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name}\nsnippet mcc\n\tchange_column :${1:table}, :${2:column}, :${3:type}\nsnippet mccc\n\tt.column :${1:title}, :${2:string}\nsnippet mct\n\tcreate_table :${1:table_name} do |t|\n\t\tt.column :${2:name}, :${3:type}\n\tend\nsnippet migration\n\tclass ${1:class_name} < ActiveRecord::Migration\n\t\tdef self.up\n\t\t\t${2}\n\t\tend\n\n\t\tdef self.down\n\t\tend\n\tend\n\nsnippet trc\n\tt.remove :${1:column}\nsnippet tre\n\tt.rename :${1:old_column_name}, :${2:new_column_name}\n\t${3}\nsnippet tref\n\tt.references :${1:model}\n\n#rspec\nsnippet it\n\tit \"${1:spec_name}\" do\n\t\t${2}\n\tend\nsnippet itp\n\tit \"${1:spec_name}\"\n\t${2}\nsnippet desc\n\tdescribe ${1:class_name} do\n\t\t${2}\n\tend\nsnippet cont\n\tcontext \"${1:message}\" do\n\t\t${2}\n\tend\nsnippet bef\n\tbefore :${1:each} do\n\t\t${2}\n\tend\nsnippet aft\n\tafter :${1:each} do\n\t\t${2}\n\tend\n";
3
2
 
4
- exports.snippetText = "########################################\n\
5
- # Ruby snippets - for Rails, see below #\n\
6
- ########################################\n\
7
- \n\
8
- # encoding for Ruby 1.9\n\
9
- snippet enc\n\
10
- # encoding: utf-8\n\
11
- \n\
12
- # #!/usr/bin/env ruby\n\
13
- snippet #!\n\
14
- #!/usr/bin/env ruby\n\
15
- # encoding: utf-8\n\
16
- \n\
17
- # New Block\n\
18
- snippet =b\n\
19
- =begin rdoc\n\
20
- ${1}\n\
21
- =end\n\
22
- snippet y\n\
23
- :yields: ${1:arguments}\n\
24
- snippet rb\n\
25
- #!/usr/bin/env ruby -wKU\n\
26
- snippet beg\n\
27
- begin\n\
28
- ${3}\n\
29
- rescue ${1:Exception} => ${2:e}\n\
30
- end\n\
31
- \n\
32
- snippet req require\n\
33
- require \"${1}\"${2}\n\
34
- snippet #\n\
35
- # =>\n\
36
- snippet end\n\
37
- __END__\n\
38
- snippet case\n\
39
- case ${1:object}\n\
40
- when ${2:condition}\n\
41
- ${3}\n\
42
- end\n\
43
- snippet when\n\
44
- when ${1:condition}\n\
45
- ${2}\n\
46
- snippet def\n\
47
- def ${1:method_name}\n\
48
- ${2}\n\
49
- end\n\
50
- snippet deft\n\
51
- def test_${1:case_name}\n\
52
- ${2}\n\
53
- end\n\
54
- snippet if\n\
55
- if ${1:condition}\n\
56
- ${2}\n\
57
- end\n\
58
- snippet ife\n\
59
- if ${1:condition}\n\
60
- ${2}\n\
61
- else\n\
62
- ${3}\n\
63
- end\n\
64
- snippet elsif\n\
65
- elsif ${1:condition}\n\
66
- ${2}\n\
67
- snippet unless\n\
68
- unless ${1:condition}\n\
69
- ${2}\n\
70
- end\n\
71
- snippet while\n\
72
- while ${1:condition}\n\
73
- ${2}\n\
74
- end\n\
75
- snippet for\n\
76
- for ${1:e} in ${2:c}\n\
77
- ${3}\n\
78
- end\n\
79
- snippet until\n\
80
- until ${1:condition}\n\
81
- ${2}\n\
82
- end\n\
83
- snippet cla class .. end\n\
84
- class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
85
- ${2}\n\
86
- end\n\
87
- snippet cla class .. initialize .. end\n\
88
- class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
89
- def initialize(${2:args})\n\
90
- ${3}\n\
91
- end\n\
92
- end\n\
93
- snippet cla class .. < ParentClass .. initialize .. end\n\
94
- class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < ${2:ParentClass}\n\
95
- def initialize(${3:args})\n\
96
- ${4}\n\
97
- end\n\
98
- end\n\
99
- snippet cla ClassName = Struct .. do .. end\n\
100
- ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} = Struct.new(:${2:attr_names}) do\n\
101
- def ${3:method_name}\n\
102
- ${4}\n\
103
- end\n\
104
- end\n\
105
- snippet cla class BlankSlate .. initialize .. end\n\
106
- class ${1:BlankSlate}\n\
107
- instance_methods.each { |meth| undef_method(meth) unless meth =~ /\\A__/ }\n\
108
- end\n\
109
- snippet cla class << self .. end\n\
110
- class << ${1:self}\n\
111
- ${2}\n\
112
- end\n\
113
- # class .. < DelegateClass .. initialize .. end\n\
114
- snippet cla-\n\
115
- class ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`} < DelegateClass(${2:ParentClass})\n\
116
- def initialize(${3:args})\n\
117
- super(${4:del_obj})\n\
118
- \n\
119
- ${5}\n\
120
- end\n\
121
- end\n\
122
- snippet mod module .. end\n\
123
- module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
124
- ${2}\n\
125
- end\n\
126
- snippet mod module .. module_function .. end\n\
127
- module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
128
- module_function\n\
129
- \n\
130
- ${2}\n\
131
- end\n\
132
- snippet mod module .. ClassMethods .. end\n\
133
- module ${1:`substitute(Filename(), '\\(_\\|^\\)\\(.\\)', '\\u\\2', 'g')`}\n\
134
- module ClassMethods\n\
135
- ${2}\n\
136
- end\n\
137
- \n\
138
- module InstanceMethods\n\
139
- \n\
140
- end\n\
141
- \n\
142
- def self.included(receiver)\n\
143
- receiver.extend ClassMethods\n\
144
- receiver.send :include, InstanceMethods\n\
145
- end\n\
146
- end\n\
147
- # attr_reader\n\
148
- snippet r\n\
149
- attr_reader :${1:attr_names}\n\
150
- # attr_writer\n\
151
- snippet w\n\
152
- attr_writer :${1:attr_names}\n\
153
- # attr_accessor\n\
154
- snippet rw\n\
155
- attr_accessor :${1:attr_names}\n\
156
- snippet atp\n\
157
- attr_protected :${1:attr_names}\n\
158
- snippet ata\n\
159
- attr_accessible :${1:attr_names}\n\
160
- # include Enumerable\n\
161
- snippet Enum\n\
162
- include Enumerable\n\
163
- \n\
164
- def each(&block)\n\
165
- ${1}\n\
166
- end\n\
167
- # include Comparable\n\
168
- snippet Comp\n\
169
- include Comparable\n\
170
- \n\
171
- def <=>(other)\n\
172
- ${1}\n\
173
- end\n\
174
- # extend Forwardable\n\
175
- snippet Forw-\n\
176
- extend Forwardable\n\
177
- # def self\n\
178
- snippet defs\n\
179
- def self.${1:class_method_name}\n\
180
- ${2}\n\
181
- end\n\
182
- # def method_missing\n\
183
- snippet defmm\n\
184
- def method_missing(meth, *args, &blk)\n\
185
- ${1}\n\
186
- end\n\
187
- snippet defd\n\
188
- def_delegator :${1:@del_obj}, :${2:del_meth}, :${3:new_name}\n\
189
- snippet defds\n\
190
- def_delegators :${1:@del_obj}, :${2:del_methods}\n\
191
- snippet am\n\
192
- alias_method :${1:new_name}, :${2:old_name}\n\
193
- snippet app\n\
194
- if __FILE__ == $PROGRAM_NAME\n\
195
- ${1}\n\
196
- end\n\
197
- # usage_if()\n\
198
- snippet usai\n\
199
- if ARGV.${1}\n\
200
- abort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\
201
- end\n\
202
- # usage_unless()\n\
203
- snippet usau\n\
204
- unless ARGV.${1}\n\
205
- abort \"Usage: #{$PROGRAM_NAME} ${2:ARGS_GO_HERE}\"${3}\n\
206
- end\n\
207
- snippet array\n\
208
- Array.new(${1:10}) { |${2:i}| ${3} }\n\
209
- snippet hash\n\
210
- Hash.new { |${1:hash}, ${2:key}| $1[$2] = ${3} }\n\
211
- snippet file File.foreach() { |line| .. }\n\
212
- File.foreach(${1:\"path/to/file\"}) { |${2:line}| ${3} }\n\
213
- snippet file File.read()\n\
214
- File.read(${1:\"path/to/file\"})${2}\n\
215
- snippet Dir Dir.global() { |file| .. }\n\
216
- Dir.glob(${1:\"dir/glob/*\"}) { |${2:file}| ${3} }\n\
217
- snippet Dir Dir[\"..\"]\n\
218
- Dir[${1:\"glob/**/*.rb\"}]${2}\n\
219
- snippet dir\n\
220
- Filename.dirname(__FILE__)\n\
221
- snippet deli\n\
222
- delete_if { |${1:e}| ${2} }\n\
223
- snippet fil\n\
224
- fill(${1:range}) { |${2:i}| ${3} }\n\
225
- # flatten_once()\n\
226
- snippet flao\n\
227
- inject(Array.new) { |${1:arr}, ${2:a}| $1.push(*$2)}${3}\n\
228
- snippet zip\n\
229
- zip(${1:enums}) { |${2:row}| ${3} }\n\
230
- # downto(0) { |n| .. }\n\
231
- snippet dow\n\
232
- downto(${1:0}) { |${2:n}| ${3} }\n\
233
- snippet ste\n\
234
- step(${1:2}) { |${2:n}| ${3} }\n\
235
- snippet tim\n\
236
- times { |${1:n}| ${2} }\n\
237
- snippet upt\n\
238
- upto(${1:1.0/0.0}) { |${2:n}| ${3} }\n\
239
- snippet loo\n\
240
- loop { ${1} }\n\
241
- snippet ea\n\
242
- each { |${1:e}| ${2} }\n\
243
- snippet ead\n\
244
- each do |${1:e}|\n\
245
- ${2}\n\
246
- end\n\
247
- snippet eab\n\
248
- each_byte { |${1:byte}| ${2} }\n\
249
- snippet eac- each_char { |chr| .. }\n\
250
- each_char { |${1:chr}| ${2} }\n\
251
- snippet eac- each_cons(..) { |group| .. }\n\
252
- each_cons(${1:2}) { |${2:group}| ${3} }\n\
253
- snippet eai\n\
254
- each_index { |${1:i}| ${2} }\n\
255
- snippet eaid\n\
256
- each_index do |${1:i}|\n\
257
- ${2}\n\
258
- end\n\
259
- snippet eak\n\
260
- each_key { |${1:key}| ${2} }\n\
261
- snippet eakd\n\
262
- each_key do |${1:key}|\n\
263
- ${2}\n\
264
- end\n\
265
- snippet eal\n\
266
- each_line { |${1:line}| ${2} }\n\
267
- snippet eald\n\
268
- each_line do |${1:line}|\n\
269
- ${2}\n\
270
- end\n\
271
- snippet eap\n\
272
- each_pair { |${1:name}, ${2:val}| ${3} }\n\
273
- snippet eapd\n\
274
- each_pair do |${1:name}, ${2:val}|\n\
275
- ${3}\n\
276
- end\n\
277
- snippet eas-\n\
278
- each_slice(${1:2}) { |${2:group}| ${3} }\n\
279
- snippet easd-\n\
280
- each_slice(${1:2}) do |${2:group}|\n\
281
- ${3}\n\
282
- end\n\
283
- snippet eav\n\
284
- each_value { |${1:val}| ${2} }\n\
285
- snippet eavd\n\
286
- each_value do |${1:val}|\n\
287
- ${2}\n\
288
- end\n\
289
- snippet eawi\n\
290
- each_with_index { |${1:e}, ${2:i}| ${3} }\n\
291
- snippet eawid\n\
292
- each_with_index do |${1:e},${2:i}|\n\
293
- ${3}\n\
294
- end\n\
295
- snippet reve\n\
296
- reverse_each { |${1:e}| ${2} }\n\
297
- snippet reved\n\
298
- reverse_each do |${1:e}|\n\
299
- ${2}\n\
300
- end\n\
301
- snippet inj\n\
302
- inject(${1:init}) { |${2:mem}, ${3:var}| ${4} }\n\
303
- snippet injd\n\
304
- inject(${1:init}) do |${2:mem}, ${3:var}|\n\
305
- ${4}\n\
306
- end\n\
307
- snippet map\n\
308
- map { |${1:e}| ${2} }\n\
309
- snippet mapd\n\
310
- map do |${1:e}|\n\
311
- ${2}\n\
312
- end\n\
313
- snippet mapwi-\n\
314
- enum_with_index.map { |${1:e}, ${2:i}| ${3} }\n\
315
- snippet sor\n\
316
- sort { |a, b| ${1} }\n\
317
- snippet sorb\n\
318
- sort_by { |${1:e}| ${2} }\n\
319
- snippet ran\n\
320
- sort_by { rand }\n\
321
- snippet all\n\
322
- all? { |${1:e}| ${2} }\n\
323
- snippet any\n\
324
- any? { |${1:e}| ${2} }\n\
325
- snippet cl\n\
326
- classify { |${1:e}| ${2} }\n\
327
- snippet col\n\
328
- collect { |${1:e}| ${2} }\n\
329
- snippet cold\n\
330
- collect do |${1:e}|\n\
331
- ${2}\n\
332
- end\n\
333
- snippet det\n\
334
- detect { |${1:e}| ${2} }\n\
335
- snippet detd\n\
336
- detect do |${1:e}|\n\
337
- ${2}\n\
338
- end\n\
339
- snippet fet\n\
340
- fetch(${1:name}) { |${2:key}| ${3} }\n\
341
- snippet fin\n\
342
- find { |${1:e}| ${2} }\n\
343
- snippet find\n\
344
- find do |${1:e}|\n\
345
- ${2}\n\
346
- end\n\
347
- snippet fina\n\
348
- find_all { |${1:e}| ${2} }\n\
349
- snippet finad\n\
350
- find_all do |${1:e}|\n\
351
- ${2}\n\
352
- end\n\
353
- snippet gre\n\
354
- grep(${1:/pattern/}) { |${2:match}| ${3} }\n\
355
- snippet sub\n\
356
- ${1:g}sub(${2:/pattern/}) { |${3:match}| ${4} }\n\
357
- snippet sca\n\
358
- scan(${1:/pattern/}) { |${2:match}| ${3} }\n\
359
- snippet scad\n\
360
- scan(${1:/pattern/}) do |${2:match}|\n\
361
- ${3}\n\
362
- end\n\
363
- snippet max\n\
364
- max { |a, b| ${1} }\n\
365
- snippet min\n\
366
- min { |a, b| ${1} }\n\
367
- snippet par\n\
368
- partition { |${1:e}| ${2} }\n\
369
- snippet pard\n\
370
- partition do |${1:e}|\n\
371
- ${2}\n\
372
- end\n\
373
- snippet rej\n\
374
- reject { |${1:e}| ${2} }\n\
375
- snippet rejd\n\
376
- reject do |${1:e}|\n\
377
- ${2}\n\
378
- end\n\
379
- snippet sel\n\
380
- select { |${1:e}| ${2} }\n\
381
- snippet seld\n\
382
- select do |${1:e}|\n\
383
- ${2}\n\
384
- end\n\
385
- snippet lam\n\
386
- lambda { |${1:args}| ${2} }\n\
387
- snippet doo\n\
388
- do\n\
389
- ${1}\n\
390
- end\n\
391
- snippet dov\n\
392
- do |${1:variable}|\n\
393
- ${2}\n\
394
- end\n\
395
- snippet :\n\
396
- :${1:key} => ${2:\"value\"}${3}\n\
397
- snippet ope\n\
398
- open(${1:\"path/or/url/or/pipe\"}, \"${2:w}\") { |${3:io}| ${4} }\n\
399
- # path_from_here()\n\
400
- snippet fpath\n\
401
- File.join(File.dirname(__FILE__), *%2[${1:rel path here}])${2}\n\
402
- # unix_filter {}\n\
403
- snippet unif\n\
404
- ARGF.each_line${1} do |${2:line}|\n\
405
- ${3}\n\
406
- end\n\
407
- # option_parse {}\n\
408
- snippet optp\n\
409
- require \"optparse\"\n\
410
- \n\
411
- options = {${1:default => \"args\"}}\n\
412
- \n\
413
- ARGV.options do |opts|\n\
414
- opts.banner = \"Usage: #{File.basename($PROGRAM_NAME)}\n\
415
- snippet opt\n\
416
- opts.on( \"-${1:o}\", \"--${2:long-option-name}\", ${3:String},\n\
417
- \"${4:Option description.}\") do |${5:opt}|\n\
418
- ${6}\n\
419
- end\n\
420
- snippet tc\n\
421
- require \"test/unit\"\n\
422
- \n\
423
- require \"${1:library_file_name}\"\n\
424
- \n\
425
- class Test${2:$1} < Test::Unit::TestCase\n\
426
- def test_${3:case_name}\n\
427
- ${4}\n\
428
- end\n\
429
- end\n\
430
- snippet ts\n\
431
- require \"test/unit\"\n\
432
- \n\
433
- require \"tc_${1:test_case_file}\"\n\
434
- require \"tc_${2:test_case_file}\"${3}\n\
435
- snippet as\n\
436
- assert ${1:test}, \"${2:Failure message.}\"${3}\n\
437
- snippet ase\n\
438
- assert_equal ${1:expected}, ${2:actual}${3}\n\
439
- snippet asne\n\
440
- assert_not_equal ${1:unexpected}, ${2:actual}${3}\n\
441
- snippet asid\n\
442
- assert_in_delta ${1:expected_float}, ${2:actual_float}, ${3:2 ** -20}${4}\n\
443
- snippet asio\n\
444
- assert_instance_of ${1:ExpectedClass}, ${2:actual_instance}${3}\n\
445
- snippet asko\n\
446
- assert_kind_of ${1:ExpectedKind}, ${2:actual_instance}${3}\n\
447
- snippet asn\n\
448
- assert_nil ${1:instance}${2}\n\
449
- snippet asnn\n\
450
- assert_not_nil ${1:instance}${2}\n\
451
- snippet asm\n\
452
- assert_match /${1:expected_pattern}/, ${2:actual_string}${3}\n\
453
- snippet asnm\n\
454
- assert_no_match /${1:unexpected_pattern}/, ${2:actual_string}${3}\n\
455
- snippet aso\n\
456
- assert_operator ${1:left}, :${2:operator}, ${3:right}${4}\n\
457
- snippet asr\n\
458
- assert_raise ${1:Exception} { ${2} }\n\
459
- snippet asrd\n\
460
- assert_raise ${1:Exception} do\n\
461
- ${2}\n\
462
- end\n\
463
- snippet asnr\n\
464
- assert_nothing_raised ${1:Exception} { ${2} }\n\
465
- snippet asnrd\n\
466
- assert_nothing_raised ${1:Exception} do\n\
467
- ${2}\n\
468
- end\n\
469
- snippet asrt\n\
470
- assert_respond_to ${1:object}, :${2:method}${3}\n\
471
- snippet ass assert_same(..)\n\
472
- assert_same ${1:expected}, ${2:actual}${3}\n\
473
- snippet ass assert_send(..)\n\
474
- assert_send [${1:object}, :${2:message}, ${3:args}]${4}\n\
475
- snippet asns\n\
476
- assert_not_same ${1:unexpected}, ${2:actual}${3}\n\
477
- snippet ast\n\
478
- assert_throws :${1:expected} { ${2} }\n\
479
- snippet astd\n\
480
- assert_throws :${1:expected} do\n\
481
- ${2}\n\
482
- end\n\
483
- snippet asnt\n\
484
- assert_nothing_thrown { ${1} }\n\
485
- snippet asntd\n\
486
- assert_nothing_thrown do\n\
487
- ${1}\n\
488
- end\n\
489
- snippet fl\n\
490
- flunk \"${1:Failure message.}\"${2}\n\
491
- # Benchmark.bmbm do .. end\n\
492
- snippet bm-\n\
493
- TESTS = ${1:10_000}\n\
494
- Benchmark.bmbm do |results|\n\
495
- ${2}\n\
496
- end\n\
497
- snippet rep\n\
498
- results.report(\"${1:name}:\") { TESTS.times { ${2} }}\n\
499
- # Marshal.dump(.., file)\n\
500
- snippet Md\n\
501
- File.open(${1:\"path/to/file.dump\"}, \"wb\") { |${2:file}| Marshal.dump(${3:obj}, $2) }${4}\n\
502
- # Mashal.load(obj)\n\
503
- snippet Ml\n\
504
- File.open(${1:\"path/to/file.dump\"}, \"rb\") { |${2:file}| Marshal.load($2) }${3}\n\
505
- # deep_copy(..)\n\
506
- snippet deec\n\
507
- Marshal.load(Marshal.dump(${1:obj_to_copy}))${2}\n\
508
- snippet Pn-\n\
509
- PStore.new(${1:\"file_name.pstore\"})${2}\n\
510
- snippet tra\n\
511
- transaction(${1:true}) { ${2} }\n\
512
- # xmlread(..)\n\
513
- snippet xml-\n\
514
- REXML::Document.new(File.read(${1:\"path/to/file\"}))${2}\n\
515
- # xpath(..) { .. }\n\
516
- snippet xpa\n\
517
- elements.each(${1:\"//Xpath\"}) do |${2:node}|\n\
518
- ${3}\n\
519
- end\n\
520
- # class_from_name()\n\
521
- snippet clafn\n\
522
- split(\"::\").inject(Object) { |par, const| par.const_get(const) }\n\
523
- # singleton_class()\n\
524
- snippet sinc\n\
525
- class << self; self end\n\
526
- snippet nam\n\
527
- namespace :${1:`Filename()`} do\n\
528
- ${2}\n\
529
- end\n\
530
- snippet tas\n\
531
- desc \"${1:Task description}\"\n\
532
- task :${2:task_name => [:dependent, :tasks]} do\n\
533
- ${3}\n\
534
- end\n\
535
- # block\n\
536
- snippet b\n\
537
- { |${1:var}| ${2} }\n\
538
- snippet begin\n\
539
- begin\n\
540
- raise 'A test exception.'\n\
541
- rescue Exception => e\n\
542
- puts e.message\n\
543
- puts e.backtrace.inspect\n\
544
- else\n\
545
- # other exception\n\
546
- ensure\n\
547
- # always executed\n\
548
- end\n\
549
- \n\
550
- #debugging\n\
551
- snippet debug\n\
552
- require 'ruby-debug'; debugger; true;\n\
553
- snippet pry\n\
554
- require 'pry'; binding.pry\n\
555
- \n\
556
- #############################################\n\
557
- # Rails snippets - for pure Ruby, see above #\n\
558
- #############################################\n\
559
- snippet art\n\
560
- assert_redirected_to ${1::action => \"${2:index}\"}\n\
561
- snippet artnp\n\
562
- assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1}, ${4:@$2})\n\
563
- snippet artnpp\n\
564
- assert_redirected_to ${1:parent}_${2:child}_path(${3:@$1})\n\
565
- snippet artp\n\
566
- assert_redirected_to ${1:model}_path(${2:@$1})\n\
567
- snippet artpp\n\
568
- assert_redirected_to ${1:model}s_path\n\
569
- snippet asd\n\
570
- assert_difference \"${1:Model}.${2:count}\", $1 do\n\
571
- ${3}\n\
572
- end\n\
573
- snippet asnd\n\
574
- assert_no_difference \"${1:Model}.${2:count}\" do\n\
575
- ${3}\n\
576
- end\n\
577
- snippet asre\n\
578
- assert_response :${1:success}, @response.body${2}\n\
579
- snippet asrj\n\
580
- assert_rjs :${1:replace}, \"${2:dom id}\"\n\
581
- snippet ass assert_select(..)\n\
582
- assert_select '${1:path}', :${2:text} => '${3:inner_html' ${4:do}\n\
583
- snippet bf\n\
584
- before_filter :${1:method}\n\
585
- snippet bt\n\
586
- belongs_to :${1:association}\n\
587
- snippet crw\n\
588
- cattr_accessor :${1:attr_names}\n\
589
- snippet defcreate\n\
590
- def create\n\
591
- @${1:model_class_name} = ${2:ModelClassName}.new(params[:$1])\n\
592
- \n\
593
- respond_to do |wants|\n\
594
- if @$1.save\n\
595
- flash[:notice] = '$2 was successfully created.'\n\
596
- wants.html { redirect_to(@$1) }\n\
597
- wants.xml { render :xml => @$1, :status => :created, :location => @$1 }\n\
598
- else\n\
599
- wants.html { render :action => \"new\" }\n\
600
- wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\
601
- end\n\
602
- end\n\
603
- end${3}\n\
604
- snippet defdestroy\n\
605
- def destroy\n\
606
- @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\
607
- @$1.destroy\n\
608
- \n\
609
- respond_to do |wants|\n\
610
- wants.html { redirect_to($1s_url) }\n\
611
- wants.xml { head :ok }\n\
612
- end\n\
613
- end${3}\n\
614
- snippet defedit\n\
615
- def edit\n\
616
- @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\
617
- end\n\
618
- snippet defindex\n\
619
- def index\n\
620
- @${1:model_class_name} = ${2:ModelClassName}.all\n\
621
- \n\
622
- respond_to do |wants|\n\
623
- wants.html # index.html.erb\n\
624
- wants.xml { render :xml => @$1s }\n\
625
- end\n\
626
- end${3}\n\
627
- snippet defnew\n\
628
- def new\n\
629
- @${1:model_class_name} = ${2:ModelClassName}.new\n\
630
- \n\
631
- respond_to do |wants|\n\
632
- wants.html # new.html.erb\n\
633
- wants.xml { render :xml => @$1 }\n\
634
- end\n\
635
- end${3}\n\
636
- snippet defshow\n\
637
- def show\n\
638
- @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\
639
- \n\
640
- respond_to do |wants|\n\
641
- wants.html # show.html.erb\n\
642
- wants.xml { render :xml => @$1 }\n\
643
- end\n\
644
- end${3}\n\
645
- snippet defupdate\n\
646
- def update\n\
647
- @${1:model_class_name} = ${2:ModelClassName}.find(params[:id])\n\
648
- \n\
649
- respond_to do |wants|\n\
650
- if @$1.update_attributes(params[:$1])\n\
651
- flash[:notice] = '$2 was successfully updated.'\n\
652
- wants.html { redirect_to(@$1) }\n\
653
- wants.xml { head :ok }\n\
654
- else\n\
655
- wants.html { render :action => \"edit\" }\n\
656
- wants.xml { render :xml => @$1.errors, :status => :unprocessable_entity }\n\
657
- end\n\
658
- end\n\
659
- end${3}\n\
660
- snippet flash\n\
661
- flash[:${1:notice}] = \"${2}\"\n\
662
- snippet habtm\n\
663
- has_and_belongs_to_many :${1:object}, :join_table => \"${2:table_name}\", :foreign_key => \"${3}_id\"${4}\n\
664
- snippet hm\n\
665
- has_many :${1:object}\n\
666
- snippet hmd\n\
667
- has_many :${1:other}s, :class_name => \"${2:$1}\", :foreign_key => \"${3:$1}_id\", :dependent => :destroy${4}\n\
668
- snippet hmt\n\
669
- has_many :${1:object}, :through => :${2:object}\n\
670
- snippet ho\n\
671
- has_one :${1:object}\n\
672
- snippet i18\n\
673
- I18n.t('${1:type.key}')${2}\n\
674
- snippet ist\n\
675
- <%= image_submit_tag(\"${1:agree.png}\", :id => \"${2:id}\"${3} %>\n\
676
- snippet log\n\
677
- Rails.logger.${1:debug} ${2}\n\
678
- snippet log2\n\
679
- RAILS_DEFAULT_LOGGER.${1:debug} ${2}\n\
680
- snippet logd\n\
681
- logger.debug { \"${1:message}\" }${2}\n\
682
- snippet loge\n\
683
- logger.error { \"${1:message}\" }${2}\n\
684
- snippet logf\n\
685
- logger.fatal { \"${1:message}\" }${2}\n\
686
- snippet logi\n\
687
- logger.info { \"${1:message}\" }${2}\n\
688
- snippet logw\n\
689
- logger.warn { \"${1:message}\" }${2}\n\
690
- snippet mapc\n\
691
- ${1:map}.${2:connect} '${3:controller/:action/:id}'\n\
692
- snippet mapca\n\
693
- ${1:map}.catch_all \"*${2:anything}\", :controller => \"${3:default}\", :action => \"${4:error}\"${5}\n\
694
- snippet mapr\n\
695
- ${1:map}.resource :${2:resource}\n\
696
- snippet maprs\n\
697
- ${1:map}.resources :${2:resource}\n\
698
- snippet mapwo\n\
699
- ${1:map}.with_options :${2:controller} => '${3:thing}' do |$3|\n\
700
- ${4}\n\
701
- end\n\
702
- snippet mbs\n\
703
- before_save :${1:method}\n\
704
- snippet mcht\n\
705
- change_table :${1:table_name} do |t|\n\
706
- ${2}\n\
707
- end\n\
708
- snippet mp\n\
709
- map(&:${1:id})\n\
710
- snippet mrw\n\
711
- mattr_accessor :${1:attr_names}\n\
712
- snippet oa\n\
713
- order(\"${1:field}\")\n\
714
- snippet od\n\
715
- order(\"${1:field} DESC\")\n\
716
- snippet pa\n\
717
- params[:${1:id}]${2}\n\
718
- snippet ra\n\
719
- render :action => \"${1:action}\"\n\
720
- snippet ral\n\
721
- render :action => \"${1:action}\", :layout => \"${2:layoutname}\"\n\
722
- snippet rest\n\
723
- respond_to do |wants|\n\
724
- wants.${1:html} { ${2} }\n\
725
- end\n\
726
- snippet rf\n\
727
- render :file => \"${1:filepath}\"\n\
728
- snippet rfu\n\
729
- render :file => \"${1:filepath}\", :use_full_path => ${2:false}\n\
730
- snippet ri\n\
731
- render :inline => \"${1:<%= 'hello' %>}\"\n\
732
- snippet ril\n\
733
- render :inline => \"${1:<%= 'hello' %>}\", :locals => { ${2::name} => \"${3:value}\"${4} }\n\
734
- snippet rit\n\
735
- render :inline => \"${1:<%= 'hello' %>}\", :type => ${2::rxml}\n\
736
- snippet rjson\n\
737
- render :json => ${1:text to render}\n\
738
- snippet rl\n\
739
- render :layout => \"${1:layoutname}\"\n\
740
- snippet rn\n\
741
- render :nothing => ${1:true}\n\
742
- snippet rns\n\
743
- render :nothing => ${1:true}, :status => ${2:401}\n\
744
- snippet rp\n\
745
- render :partial => \"${1:item}\"\n\
746
- snippet rpc\n\
747
- render :partial => \"${1:item}\", :collection => ${2:@$1s}\n\
748
- snippet rpl\n\
749
- render :partial => \"${1:item}\", :locals => { :${2:$1} => ${3:@$1}\n\
750
- snippet rpo\n\
751
- render :partial => \"${1:item}\", :object => ${2:@$1}\n\
752
- snippet rps\n\
753
- render :partial => \"${1:item}\", :status => ${2:500}\n\
754
- snippet rt\n\
755
- render :text => \"${1:text to render}\"\n\
756
- snippet rtl\n\
757
- render :text => \"${1:text to render}\", :layout => \"${2:layoutname}\"\n\
758
- snippet rtlt\n\
759
- render :text => \"${1:text to render}\", :layout => ${2:true}\n\
760
- snippet rts\n\
761
- render :text => \"${1:text to render}\", :status => ${2:401}\n\
762
- snippet ru\n\
763
- render :update do |${1:page}|\n\
764
- $1.${2}\n\
765
- end\n\
766
- snippet rxml\n\
767
- render :xml => ${1:text to render}\n\
768
- snippet sc\n\
769
- scope :${1:name}, :where(:@${2:field} => ${3:value})\n\
770
- snippet sl\n\
771
- scope :${1:name}, lambda do |${2:value}|\n\
772
- where(\"${3:field = ?}\", ${4:bind var})\n\
773
- end\n\
774
- snippet sha1\n\
775
- Digest::SHA1.hexdigest(${1:string})\n\
776
- snippet sweeper\n\
777
- class ${1:ModelClassName}Sweeper < ActionController::Caching::Sweeper\n\
778
- observe $1\n\
779
- \n\
780
- def after_save(${2:model_class_name})\n\
781
- expire_cache($2)\n\
782
- end\n\
783
- \n\
784
- def after_destroy($2)\n\
785
- expire_cache($2)\n\
786
- end\n\
787
- \n\
788
- def expire_cache($2)\n\
789
- expire_page\n\
790
- end\n\
791
- end\n\
792
- snippet tcb\n\
793
- t.boolean :${1:title}\n\
794
- ${2}\n\
795
- snippet tcbi\n\
796
- t.binary :${1:title}, :limit => ${2:2}.megabytes\n\
797
- ${3}\n\
798
- snippet tcd\n\
799
- t.decimal :${1:title}, :precision => ${2:10}, :scale => ${3:2}\n\
800
- ${4}\n\
801
- snippet tcda\n\
802
- t.date :${1:title}\n\
803
- ${2}\n\
804
- snippet tcdt\n\
805
- t.datetime :${1:title}\n\
806
- ${2}\n\
807
- snippet tcf\n\
808
- t.float :${1:title}\n\
809
- ${2}\n\
810
- snippet tch\n\
811
- t.change :${1:name}, :${2:string}, :${3:limit} => ${4:80}\n\
812
- ${5}\n\
813
- snippet tci\n\
814
- t.integer :${1:title}\n\
815
- ${2}\n\
816
- snippet tcl\n\
817
- t.integer :lock_version, :null => false, :default => 0\n\
818
- ${1}\n\
819
- snippet tcr\n\
820
- t.references :${1:taggable}, :polymorphic => { :default => '${2:Photo}' }\n\
821
- ${3}\n\
822
- snippet tcs\n\
823
- t.string :${1:title}\n\
824
- ${2}\n\
825
- snippet tct\n\
826
- t.text :${1:title}\n\
827
- ${2}\n\
828
- snippet tcti\n\
829
- t.time :${1:title}\n\
830
- ${2}\n\
831
- snippet tcts\n\
832
- t.timestamp :${1:title}\n\
833
- ${2}\n\
834
- snippet tctss\n\
835
- t.timestamps\n\
836
- ${1}\n\
837
- snippet va\n\
838
- validates_associated :${1:attribute}\n\
839
- snippet vao\n\
840
- validates_acceptance_of :${1:terms}\n\
841
- snippet vc\n\
842
- validates_confirmation_of :${1:attribute}\n\
843
- snippet ve\n\
844
- validates_exclusion_of :${1:attribute}, :in => ${2:%w( mov avi )}\n\
845
- snippet vf\n\
846
- validates_format_of :${1:attribute}, :with => /${2:regex}/\n\
847
- snippet vi\n\
848
- validates_inclusion_of :${1:attribute}, :in => %w(${2: mov avi })\n\
849
- snippet vl\n\
850
- validates_length_of :${1:attribute}, :within => ${2:3}..${3:20}\n\
851
- snippet vn\n\
852
- validates_numericality_of :${1:attribute}\n\
853
- snippet vpo\n\
854
- validates_presence_of :${1:attribute}\n\
855
- snippet vu\n\
856
- validates_uniqueness_of :${1:attribute}\n\
857
- snippet wants\n\
858
- wants.${1:js|xml|html} { ${2} }\n\
859
- snippet wc\n\
860
- where(${1:\"conditions\"}${2:, bind_var})\n\
861
- snippet wh\n\
862
- where(${1:field} => ${2:value})\n\
863
- snippet xdelete\n\
864
- xhr :delete, :${1:destroy}, :id => ${2:1}${3}\n\
865
- snippet xget\n\
866
- xhr :get, :${1:show}, :id => ${2:1}${3}\n\
867
- snippet xpost\n\
868
- xhr :post, :${1:create}, :${2:object} => { ${3} }\n\
869
- snippet xput\n\
870
- xhr :put, :${1:update}, :id => ${2:1}, :${3:object} => { ${4} }${5}\n\
871
- snippet test\n\
872
- test \"should ${1:do something}\" do\n\
873
- ${2}\n\
874
- end\n\
875
- #migrations\n\
876
- snippet mac\n\
877
- add_column :${1:table_name}, :${2:column_name}, :${3:data_type}\n\
878
- snippet mrc\n\
879
- remove_column :${1:table_name}, :${2:column_name}\n\
880
- snippet mrnc\n\
881
- rename_column :${1:table_name}, :${2:old_column_name}, :${3:new_column_name}\n\
882
- snippet mcc\n\
883
- change_column :${1:table}, :${2:column}, :${3:type}\n\
884
- snippet mccc\n\
885
- t.column :${1:title}, :${2:string}\n\
886
- snippet mct\n\
887
- create_table :${1:table_name} do |t|\n\
888
- t.column :${2:name}, :${3:type}\n\
889
- end\n\
890
- snippet migration\n\
891
- class ${1:class_name} < ActiveRecord::Migration\n\
892
- def self.up\n\
893
- ${2}\n\
894
- end\n\
895
- \n\
896
- def self.down\n\
897
- end\n\
898
- end\n\
899
- \n\
900
- snippet trc\n\
901
- t.remove :${1:column}\n\
902
- snippet tre\n\
903
- t.rename :${1:old_column_name}, :${2:new_column_name}\n\
904
- ${3}\n\
905
- snippet tref\n\
906
- t.references :${1:model}\n\
907
- \n\
908
- #rspec\n\
909
- snippet it\n\
910
- it \"${1:spec_name}\" do\n\
911
- ${2}\n\
912
- end\n\
913
- snippet itp\n\
914
- it \"${1:spec_name}\"\n\
915
- ${2}\n\
916
- snippet desc\n\
917
- describe ${1:class_name} do\n\
918
- ${2}\n\
919
- end\n\
920
- snippet cont\n\
921
- context \"${1:message}\" do\n\
922
- ${2}\n\
923
- end\n\
924
- snippet bef\n\
925
- before :${1:each} do\n\
926
- ${2}\n\
927
- end\n\
928
- snippet aft\n\
929
- after :${1:each} do\n\
930
- ${2}\n\
931
- end\n\
932
- ";
3
+ });
4
+
5
+ ace.define("ace/snippets/ruby",["require","exports","module","ace/snippets/ruby.snippets"], function(require, exports, module){"use strict";
6
+ exports.snippetText = require("./ruby.snippets");
933
7
  exports.scope = "ruby";
934
8
 
935
9
  }); (function() {