redcar 0.2.9dev

Sign up to get free protection for your applications and to get access to all the features.
Files changed (600) hide show
  1. data/CHANGES +64 -0
  2. data/LICENSE +32 -0
  3. data/README.md +64 -0
  4. data/ROADMAP.md +69 -0
  5. data/Rakefile +223 -0
  6. data/bin/redcar +6 -0
  7. data/config/default.yaml +15 -0
  8. data/ext/extconf.rb +18 -0
  9. data/lib/freebase2/README.txt +47 -0
  10. data/lib/freebase2/bin/default.yaml +15 -0
  11. data/lib/freebase2/bin/install.rb +42 -0
  12. data/lib/freebase2/bin/run.rb +48 -0
  13. data/lib/freebase2/lib/freebase/configuration.rb +535 -0
  14. data/lib/freebase2/lib/freebase/core.rb +197 -0
  15. data/lib/freebase2/lib/freebase/databus.rb +1128 -0
  16. data/lib/freebase2/lib/freebase/freebase.rb +60 -0
  17. data/lib/freebase2/lib/freebase/logger.rb +117 -0
  18. data/lib/freebase2/lib/freebase/plugin.rb +384 -0
  19. data/lib/freebase2/lib/freebase/properties.rb +130 -0
  20. data/lib/freebase2/lib/freebase/readers.rb +321 -0
  21. data/lib/freebase2/notes +61 -0
  22. data/lib/freebase2/plugins/raa_webrick/httpd.rb +125 -0
  23. data/lib/freebase2/plugins/raa_webrick/plugin.yaml +7 -0
  24. data/lib/freebase2/plugins/raa_webrick/web_root/test.html +5 -0
  25. data/lib/freebase2/plugins/raa_webrick/webserver.yaml +6 -0
  26. data/lib/freebase2/plugins/raa_xmlrpc4r/plugin.xml +8 -0
  27. data/lib/freebase2/plugins/raa_xmlrpc4r/rpcd.rb +54 -0
  28. data/lib/freebase2/regress/README +1 -0
  29. data/lib/little_plugger/History.txt +20 -0
  30. data/lib/little_plugger/Rakefile +34 -0
  31. data/lib/little_plugger/lib/little-plugger.rb +323 -0
  32. data/lib/little_plugger/spec/little-plugger_spec.rb +26 -0
  33. data/lib/little_plugger/spec/spec_helper.rb +16 -0
  34. data/lib/logging/History.txt +240 -0
  35. data/lib/logging/Rakefile +37 -0
  36. data/lib/logging/data/bad_logging_1.rb +13 -0
  37. data/lib/logging/data/bad_logging_2.rb +21 -0
  38. data/lib/logging/data/logging.rb +42 -0
  39. data/lib/logging/data/logging.yaml +63 -0
  40. data/lib/logging/data/simple_logging.rb +13 -0
  41. data/lib/logging/examples/appenders.rb +47 -0
  42. data/lib/logging/examples/classes.rb +41 -0
  43. data/lib/logging/examples/consolidation.rb +83 -0
  44. data/lib/logging/examples/formatting.rb +51 -0
  45. data/lib/logging/examples/hierarchies.rb +73 -0
  46. data/lib/logging/examples/layouts.rb +48 -0
  47. data/lib/logging/examples/loggers.rb +29 -0
  48. data/lib/logging/examples/names.rb +43 -0
  49. data/lib/logging/examples/simple.rb +17 -0
  50. data/lib/logging/lib/logging.rb +501 -0
  51. data/lib/logging/lib/logging/appender.rb +251 -0
  52. data/lib/logging/lib/logging/appenders.rb +131 -0
  53. data/lib/logging/lib/logging/appenders/buffering.rb +168 -0
  54. data/lib/logging/lib/logging/appenders/console.rb +60 -0
  55. data/lib/logging/lib/logging/appenders/email.rb +75 -0
  56. data/lib/logging/lib/logging/appenders/file.rb +58 -0
  57. data/lib/logging/lib/logging/appenders/growl.rb +197 -0
  58. data/lib/logging/lib/logging/appenders/io.rb +69 -0
  59. data/lib/logging/lib/logging/appenders/rolling_file.rb +293 -0
  60. data/lib/logging/lib/logging/appenders/string_io.rb +68 -0
  61. data/lib/logging/lib/logging/appenders/syslog.rb +194 -0
  62. data/lib/logging/lib/logging/config/configurator.rb +188 -0
  63. data/lib/logging/lib/logging/config/yaml_configurator.rb +191 -0
  64. data/lib/logging/lib/logging/layout.rb +117 -0
  65. data/lib/logging/lib/logging/layouts.rb +47 -0
  66. data/lib/logging/lib/logging/layouts/basic.rb +32 -0
  67. data/lib/logging/lib/logging/layouts/parseable.rb +211 -0
  68. data/lib/logging/lib/logging/layouts/pattern.rb +311 -0
  69. data/lib/logging/lib/logging/log_event.rb +45 -0
  70. data/lib/logging/lib/logging/logger.rb +503 -0
  71. data/lib/logging/lib/logging/repository.rb +232 -0
  72. data/lib/logging/lib/logging/root_logger.rb +61 -0
  73. data/lib/logging/lib/logging/stats.rb +278 -0
  74. data/lib/logging/lib/logging/utils.rb +153 -0
  75. data/lib/logging/lib/spec/logging_helper.rb +34 -0
  76. data/lib/logging/test/appenders/test_buffered_io.rb +176 -0
  77. data/lib/logging/test/appenders/test_console.rb +66 -0
  78. data/lib/logging/test/appenders/test_email.rb +170 -0
  79. data/lib/logging/test/appenders/test_file.rb +95 -0
  80. data/lib/logging/test/appenders/test_growl.rb +127 -0
  81. data/lib/logging/test/appenders/test_io.rb +129 -0
  82. data/lib/logging/test/appenders/test_rolling_file.rb +200 -0
  83. data/lib/logging/test/appenders/test_syslog.rb +194 -0
  84. data/lib/logging/test/benchmark.rb +86 -0
  85. data/lib/logging/test/config/test_configurator.rb +70 -0
  86. data/lib/logging/test/config/test_yaml_configurator.rb +40 -0
  87. data/lib/logging/test/layouts/test_basic.rb +42 -0
  88. data/lib/logging/test/layouts/test_json.rb +112 -0
  89. data/lib/logging/test/layouts/test_pattern.rb +198 -0
  90. data/lib/logging/test/layouts/test_yaml.rb +121 -0
  91. data/lib/logging/test/setup.rb +44 -0
  92. data/lib/logging/test/test_appender.rb +152 -0
  93. data/lib/logging/test/test_consolidate.rb +46 -0
  94. data/lib/logging/test/test_layout.rb +110 -0
  95. data/lib/logging/test/test_log_event.rb +80 -0
  96. data/lib/logging/test/test_logger.rb +699 -0
  97. data/lib/logging/test/test_logging.rb +267 -0
  98. data/lib/logging/test/test_repository.rb +158 -0
  99. data/lib/logging/test/test_root_logger.rb +81 -0
  100. data/lib/logging/test/test_stats.rb +274 -0
  101. data/lib/logging/test/test_utils.rb +116 -0
  102. data/lib/redcar.rb +12 -0
  103. data/lib/redcar/boot.rb +105 -0
  104. data/lib/redcar/install.rb +97 -0
  105. data/lib/redcar/plist.rb +83 -0
  106. data/lib/redcar/ruby_extensions.rb +14 -0
  107. data/lib/redcar/runner.rb +32 -0
  108. data/lib/redcar/usage.rb +24 -0
  109. data/lib/regex_replace.rb +220 -0
  110. data/plugins/application/features/main_menu.feature +9 -0
  111. data/plugins/application/features/main_window.feature +8 -0
  112. data/plugins/application/features/step_definitions/dialog_steps.rb +5 -0
  113. data/plugins/application/features/step_definitions/menu_steps.rb +21 -0
  114. data/plugins/application/features/step_definitions/window_steps.rb +4 -0
  115. data/plugins/application/features/support/env.rb +32 -0
  116. data/plugins/application/lib/application.rb +128 -0
  117. data/plugins/application/lib/application/assets/file.png +0 -0
  118. data/plugins/application/lib/application/command.rb +70 -0
  119. data/plugins/application/lib/application/command/executor.rb +46 -0
  120. data/plugins/application/lib/application/command/history.rb +49 -0
  121. data/plugins/application/lib/application/dialog.rb +15 -0
  122. data/plugins/application/lib/application/menu.rb +27 -0
  123. data/plugins/application/lib/application/menu/builder.rb +51 -0
  124. data/plugins/application/lib/application/menu/item.rb +26 -0
  125. data/plugins/application/lib/application/notebook.rb +77 -0
  126. data/plugins/application/lib/application/sensitive.rb +57 -0
  127. data/plugins/application/lib/application/sensitivity.rb +78 -0
  128. data/plugins/application/lib/application/tab.rb +47 -0
  129. data/plugins/application/lib/application/tab/command.rb +5 -0
  130. data/plugins/application/lib/application/window.rb +139 -0
  131. data/plugins/application/plugin.yaml +11 -0
  132. data/plugins/application/spec/application/application_spec.rb +23 -0
  133. data/plugins/application/spec/application/command/executor_spec.rb +67 -0
  134. data/plugins/application/spec/application/command/history_spec.rb +49 -0
  135. data/plugins/application/spec/application/command_spec.rb +59 -0
  136. data/plugins/application/spec/application/controllers/application_controller.rb +4 -0
  137. data/plugins/application/spec/application/controllers/notebook_controller.rb +4 -0
  138. data/plugins/application/spec/application/controllers/window_controller.rb +5 -0
  139. data/plugins/application/spec/application/menu/builder_spec.rb +57 -0
  140. data/plugins/application/spec/application/menu/menu_item_spec.rb +17 -0
  141. data/plugins/application/spec/application/menu_spec.rb +36 -0
  142. data/plugins/application/spec/application/notebook_spec.rb +26 -0
  143. data/plugins/application/spec/application/sensitive_spec.rb +156 -0
  144. data/plugins/application/spec/application/window_spec.rb +24 -0
  145. data/plugins/application/spec/spec_helper.rb +7 -0
  146. data/plugins/application_swt/lib/application_swt.rb +70 -0
  147. data/plugins/application_swt/lib/application_swt/cucumber_patches.rb +118 -0
  148. data/plugins/application_swt/lib/application_swt/cucumber_runner.rb +25 -0
  149. data/plugins/application_swt/lib/application_swt/dialog_adapter.rb +23 -0
  150. data/plugins/application_swt/lib/application_swt/event_loop.rb +27 -0
  151. data/plugins/application_swt/lib/application_swt/menu.rb +59 -0
  152. data/plugins/application_swt/lib/application_swt/menu/binding_translator.rb +39 -0
  153. data/plugins/application_swt/lib/application_swt/notebook.rb +129 -0
  154. data/plugins/application_swt/lib/application_swt/notebook/drag_and_drop_listener.rb +71 -0
  155. data/plugins/application_swt/lib/application_swt/swt/grid_data.rb +11 -0
  156. data/plugins/application_swt/lib/application_swt/swt_wrapper.rb +106 -0
  157. data/plugins/application_swt/lib/application_swt/tab.rb +58 -0
  158. data/plugins/application_swt/lib/application_swt/window.rb +142 -0
  159. data/plugins/application_swt/plugin.yaml +11 -0
  160. data/plugins/application_swt/spec/application_swt/menu/binding_translator_spec.rb +45 -0
  161. data/plugins/application_swt/spec/application_swt/menu_spec.rb +7 -0
  162. data/plugins/application_swt/spec/spec_helper.rb +18 -0
  163. data/plugins/application_swt/vendor/swt/linux/dummy +1 -0
  164. data/plugins/application_swt/vendor/swt/osx/dummy +1 -0
  165. data/plugins/application_swt/vendor/swt/osx64/dummy +1 -0
  166. data/plugins/application_swt/vendor/swt/win32/dummy +1 -0
  167. data/plugins/core/lib/core.rb +29 -0
  168. data/plugins/core/lib/core/controller.rb +5 -0
  169. data/plugins/core/lib/core/gui.rb +87 -0
  170. data/plugins/core/lib/core/logger.rb +25 -0
  171. data/plugins/core/lib/core/model.rb +9 -0
  172. data/plugins/core/lib/core/observable.rb +111 -0
  173. data/plugins/core/lib/core/plugin.rb +5 -0
  174. data/plugins/core/plugin.yaml +7 -0
  175. data/plugins/core/spec/core/gui_spec.rb +27 -0
  176. data/plugins/core/spec/core/observable_spec.rb +104 -0
  177. data/plugins/core/spec/spec_helper.rb +4 -0
  178. data/plugins/edit_view/features/multiple_notebooks.feature +77 -0
  179. data/plugins/edit_view/features/multiple_windows.feature +48 -0
  180. data/plugins/edit_view/features/new_tab.feature +12 -0
  181. data/plugins/edit_view/features/step_definitions/key_steps.rb +48 -0
  182. data/plugins/edit_view/features/step_definitions/notebook_steps.rb +60 -0
  183. data/plugins/edit_view/features/step_definitions/tab_steps.rb +55 -0
  184. data/plugins/edit_view/features/step_definitions/window_steps.rb +80 -0
  185. data/plugins/edit_view/features/support/env.rb +66 -0
  186. data/plugins/edit_view/lib/edit_view.rb +76 -0
  187. data/plugins/edit_view/lib/edit_view/command.rb +6 -0
  188. data/plugins/edit_view/lib/edit_view/document.rb +63 -0
  189. data/plugins/edit_view/lib/edit_view/edit_tab.rb +29 -0
  190. data/plugins/edit_view/lib/edit_view/mirror.rb +42 -0
  191. data/plugins/edit_view/plugin.yaml +14 -0
  192. data/plugins/edit_view/spec/edit_view/document_spec.rb +77 -0
  193. data/plugins/edit_view/spec/spec_helper.rb +4 -0
  194. data/plugins/edit_view_swt/lib/edit_view_swt.rb +170 -0
  195. data/plugins/edit_view_swt/lib/edit_view_swt/document.rb +31 -0
  196. data/plugins/edit_view_swt/lib/edit_view_swt/edit_tab.rb +33 -0
  197. data/plugins/edit_view_swt/plugin.yaml +14 -0
  198. data/plugins/edit_view_swt/vendor/dummy +1 -0
  199. data/plugins/edit_view_swt/vendor/java-mateview.rb +12 -0
  200. data/plugins/project/features/fixtures/winter.txt +1 -0
  201. data/plugins/project/features/open_and_save_files.feature +22 -0
  202. data/plugins/project/features/step_definitions/file_steps.rb +24 -0
  203. data/plugins/project/features/support/env.rb +15 -0
  204. data/plugins/project/lib/project.rb +79 -0
  205. data/plugins/project/lib/project/dir_mirror.rb +53 -0
  206. data/plugins/project/lib/project/file_mirror.rb +70 -0
  207. data/plugins/project/plugin.yaml +12 -0
  208. data/plugins/project/spec/project/dir_mirror_spec.rb +76 -0
  209. data/plugins/project/spec/project/file_mirror_spec.rb +78 -0
  210. data/plugins/project/spec/spec_helper.rb +4 -0
  211. data/plugins/redcar/plugin.yaml +20 -0
  212. data/plugins/redcar/redcar.rb +166 -0
  213. data/plugins/repl/lib/repl.rb +44 -0
  214. data/plugins/repl/lib/repl/internal_mirror.rb +98 -0
  215. data/plugins/repl/plugin.yaml +12 -0
  216. data/plugins/repl/spec/repl/internal_mirror_spec.rb +147 -0
  217. data/plugins/repl/spec/spec_helper.rb +4 -0
  218. data/plugins/tree_view/lib/tree_view.rb +7 -0
  219. data/plugins/tree_view/lib/tree_view/mirror.rb +74 -0
  220. data/plugins/tree_view/plugin.yaml +14 -0
  221. data/plugins/tree_view/spec/spec_helper.rb +4 -0
  222. data/plugins/tree_view_swt/lib/tree_view_swt.rb +5 -0
  223. data/plugins/tree_view_swt/plugin.yaml +14 -0
  224. data/textmate/Bundles/C.tmbundle/Snippets/010_main_______main__.plist +20 -0
  225. data/textmate/Bundles/C.tmbundle/Snippets/030_for_int_loop___fori__.plist +19 -0
  226. data/textmate/Bundles/C.tmbundle/Snippets/Include_header_once_only_guard.plist +28 -0
  227. data/textmate/Bundles/C.tmbundle/Snippets/Typedef.tmSnippet +16 -0
  228. data/textmate/Bundles/C.tmbundle/Snippets/__1_begin_________1_end_______beginend__.plist +16 -0
  229. data/textmate/Bundles/C.tmbundle/Snippets/__endif.plist +17 -0
  230. data/textmate/Bundles/C.tmbundle/Snippets/__ifndef__________define__________endif.tmSnippet +18 -0
  231. data/textmate/Bundles/C.tmbundle/Snippets/__include________inc__.plist +16 -0
  232. data/textmate/Bundles/C.tmbundle/Snippets/__pragma_mark___mark__.plist +21 -0
  233. data/textmate/Bundles/C.tmbundle/Snippets/class______class__.plist +24 -0
  234. data/textmate/Bundles/C.tmbundle/Snippets/do___while_loop___do__.plist +18 -0
  235. data/textmate/Bundles/C.tmbundle/Snippets/fprintf_______.tmSnippet +16 -0
  236. data/textmate/Bundles/C.tmbundle/Snippets/if______if__.plist +19 -0
  237. data/textmate/Bundles/C.tmbundle/Snippets/namespace______namespace__.plist +20 -0
  238. data/textmate/Bundles/C.tmbundle/Snippets/next___include________Inc__.plist +16 -0
  239. data/textmate/Bundles/C.tmbundle/Snippets/printf______printf__.plist +16 -0
  240. data/textmate/Bundles/C.tmbundle/Snippets/read_file___readF__.plist +23 -0
  241. data/textmate/Bundles/C.tmbundle/Snippets/std____map___map__.plist +16 -0
  242. data/textmate/Bundles/C.tmbundle/Snippets/std____vector___v__.plist +16 -0
  243. data/textmate/Bundles/C.tmbundle/Snippets/struct.plist +19 -0
  244. data/textmate/Bundles/C.tmbundle/Snippets/template___typename________template__.plist +16 -0
  245. data/textmate/Bundles/C.tmbundle/Syntaxes/C.plist +1084 -0
  246. data/textmate/Bundles/C.tmbundle/Syntaxes/C____.plist +521 -0
  247. data/textmate/Bundles/CSS.tmbundle/Snippets/Fixed_Position_Bottom_100___wide_IE6.tmSnippet +18 -0
  248. data/textmate/Bundles/CSS.tmbundle/Snippets/__important_CSS_______.plist +18 -0
  249. data/textmate/Bundles/CSS.tmbundle/Snippets/background____color_image_repeat_attachment_position___background__.plist +16 -0
  250. data/textmate/Bundles/CSS.tmbundle/Snippets/background__attachment___scroll__fixed___background__.plist +16 -0
  251. data/textmate/Bundles/CSS.tmbundle/Snippets/background__color____color__hex___background__.plist +16 -0
  252. data/textmate/Bundles/CSS.tmbundle/Snippets/background__color____color__name___background__.plist +16 -0
  253. data/textmate/Bundles/CSS.tmbundle/Snippets/background__color____color__rgb___background__.plist +16 -0
  254. data/textmate/Bundles/CSS.tmbundle/Snippets/background__color____transparent___background__.plist +16 -0
  255. data/textmate/Bundles/CSS.tmbundle/Snippets/background__image____none___background__.plist +16 -0
  256. data/textmate/Bundles/CSS.tmbundle/Snippets/background__image____url___background__.plist +16 -0
  257. data/textmate/Bundles/CSS.tmbundle/Snippets/background__position____position___background__.plist +16 -0
  258. data/textmate/Bundles/CSS.tmbundle/Snippets/background__repeat____r__r__x__r__y__n__r___background__.plist +16 -0
  259. data/textmate/Bundles/CSS.tmbundle/Snippets/border_____size_style_color___border__.plist +16 -0
  260. data/textmate/Bundles/CSS.tmbundle/Snippets/border__bottom___size_style_color___border__.plist +16 -0
  261. data/textmate/Bundles/CSS.tmbundle/Snippets/border__bottom__color___size_style_color___border__.plist +16 -0
  262. data/textmate/Bundles/CSS.tmbundle/Snippets/border__bottom__style___size_style_color___border__.plist +16 -0
  263. data/textmate/Bundles/CSS.tmbundle/Snippets/border__bottom__width___size_style_color___border__.plist +16 -0
  264. data/textmate/Bundles/CSS.tmbundle/Snippets/border__color___color___border__.plist +16 -0
  265. data/textmate/Bundles/CSS.tmbundle/Snippets/border__left___size_style_color___border__.plist +16 -0
  266. data/textmate/Bundles/CSS.tmbundle/Snippets/border__left__color___color___border__.plist +16 -0
  267. data/textmate/Bundles/CSS.tmbundle/Snippets/border__left__style___style___border__.plist +16 -0
  268. data/textmate/Bundles/CSS.tmbundle/Snippets/border__left__width___size___border__.plist +16 -0
  269. data/textmate/Bundles/CSS.tmbundle/Snippets/border__right___size_style_color___border__.plist +16 -0
  270. data/textmate/Bundles/CSS.tmbundle/Snippets/border__right__color___color___border__.plist +16 -0
  271. data/textmate/Bundles/CSS.tmbundle/Snippets/border__right__style___style___border__.plist +16 -0
  272. data/textmate/Bundles/CSS.tmbundle/Snippets/border__right__width___size___border__.plist +16 -0
  273. data/textmate/Bundles/CSS.tmbundle/Snippets/border__style___style___border__.plist +16 -0
  274. data/textmate/Bundles/CSS.tmbundle/Snippets/border__top___size_style_color___border__.plist +16 -0
  275. data/textmate/Bundles/CSS.tmbundle/Snippets/border__top__color___color___border__.plist +16 -0
  276. data/textmate/Bundles/CSS.tmbundle/Snippets/border__top__style___style___border__.plist +16 -0
  277. data/textmate/Bundles/CSS.tmbundle/Snippets/border__top__width___size___border__.plist +16 -0
  278. data/textmate/Bundles/CSS.tmbundle/Snippets/border__width___width___border__.plist +16 -0
  279. data/textmate/Bundles/CSS.tmbundle/Snippets/clear___value___clear__.plist +16 -0
  280. data/textmate/Bundles/CSS.tmbundle/Snippets/color____color__hex___color__.plist +16 -0
  281. data/textmate/Bundles/CSS.tmbundle/Snippets/color____color__name___color__.plist +16 -0
  282. data/textmate/Bundles/CSS.tmbundle/Snippets/color____color__rgb___color__.plist +16 -0
  283. data/textmate/Bundles/CSS.tmbundle/Snippets/cursor___type___cursor__.plist +16 -0
  284. data/textmate/Bundles/CSS.tmbundle/Snippets/cursor___url___cursor__.plist +16 -0
  285. data/textmate/Bundles/CSS.tmbundle/Snippets/direction___ltr__rtl___direction__.plist +16 -0
  286. data/textmate/Bundles/CSS.tmbundle/Snippets/display___block___display__.plist +16 -0
  287. data/textmate/Bundles/CSS.tmbundle/Snippets/display___common__types___display__.plist +16 -0
  288. data/textmate/Bundles/CSS.tmbundle/Snippets/display___inline___display__.plist +16 -0
  289. data/textmate/Bundles/CSS.tmbundle/Snippets/display___table__types___display__.plist +16 -0
  290. data/textmate/Bundles/CSS.tmbundle/Snippets/filter___AlphaImageLoader___for_IE_PNGs_____background__.plist +19 -0
  291. data/textmate/Bundles/CSS.tmbundle/Snippets/float___left__right__none___float__.plist +16 -0
  292. data/textmate/Bundles/CSS.tmbundle/Snippets/font_____style_variant_weight_size__line__height_font___family___font__.plist +16 -0
  293. data/textmate/Bundles/CSS.tmbundle/Snippets/font___size_font___font__.plist +16 -0
  294. data/textmate/Bundles/CSS.tmbundle/Snippets/font__family_____family___font__.plist +16 -0
  295. data/textmate/Bundles/CSS.tmbundle/Snippets/font__size___size___font__.plist +16 -0
  296. data/textmate/Bundles/CSS.tmbundle/Snippets/font__style_____normal__italic__oblique___font__.plist +16 -0
  297. data/textmate/Bundles/CSS.tmbundle/Snippets/font__variant_____normal__small__caps___font__.plist +16 -0
  298. data/textmate/Bundles/CSS.tmbundle/Snippets/font__weight___weight___font__.plist +16 -0
  299. data/textmate/Bundles/CSS.tmbundle/Snippets/letter__spacing_____length__em___letter__.plist +16 -0
  300. data/textmate/Bundles/CSS.tmbundle/Snippets/letter__spacing_____length__px___letter__.plist +16 -0
  301. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style___type_position_image___list__.plist +16 -0
  302. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__image___url___list__.plist +16 -0
  303. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__position___pos___list__.plist +16 -0
  304. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___asian___list__.plist +16 -0
  305. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___marker__list__.plist +16 -0
  306. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___numeric___list__.plist +16 -0
  307. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___other___list__.plist +16 -0
  308. data/textmate/Bundles/CSS.tmbundle/Snippets/list__style__type___roman__alpha__greek___list__.plist +16 -0
  309. data/textmate/Bundles/CSS.tmbundle/Snippets/margin___T_R_B_L___margin__.plist +16 -0
  310. data/textmate/Bundles/CSS.tmbundle/Snippets/margin___V_H___margin__.plist +16 -0
  311. data/textmate/Bundles/CSS.tmbundle/Snippets/margin_____all___margin__.plist +16 -0
  312. data/textmate/Bundles/CSS.tmbundle/Snippets/margin__bottom___length___margin__.plist +16 -0
  313. data/textmate/Bundles/CSS.tmbundle/Snippets/margin__left___length___margin__.plist +16 -0
  314. data/textmate/Bundles/CSS.tmbundle/Snippets/margin__right___length___margin__.plist +16 -0
  315. data/textmate/Bundles/CSS.tmbundle/Snippets/margin__top___length___margin__.plist +16 -0
  316. data/textmate/Bundles/CSS.tmbundle/Snippets/marker__offset___auto___marker__.plist +16 -0
  317. data/textmate/Bundles/CSS.tmbundle/Snippets/marker__offset___length___marker__.plist +16 -0
  318. data/textmate/Bundles/CSS.tmbundle/Snippets/opacity_____for_Safari___FF_and_IE_____opacity__.plist +18 -0
  319. data/textmate/Bundles/CSS.tmbundle/Snippets/overflow___type___overflow__.plist +16 -0
  320. data/textmate/Bundles/CSS.tmbundle/Snippets/padding_____T_R_B_L___padding__.plist +16 -0
  321. data/textmate/Bundles/CSS.tmbundle/Snippets/padding_____V_H___padding__.plist +16 -0
  322. data/textmate/Bundles/CSS.tmbundle/Snippets/padding_____all___padding__.plist +16 -0
  323. data/textmate/Bundles/CSS.tmbundle/Snippets/padding__bottom___length___margin__.plist +16 -0
  324. data/textmate/Bundles/CSS.tmbundle/Snippets/padding__left___length___margin__.plist +16 -0
  325. data/textmate/Bundles/CSS.tmbundle/Snippets/padding__right___length___margin__.plist +16 -0
  326. data/textmate/Bundles/CSS.tmbundle/Snippets/padding__top___length___margin__.plist +16 -0
  327. data/textmate/Bundles/CSS.tmbundle/Snippets/position___type___position__.plist +16 -0
  328. data/textmate/Bundles/CSS.tmbundle/Snippets/properties_______________.plist +19 -0
  329. data/textmate/Bundles/CSS.tmbundle/Snippets/scrollbar.tmSnippet +23 -0
  330. data/textmate/Bundles/CSS.tmbundle/Snippets/selection.tmSnippet +20 -0
  331. data/textmate/Bundles/CSS.tmbundle/Snippets/text__align___left__center__right___txt__.plist +16 -0
  332. data/textmate/Bundles/CSS.tmbundle/Snippets/text__decoration___none__underline__overline__line__through__blink___text__.plist +16 -0
  333. data/textmate/Bundles/CSS.tmbundle/Snippets/text__indent___length___text__.plist +16 -0
  334. data/textmate/Bundles/CSS.tmbundle/Snippets/text__shadow___color__hex_x_y_blur___text__.plist +16 -0
  335. data/textmate/Bundles/CSS.tmbundle/Snippets/text__shadow___color__rgb_x_y_blur___text__.plist +16 -0
  336. data/textmate/Bundles/CSS.tmbundle/Snippets/text__shadow___none___text__.plist +16 -0
  337. data/textmate/Bundles/CSS.tmbundle/Snippets/text__transform___capitalize__upper__lower___text__.plist +16 -0
  338. data/textmate/Bundles/CSS.tmbundle/Snippets/text__transform___none___text__.plist +16 -0
  339. data/textmate/Bundles/CSS.tmbundle/Snippets/vertical__align___type___vertical__.plist +16 -0
  340. data/textmate/Bundles/CSS.tmbundle/Snippets/visibility___type___visibility__.plist +16 -0
  341. data/textmate/Bundles/CSS.tmbundle/Snippets/white__space____normal__pre__nowrap___white__.plist +16 -0
  342. data/textmate/Bundles/CSS.tmbundle/Snippets/word__spacing____length___word__.plist +16 -0
  343. data/textmate/Bundles/CSS.tmbundle/Snippets/word__spacing____normal___word__.plist +16 -0
  344. data/textmate/Bundles/CSS.tmbundle/Snippets/z__index___index___z__.plist +16 -0
  345. data/textmate/Bundles/CSS.tmbundle/Syntaxes/CSS.plist +543 -0
  346. data/textmate/Bundles/HTML.tmbundle/Snippets/Arrow___arrow__.plist +16 -0
  347. data/textmate/Bundles/HTML.tmbundle/Snippets/Backspace___backspace__.plist +16 -0
  348. data/textmate/Bundles/HTML.tmbundle/Snippets/Backtab___backtab__.plist +16 -0
  349. data/textmate/Bundles/HTML.tmbundle/Snippets/Command___command__.plist +16 -0
  350. data/textmate/Bundles/HTML.tmbundle/Snippets/Control___control__.plist +16 -0
  351. data/textmate/Bundles/HTML.tmbundle/Snippets/Delete___delete__.plist +16 -0
  352. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_HTML_4_0_Strict.plist +18 -0
  353. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_XHTL_1_0_Frameset.plist +18 -0
  354. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_XHTML_1_0_Strict.plist +18 -0
  355. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_XHTML_1_0_Transitional.plist +18 -0
  356. data/textmate/Bundles/HTML.tmbundle/Snippets/DocType_XHTML_1_1.plist +18 -0
  357. data/textmate/Bundles/HTML.tmbundle/Snippets/Down___down__.plist +16 -0
  358. data/textmate/Bundles/HTML.tmbundle/Snippets/Embed_QT_movie___movie__.plist +26 -0
  359. data/textmate/Bundles/HTML.tmbundle/Snippets/Emphasize.tmSnippet +16 -0
  360. data/textmate/Bundles/HTML.tmbundle/Snippets/Enter___enter__.plist +16 -0
  361. data/textmate/Bundles/HTML.tmbundle/Snippets/Escape___escape__.plist +16 -0
  362. data/textmate/Bundles/HTML.tmbundle/Snippets/Fieldset.tmSnippet +22 -0
  363. data/textmate/Bundles/HTML.tmbundle/Snippets/HTML________4_0_Transitional___doctype__.plist +18 -0
  364. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer.tmSnippet +16 -0
  365. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_5_0_only.tmSnippet +16 -0
  366. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_5_5_only.tmSnippet +16 -0
  367. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_5_x.tmSnippet +16 -0
  368. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_6_and_below.tmSnippet +16 -0
  369. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_6_only.tmSnippet +16 -0
  370. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___Internet_Explorer_7__.tmSnippet +16 -0
  371. data/textmate/Bundles/HTML.tmbundle/Snippets/IE_Conditional_Comment___NOT_Internet_Explorer.tmSnippet +16 -0
  372. data/textmate/Bundles/HTML.tmbundle/Snippets/Input_with_Label.tmSnippet +19 -0
  373. data/textmate/Bundles/HTML.tmbundle/Snippets/Left___left__.plist +16 -0
  374. data/textmate/Bundles/HTML.tmbundle/Snippets/Option.tmSnippet +18 -0
  375. data/textmate/Bundles/HTML.tmbundle/Snippets/Option___option__.plist +16 -0
  376. data/textmate/Bundles/HTML.tmbundle/Snippets/Return___return__.plist +16 -0
  377. data/textmate/Bundles/HTML.tmbundle/Snippets/Right___right__.plist +16 -0
  378. data/textmate/Bundles/HTML.tmbundle/Snippets/Select_Box.tmSnippet +22 -0
  379. data/textmate/Bundles/HTML.tmbundle/Snippets/Shift___shift__.plist +16 -0
  380. data/textmate/Bundles/HTML.tmbundle/Snippets/Smart_return__indent_for_tag_pairs.plist +18 -0
  381. data/textmate/Bundles/HTML.tmbundle/Snippets/Strong.tmSnippet +16 -0
  382. data/textmate/Bundles/HTML.tmbundle/Snippets/Tab___tab__.plist +16 -0
  383. data/textmate/Bundles/HTML.tmbundle/Snippets/Up___up__.plist +16 -0
  384. data/textmate/Bundles/HTML.tmbundle/Snippets/Wrap_Selection_In_Tag.plist +16 -0
  385. data/textmate/Bundles/HTML.tmbundle/Snippets/Wrap_in___________________.plist +14 -0
  386. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML_____input__.plist +16 -0
  387. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML_____textarea__.plist +16 -0
  388. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___a_mailto_____.plist +16 -0
  389. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___base__.plist +16 -0
  390. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___body__.plist +18 -0
  391. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___br_____.plist +16 -0
  392. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___div__.plist +18 -0
  393. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___form__.plist +20 -0
  394. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___h1__.plist +16 -0
  395. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___head__.plist +20 -0
  396. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___link__.plist +16 -0
  397. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___meta__.plist +16 -0
  398. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___nbsp___NonBreakingSpace.plist +16 -0
  399. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___script__.plist +18 -0
  400. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___script_src_____.plist +16 -0
  401. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___style__.plist +18 -0
  402. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___table__.plist +19 -0
  403. data/textmate/Bundles/HTML.tmbundle/Snippets/XHTML___title__.plist +16 -0
  404. data/textmate/Bundles/HTML.tmbundle/Syntaxes/HTML.plist +962 -0
  405. data/textmate/Bundles/HTML.tmbundle/Templates/HTML /342/200/223 4.0 Strict/index.html" +15 -0
  406. data/textmate/Bundles/HTML.tmbundle/Templates/HTML /342/200/223 4.0 Strict/info.plist" +20 -0
  407. data/textmate/Bundles/HTML.tmbundle/Templates/HTML /342/200/224 4.0 Transitional/index.html" +15 -0
  408. data/textmate/Bundles/HTML.tmbundle/Templates/HTML /342/200/224 4.0 Transitional/info.plist" +20 -0
  409. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Frameset/index.html" +16 -0
  410. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Frameset/info.plist" +16 -0
  411. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Strict/index.html" +16 -0
  412. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Strict/info.plist" +16 -0
  413. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Transitional/index.html" +16 -0
  414. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.0 Transitional/info.plist" +16 -0
  415. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.1/index.html" +15 -0
  416. data/textmate/Bundles/HTML.tmbundle/Templates/XHTML /342/200/223 1.1/info.plist" +16 -0
  417. data/textmate/Bundles/RedcarRepl.tmbundle/Syntaxes/InternalRuby.plist +54 -0
  418. data/textmate/Bundles/Ruby.tmbundle/Snippets/060_ruby_if_else.plist +20 -0
  419. data/textmate/Bundles/Ruby.tmbundle/Snippets/070_ruby_if.plist +18 -0
  420. data/textmate/Bundles/Ruby.tmbundle/Snippets/080_ruby_case.plist +19 -0
  421. data/textmate/Bundles/Ruby.tmbundle/Snippets/Add_____________Marker.tmSnippet +16 -0
  422. data/textmate/Bundles/Ruby.tmbundle/Snippets/Array_new__10________i____________Arr__.plist +16 -0
  423. data/textmate/Bundles/Ruby.tmbundle/Snippets/Benchmark_bmbm_______do____end.tmSnippet +19 -0
  424. data/textmate/Bundles/Ruby.tmbundle/Snippets/Dir__________.tmSnippet +16 -0
  425. data/textmate/Bundles/Ruby.tmbundle/Snippets/Dir_glob___________do___file______end____Dir__.plist +16 -0
  426. data/textmate/Bundles/Ruby.tmbundle/Snippets/File_foreach____________do___line______end____File__.plist +16 -0
  427. data/textmate/Bundles/Ruby.tmbundle/Snippets/File_open________________file________.tmSnippet +16 -0
  428. data/textmate/Bundles/Ruby.tmbundle/Snippets/File_read__________.tmSnippet +16 -0
  429. data/textmate/Bundles/Ruby.tmbundle/Snippets/Hash_new______hash___key___hash__key_______________Has__.plist +16 -0
  430. data/textmate/Bundles/Ruby.tmbundle/Snippets/Insert_ERb__s______________or_______________.tmSnippet +16 -0
  431. data/textmate/Bundles/Ruby.tmbundle/Snippets/Marshal_dump__obj___file______Md__.plist +16 -0
  432. data/textmate/Bundles/Ruby.tmbundle/Snippets/Marshal_load__obj______Ml__.plist +16 -0
  433. data/textmate/Bundles/Ruby.tmbundle/Snippets/PStore_new________.tmSnippet +16 -0
  434. data/textmate/Bundles/Ruby.tmbundle/Snippets/RDoc_documentation_block.tmSnippet +20 -0
  435. data/textmate/Bundles/Ruby.tmbundle/Snippets/Wrap_in_Begin________Rescue________End.plist +23 -0
  436. data/textmate/Bundles/Ruby.tmbundle/Snippets/YAML_dump_______file______Yd____.plist +16 -0
  437. data/textmate/Bundles/Ruby.tmbundle/Snippets/YAML_load__file______Yl____.plist +16 -0
  438. data/textmate/Bundles/Ruby.tmbundle/Snippets/__END__.tmSnippet +17 -0
  439. data/textmate/Bundles/Ruby.tmbundle/Snippets/______usr__local__bin__ruby___w.plist +17 -0
  440. data/textmate/Bundles/Ruby.tmbundle/Snippets/__yields___RDoc_comment.tmSnippet +16 -0
  441. data/textmate/Bundles/Ruby.tmbundle/Snippets/alias_method_______am__.plist +16 -0
  442. data/textmate/Bundles/Ruby.tmbundle/Snippets/all________e____________all__.plist +16 -0
  443. data/textmate/Bundles/Ruby.tmbundle/Snippets/any________e____________any__.plist +16 -0
  444. data/textmate/Bundles/Ruby.tmbundle/Snippets/application_code_______app__.plist +18 -0
  445. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert__________as__.plist +16 -0
  446. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_equal.tmSnippet +16 -0
  447. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_in_delta__________asid__.plist +16 -0
  448. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_instance_of__________asio__.plist +16 -0
  449. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_kind_of__________asko__.plist +16 -0
  450. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_match__________asm__.plist +16 -0
  451. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_nil__________asn__.plist +16 -0
  452. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_no_match__________asnm__.plist +16 -0
  453. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_not_equal__________asne__.plist +16 -0
  454. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_not_nil__________asnn__.plist +16 -0
  455. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_not_same__________asns__.plist +16 -0
  456. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_nothing_raised___________________asnr__.plist +16 -0
  457. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_nothing_thrown_____________asnt__.plist +16 -0
  458. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_operator__________aso__.plist +16 -0
  459. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_raise___________________asr__.plist +16 -0
  460. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_respond_to__________asrt__.plist +16 -0
  461. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_same__________ass__.plist +16 -0
  462. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_send__________ass__.plist +16 -0
  463. data/textmate/Bundles/Ruby.tmbundle/Snippets/assert_throws___________________ast__.plist +16 -0
  464. data/textmate/Bundles/Ruby.tmbundle/Snippets/attr_accessor_______rw__.plist +16 -0
  465. data/textmate/Bundles/Ruby.tmbundle/Snippets/attr_reader_______r__.plist +16 -0
  466. data/textmate/Bundles/Ruby.tmbundle/Snippets/attr_writer_______w__.plist +16 -0
  467. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_______DelegateClass____initialize____end____class__.plist +24 -0
  468. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_______ParentClass____initialize____end.plist +22 -0
  469. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_______Struct____initialize____end.plist +22 -0
  470. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_______Test____Unit____TestCase____end____tc__.plist +24 -0
  471. data/textmate/Bundles/Ruby.tmbundle/Snippets/class______self____end.tmSnippet +18 -0
  472. data/textmate/Bundles/Ruby.tmbundle/Snippets/class____end____cla__.plist +18 -0
  473. data/textmate/Bundles/Ruby.tmbundle/Snippets/class____initialize____end.plist +22 -0
  474. data/textmate/Bundles/Ruby.tmbundle/Snippets/class____instance_methods____undef____initialize____end____class__.plist +30 -0
  475. data/textmate/Bundles/Ruby.tmbundle/Snippets/class_from_name________clafn__.plist +16 -0
  476. data/textmate/Bundles/Ruby.tmbundle/Snippets/classify______e____________clas__.plist +16 -0
  477. data/textmate/Bundles/Ruby.tmbundle/Snippets/collect______e____________col__.plist +16 -0
  478. data/textmate/Bundles/Ruby.tmbundle/Snippets/deep_copy__________dee__.plist +16 -0
  479. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_delegator______defd__.plist +16 -0
  480. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_delegators______defds__.plist +16 -0
  481. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_end.plist +18 -0
  482. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_method_missing____end____mm__.plist +18 -0
  483. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_self____end____defs__.plist +18 -0
  484. data/textmate/Bundles/Ruby.tmbundle/Snippets/def_test_____end____t__.plist +18 -0
  485. data/textmate/Bundles/Ruby.tmbundle/Snippets/delete_if______e____________deli__.plist +16 -0
  486. data/textmate/Bundles/Ruby.tmbundle/Snippets/detect______e____________det__.plist +16 -0
  487. data/textmate/Bundles/Ruby.tmbundle/Snippets/directory____.tmSnippet +16 -0
  488. data/textmate/Bundles/Ruby.tmbundle/Snippets/do___obj______end___doo__.plist +18 -0
  489. data/textmate/Bundles/Ruby.tmbundle/Snippets/downto__0________n____________dow__.plist +16 -0
  490. data/textmate/Bundles/Ruby.tmbundle/Snippets/each______e____________ea__.plist +16 -0
  491. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_byte______byte____________eab__.plist +16 -0
  492. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_char______chr____________eac____.plist +16 -0
  493. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_cons____________group____________eac____.plist +16 -0
  494. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_index______i____________eai__.plist +16 -0
  495. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_key______key____________eak__.plist +16 -0
  496. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_line______line____________eal__.plist +16 -0
  497. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_pair______name___val____________eap__.plist +16 -0
  498. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_slice______group____________eas__.plist +16 -0
  499. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_value______val____________eav__.plist +16 -0
  500. data/textmate/Bundles/Ruby.tmbundle/Snippets/each_with_index______e___i____________eawi__.plist +16 -0
  501. data/textmate/Bundles/Ruby.tmbundle/Snippets/elsif____.tmSnippet +17 -0
  502. data/textmate/Bundles/Ruby.tmbundle/Snippets/embed_string_variable.plist +16 -0
  503. data/textmate/Bundles/Ruby.tmbundle/Snippets/extend_Forwardable____Forw__.plist +16 -0
  504. data/textmate/Bundles/Ruby.tmbundle/Snippets/fetch__name________key____________fet__.plist +16 -0
  505. data/textmate/Bundles/Ruby.tmbundle/Snippets/fill__range________i____________fil__.plist +16 -0
  506. data/textmate/Bundles/Ruby.tmbundle/Snippets/find______e____________fin__.plist +16 -0
  507. data/textmate/Bundles/Ruby.tmbundle/Snippets/find_all______e____________fina__.plist +16 -0
  508. data/textmate/Bundles/Ruby.tmbundle/Snippets/flatten_once____fla__.plist +16 -0
  509. data/textmate/Bundles/Ruby.tmbundle/Snippets/flunk__________fl__.plist +16 -0
  510. data/textmate/Bundles/Ruby.tmbundle/Snippets/grep____pattern__________match____________gre__.plist +16 -0
  511. data/textmate/Bundles/Ruby.tmbundle/Snippets/gsub________________match____________gsu__.plist +16 -0
  512. data/textmate/Bundles/Ruby.tmbundle/Snippets/hash_pair_______.plist +16 -0
  513. data/textmate/Bundles/Ruby.tmbundle/Snippets/hash_pointer.plist +16 -0
  514. data/textmate/Bundles/Ruby.tmbundle/Snippets/include_Comparable_______Comp__.plist +20 -0
  515. data/textmate/Bundles/Ruby.tmbundle/Snippets/include_Enumerable_______Enum__.plist +20 -0
  516. data/textmate/Bundles/Ruby.tmbundle/Snippets/inject__init________mem___var____________inj__.plist +16 -0
  517. data/textmate/Bundles/Ruby.tmbundle/Snippets/lambda______args____________lam__.plist +16 -0
  518. data/textmate/Bundles/Ruby.tmbundle/Snippets/loop_________.tmSnippet +16 -0
  519. data/textmate/Bundles/Ruby.tmbundle/Snippets/map______e____________map__.plist +16 -0
  520. data/textmate/Bundles/Ruby.tmbundle/Snippets/map_with_index______e___i____________mapwi__.plist +16 -0
  521. data/textmate/Bundles/Ruby.tmbundle/Snippets/max______a___b____________max__.plist +16 -0
  522. data/textmate/Bundles/Ruby.tmbundle/Snippets/min______a___b____________min__.plist +16 -0
  523. data/textmate/Bundles/Ruby.tmbundle/Snippets/module____ClassMethods____end.plist +29 -0
  524. data/textmate/Bundles/Ruby.tmbundle/Snippets/module____end.plist +18 -0
  525. data/textmate/Bundles/Ruby.tmbundle/Snippets/module____module_function____end.plist +20 -0
  526. data/textmate/Bundles/Ruby.tmbundle/Snippets/namespace______do____end.tmSnippet +18 -0
  527. data/textmate/Bundles/Ruby.tmbundle/Snippets/open____path__or__url_______w_____do___doc______end___ope__.plist +16 -0
  528. data/textmate/Bundles/Ruby.tmbundle/Snippets/open_yield_block_______.plist +16 -0
  529. data/textmate/Bundles/Ruby.tmbundle/Snippets/option_parse_____________optp__.plist +43 -0
  530. data/textmate/Bundles/Ruby.tmbundle/Snippets/partition______e____________par__.plist +16 -0
  531. data/textmate/Bundles/Ruby.tmbundle/Snippets/path_from_here________.tmSnippet +16 -0
  532. data/textmate/Bundles/Ruby.tmbundle/Snippets/randomize____ran__.plist +16 -0
  533. data/textmate/Bundles/Ruby.tmbundle/Snippets/reject______e____________rej__.plist +16 -0
  534. data/textmate/Bundles/Ruby.tmbundle/Snippets/require___________req__.plist +16 -0
  535. data/textmate/Bundles/Ruby.tmbundle/Snippets/require___tc____________ts__.plist +20 -0
  536. data/textmate/Bundles/Ruby.tmbundle/Snippets/require_gem_______.tmSnippet +16 -0
  537. data/textmate/Bundles/Ruby.tmbundle/Snippets/results_report_______________.tmSnippet +16 -0
  538. data/textmate/Bundles/Ruby.tmbundle/Snippets/reverse_each______e____________rea__.plist +16 -0
  539. data/textmate/Bundles/Ruby.tmbundle/Snippets/scan________________match____________sca__.plist +16 -0
  540. data/textmate/Bundles/Ruby.tmbundle/Snippets/select______e____________sel__.plist +16 -0
  541. data/textmate/Bundles/Ruby.tmbundle/Snippets/singleton_class____.tmSnippet +16 -0
  542. data/textmate/Bundles/Ruby.tmbundle/Snippets/sort______a___b____________sor__.plist +16 -0
  543. data/textmate/Bundles/Ruby.tmbundle/Snippets/sort_by______e____________sorb__.plist +16 -0
  544. data/textmate/Bundles/Ruby.tmbundle/Snippets/step__2________e____________ste__.plist +16 -0
  545. data/textmate/Bundles/Ruby.tmbundle/Snippets/sub________________match____________sub__.plist +16 -0
  546. data/textmate/Bundles/Ruby.tmbundle/Snippets/task___task_name__________dependent_____tasks___do____end.tmSnippet +19 -0
  547. data/textmate/Bundles/Ruby.tmbundle/Snippets/times______n____________tim__.plist +16 -0
  548. data/textmate/Bundles/Ruby.tmbundle/Snippets/transaction_________do____end.tmSnippet +16 -0
  549. data/textmate/Bundles/Ruby.tmbundle/Snippets/unix_filter______uni__.plist +18 -0
  550. data/textmate/Bundles/Ruby.tmbundle/Snippets/unless___unless__.plist +18 -0
  551. data/textmate/Bundles/Ruby.tmbundle/Snippets/until_____end.tmSnippet +18 -0
  552. data/textmate/Bundles/Ruby.tmbundle/Snippets/untitled.plist +19 -0
  553. data/textmate/Bundles/Ruby.tmbundle/Snippets/upto__1_0__0_0________n____________upt__.plist +16 -0
  554. data/textmate/Bundles/Ruby.tmbundle/Snippets/usage_if________usai__.plist +18 -0
  555. data/textmate/Bundles/Ruby.tmbundle/Snippets/usage_unless________usau__.plist +18 -0
  556. data/textmate/Bundles/Ruby.tmbundle/Snippets/when.plist +17 -0
  557. data/textmate/Bundles/Ruby.tmbundle/Snippets/while_____end.tmSnippet +18 -0
  558. data/textmate/Bundles/Ruby.tmbundle/Snippets/xmlread______.tmSnippet +16 -0
  559. data/textmate/Bundles/Ruby.tmbundle/Snippets/xpath_______________.tmSnippet +18 -0
  560. data/textmate/Bundles/Ruby.tmbundle/Snippets/zip__enums________row____________zip__.plist +16 -0
  561. data/textmate/Bundles/Ruby.tmbundle/Syntaxes/Ruby.plist +2763 -0
  562. data/textmate/Bundles/Source.tmbundle/Snippets/Continue_line_comment.plist +35 -0
  563. data/textmate/Bundles/Source.tmbundle/Snippets/Escaped_Quote_Pair_____________.plist +14 -0
  564. data/textmate/Bundles/Source.tmbundle/Snippets/Escaped_Single_Quote_Pair_____________.plist +14 -0
  565. data/textmate/Bundles/Source.tmbundle/Snippets/Frame_text.plist +16 -0
  566. data/textmate/Bundles/Source.tmbundle/Snippets/__n.plist +16 -0
  567. data/textmate/Bundles/Text.tmbundle/Snippets/010_Copyright.plist +14 -0
  568. data/textmate/Bundles/Text.tmbundle/Snippets/Conitnue_bullet.plist +17 -0
  569. data/textmate/Bundles/Text.tmbundle/Snippets/Conitnue_light_bullet.plist +17 -0
  570. data/textmate/Bundles/Text.tmbundle/Snippets/Conitnue_star_bullet.plist +17 -0
  571. data/textmate/Bundles/Text.tmbundle/Snippets/Insert_ISO_date.plist +14 -0
  572. data/textmate/Bundles/Text.tmbundle/Snippets/Lorem_ipsum.plist +14 -0
  573. data/textmate/Bundles/Text.tmbundle/Syntaxes/Plain_text.plist +83 -0
  574. data/textmate/Bundles/Text.tmbundle/Templates/Empty file/info.plist +14 -0
  575. data/textmate/Bundles/Text.tmbundle/Templates/From Clipboard/info.plist +17 -0
  576. data/textmate/Themes/Active4D.tmTheme +407 -0
  577. data/textmate/Themes/All Hallow's Eve.tmTheme +277 -0
  578. data/textmate/Themes/Amy.tmTheme +557 -0
  579. data/textmate/Themes/Blackboard.tmTheme +350 -0
  580. data/textmate/Themes/Brilliance Black.tmTheme +2619 -0
  581. data/textmate/Themes/Brilliance Dull.tmTheme +2243 -0
  582. data/textmate/Themes/Cobalt.tmTheme +559 -0
  583. data/textmate/Themes/Dawn.tmTheme +437 -0
  584. data/textmate/Themes/Eiffel.tmTheme +439 -0
  585. data/textmate/Themes/Espresso Libre.tmTheme +402 -0
  586. data/textmate/Themes/IDLE.tmTheme +235 -0
  587. data/textmate/Themes/LAZY.tmTheme +291 -0
  588. data/textmate/Themes/Mac Classic.tmTheme +450 -0
  589. data/textmate/Themes/MagicWB (Amiga).tmTheme +376 -0
  590. data/textmate/Themes/Pastels on Dark.tmTheme +701 -0
  591. data/textmate/Themes/Railscasts.tmTheme +278 -0
  592. data/textmate/Themes/Slush & Poppies.tmTheme +336 -0
  593. data/textmate/Themes/SpaceCadet.tmTheme +212 -0
  594. data/textmate/Themes/Sunburst.tmTheme +665 -0
  595. data/textmate/Themes/Twilight.tmTheme +514 -0
  596. data/textmate/Themes/Vibrant Ink.tmTheme +447 -0
  597. data/textmate/Themes/Zenburnesque.tmTheme +343 -0
  598. data/textmate/Themes/choco.tmTheme +542 -0
  599. data/textmate/Themes/iPlastic.tmTheme +286 -0
  600. metadata +673 -0
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>transaction${1/(^.*?\S.*)|.*/(?1:\()/}${1:true}${1/(^.*?\S.*)|.*/(?1:\))/} { $0 }</string>
7
+ <key>name</key>
8
+ <string>transaction( .. ) { .. }</string>
9
+ <key>scope</key>
10
+ <string>source.ruby</string>
11
+ <key>tabTrigger</key>
12
+ <string>tra</string>
13
+ <key>uuid</key>
14
+ <string>46BF99AD-E172-4D49-BCF7-072F4730E1D9</string>
15
+ </dict>
16
+ </plist>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>ARGF.each_line$1 do |${2:line}|
7
+ $0
8
+ end</string>
9
+ <key>name</key>
10
+ <string>unix_filter { .. }</string>
11
+ <key>scope</key>
12
+ <string>source.ruby</string>
13
+ <key>tabTrigger</key>
14
+ <string>unif</string>
15
+ <key>uuid</key>
16
+ <string>8CEF9711-88D5-4202-AFB9-29EF4EFD25C1</string>
17
+ </dict>
18
+ </plist>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>unless ${1:condition}
7
+ $0
8
+ end</string>
9
+ <key>name</key>
10
+ <string>unless … end</string>
11
+ <key>scope</key>
12
+ <string>source.ruby</string>
13
+ <key>tabTrigger</key>
14
+ <string>unless</string>
15
+ <key>uuid</key>
16
+ <string>F53E098D-D08E-4CE2-990A-B0BD70E60614</string>
17
+ </dict>
18
+ </plist>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>until ${1:condition}
7
+ $0
8
+ end</string>
9
+ <key>name</key>
10
+ <string>until ... end</string>
11
+ <key>scope</key>
12
+ <string>source.ruby</string>
13
+ <key>tabTrigger</key>
14
+ <string>until</string>
15
+ <key>uuid</key>
16
+ <string>488B387C-50C0-4B2D-9260-5A7E7EAF9B42</string>
17
+ </dict>
18
+ </plist>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>opts.on( "-${1:o}", "--${2:long-option-name}"${3/^\s*$|(.*\S.*)/(?1:, )/}${3:String},
7
+ "${4:Option description.}" ) do |${6:opt}|
8
+ $0
9
+ end</string>
10
+ <key>name</key>
11
+ <string>option(..)</string>
12
+ <key>scope</key>
13
+ <string>source.ruby</string>
14
+ <key>tabTrigger</key>
15
+ <string>opt</string>
16
+ <key>uuid</key>
17
+ <string>209D5D73-7A77-4931-A158-3FB6D5B48A88</string>
18
+ </dict>
19
+ </plist>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>upto(${1:1.0/0.0}) { ${2/(^(?&lt;var&gt;\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g&lt;var&gt;)*,?\s*$)|.*/(?1:|)/}${2:n}${2/(^(?&lt;var&gt;\s*(?:\*|\*?[a-z_])[a-zA-Z0-9_]*\s*)(,\g&lt;var&gt;)*,?\s*$)|.*/(?1:| )/}$0 }</string>
7
+ <key>name</key>
8
+ <string>upto(1.0/0.0) { |n| .. }</string>
9
+ <key>scope</key>
10
+ <string>source.ruby</string>
11
+ <key>tabTrigger</key>
12
+ <string>upt</string>
13
+ <key>uuid</key>
14
+ <string>51954118-81D7-42B6-9A10-BE23D8B9FFE2</string>
15
+ </dict>
16
+ </plist>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>if ARGV.$1
7
+ abort "Usage: #{\$PROGRAM_NAME} ${2:ARGS_GO_HERE}"
8
+ end</string>
9
+ <key>name</key>
10
+ <string>usage_if()</string>
11
+ <key>scope</key>
12
+ <string>source.ruby</string>
13
+ <key>tabTrigger</key>
14
+ <string>usai</string>
15
+ <key>uuid</key>
16
+ <string>21C0D711-F32A-4665-AA0D-B136F9DD3945</string>
17
+ </dict>
18
+ </plist>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>unless ARGV.$1
7
+ abort "Usage: #{\$PROGRAM_NAME} ${2:ARGS_GO_HERE}"
8
+ end</string>
9
+ <key>name</key>
10
+ <string>usage_unless()</string>
11
+ <key>scope</key>
12
+ <string>source.ruby</string>
13
+ <key>tabTrigger</key>
14
+ <string>usau</string>
15
+ <key>uuid</key>
16
+ <string>49D69DEC-6991-49F4-8D9B-BA60BFDD3D17</string>
17
+ </dict>
18
+ </plist>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>when ${1:condition}
7
+ $0</string>
8
+ <key>name</key>
9
+ <string>when …</string>
10
+ <key>scope</key>
11
+ <string>source.ruby</string>
12
+ <key>tabTrigger</key>
13
+ <string>when</string>
14
+ <key>uuid</key>
15
+ <string>48D8E498-C9A5-4B1B-9A18-71A5860276FB</string>
16
+ </dict>
17
+ </plist>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>while ${1:condition}
7
+ $0
8
+ end</string>
9
+ <key>name</key>
10
+ <string>while ... end</string>
11
+ <key>scope</key>
12
+ <string>source.ruby</string>
13
+ <key>tabTrigger</key>
14
+ <string>while</string>
15
+ <key>uuid</key>
16
+ <string>D121FC61-96A4-4B8F-8709-280EDA876FF3</string>
17
+ </dict>
18
+ </plist>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>REXML::Document.new(File.read(${1:"${2:path/to/file}"}))</string>
7
+ <key>name</key>
8
+ <string>xmlread(..)</string>
9
+ <key>scope</key>
10
+ <string>source.ruby</string>
11
+ <key>tabTrigger</key>
12
+ <string>xml-</string>
13
+ <key>uuid</key>
14
+ <string>B904D4AA-D15D-48A4-8EB2-563BAF489332</string>
15
+ </dict>
16
+ </plist>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>elements.each(${1:"${2://XPath}"}) do |${3:node}|
7
+ $0
8
+ end</string>
9
+ <key>name</key>
10
+ <string>xpath(..) { .. }</string>
11
+ <key>scope</key>
12
+ <string>source.ruby</string>
13
+ <key>tabTrigger</key>
14
+ <string>xpa</string>
15
+ <key>uuid</key>
16
+ <string>CC300D44-6C3F-4F6C-A8AB-86F5A2DC57CF</string>
17
+ </dict>
18
+ </plist>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>content</key>
6
+ <string>zip(${1:enums}) { |${2:row}| $0 }</string>
7
+ <key>name</key>
8
+ <string>zip(enums) { |row| .. }</string>
9
+ <key>scope</key>
10
+ <string>source.ruby</string>
11
+ <key>tabTrigger</key>
12
+ <string>zip</string>
13
+ <key>uuid</key>
14
+ <string>FD010022-E0E7-44DB-827F-33F7D9310DA2</string>
15
+ </dict>
16
+ </plist>
@@ -0,0 +1,2763 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>comment</key>
6
+ <string>
7
+ TODO: unresolved issues
8
+
9
+ text:
10
+ "p &lt;&lt; end
11
+ print me!
12
+ end"
13
+ symptoms:
14
+ not recognized as a heredoc
15
+ solution:
16
+ there is no way to distinguish perfectly between the &lt;&lt; operator and the start
17
+ of a heredoc. Currently, we require assignment to recognize a heredoc. More
18
+ refinement is possible.
19
+ • Heredocs with indented terminators (&lt;&lt;-) are always distinguishable, however.
20
+ • Nested heredocs are not really supportable at present
21
+
22
+ text:
23
+ print &lt;&lt;-'THERE'
24
+ This is single quoted.
25
+ The above used #{Time.now}
26
+ THERE
27
+ symtoms:
28
+ From Programming Ruby p306; should be a non-interpolated heredoc.
29
+
30
+ text:
31
+ "a\332a"
32
+ symptoms:
33
+ '\332' is not recognized as slash3.. which should be octal 332.
34
+ solution:
35
+ plain regexp.. should be easy.
36
+
37
+ text:
38
+ val?(a):p(b)
39
+ val?'a':'b'
40
+ symptoms:
41
+ ':p' is recognized as a symbol.. its 2 things ':' and 'p'.
42
+ :'b' has same problem.
43
+ solution:
44
+ ternary operator rule, precedence stuff, symbol rule.
45
+ but also consider 'a.b?(:c)' ??
46
+ </string>
47
+ <key>fileTypes</key>
48
+ <array>
49
+ <string>rb</string>
50
+ <string>rbx</string>
51
+ <string>rjs</string>
52
+ <string>Rakefile</string>
53
+ <string>rake</string>
54
+ <string>cgi</string>
55
+ <string>fcgi</string>
56
+ <string>gemspec</string>
57
+ <string>irbrc</string>
58
+ <string>capfile</string>
59
+ </array>
60
+ <key>firstLineMatch</key>
61
+ <string>^#!/.*\bruby\b</string>
62
+ <key>foldingStartMarker</key>
63
+ <string>(?x)^
64
+ (\s*+
65
+ (module|class|def(?!.*\bend\s*$)
66
+ |unless|if
67
+ |case
68
+ |begin
69
+ |for|while|until
70
+ |^=begin
71
+ |( "(\\.|[^"])*+" # eat a double quoted string
72
+ | '(\\.|[^'])*+' # eat a single quoted string
73
+ | [^#"'] # eat all but comments and strings
74
+ )*
75
+ ( \s (do|begin|case)
76
+ | (?&lt;!\$)[-+=&amp;|*/~%^&lt;&gt;~] \s*+ (if|unless)
77
+ )
78
+ )\b
79
+ (?! [^;]*+ ; .*? \bend\b )
80
+ |( "(\\.|[^"])*+" # eat a double quoted string
81
+ | '(\\.|[^'])*+' # eat a single quoted string
82
+ | [^#"'] # eat all but comments and strings
83
+ )*
84
+ ( \{ (?! [^}]*+ \} )
85
+ | \[ (?! [^\]]*+ \] )
86
+ )
87
+ ).*$
88
+ | [#] .*? \(fold\) \s*+ $ # Sune’s special marker
89
+ </string>
90
+ <key>foldingStopMarker</key>
91
+ <string>(?x)
92
+ ( (^|;) \s*+ end \s*+ ([#].*)? $
93
+ | (^|;) \s*+ end \. .* $
94
+ | ^ \s*+ [}\]] ,? \s*+ ([#].*)? $
95
+ | [#] .*? \(end\) \s*+ $ # Sune’s special marker
96
+ | ^=end
97
+ )</string>
98
+ <key>keyEquivalent</key>
99
+ <string>^~R</string>
100
+ <key>name</key>
101
+ <string>Ruby</string>
102
+ <key>patterns</key>
103
+ <array>
104
+ <dict>
105
+ <key>captures</key>
106
+ <dict>
107
+ <key>1</key>
108
+ <dict>
109
+ <key>name</key>
110
+ <string>keyword.control.class.ruby</string>
111
+ </dict>
112
+ <key>2</key>
113
+ <dict>
114
+ <key>name</key>
115
+ <string>entity.name.type.class.ruby</string>
116
+ </dict>
117
+ <key>4</key>
118
+ <dict>
119
+ <key>name</key>
120
+ <string>entity.other.inherited-class.ruby</string>
121
+ </dict>
122
+ <key>5</key>
123
+ <dict>
124
+ <key>name</key>
125
+ <string>punctuation.separator.inheritance.ruby</string>
126
+ </dict>
127
+ <key>6</key>
128
+ <dict>
129
+ <key>name</key>
130
+ <string>variable.other.object.ruby</string>
131
+ </dict>
132
+ <key>7</key>
133
+ <dict>
134
+ <key>name</key>
135
+ <string>punctuation.definition.variable.ruby</string>
136
+ </dict>
137
+ </dict>
138
+ <key>match</key>
139
+ <string>^\s*(class)\s+(([.a-zA-Z0-9_:]+(\s*(&lt;)\s*[.a-zA-Z0-9_:]+)?)|((&lt;&lt;)\s*[.a-zA-Z0-9_:]+))</string>
140
+ <key>name</key>
141
+ <string>meta.class.ruby</string>
142
+ </dict>
143
+ <dict>
144
+ <key>captures</key>
145
+ <dict>
146
+ <key>1</key>
147
+ <dict>
148
+ <key>name</key>
149
+ <string>keyword.control.module.ruby</string>
150
+ </dict>
151
+ <key>2</key>
152
+ <dict>
153
+ <key>name</key>
154
+ <string>entity.name.type.module.ruby</string>
155
+ </dict>
156
+ <key>3</key>
157
+ <dict>
158
+ <key>name</key>
159
+ <string>entity.other.inherited-class.module.first.ruby</string>
160
+ </dict>
161
+ <key>4</key>
162
+ <dict>
163
+ <key>name</key>
164
+ <string>punctuation.separator.inheritance.ruby</string>
165
+ </dict>
166
+ <key>5</key>
167
+ <dict>
168
+ <key>name</key>
169
+ <string>entity.other.inherited-class.module.second.ruby</string>
170
+ </dict>
171
+ <key>6</key>
172
+ <dict>
173
+ <key>name</key>
174
+ <string>punctuation.separator.inheritance.ruby</string>
175
+ </dict>
176
+ <key>7</key>
177
+ <dict>
178
+ <key>name</key>
179
+ <string>entity.other.inherited-class.module.third.ruby</string>
180
+ </dict>
181
+ <key>8</key>
182
+ <dict>
183
+ <key>name</key>
184
+ <string>punctuation.separator.inheritance.ruby</string>
185
+ </dict>
186
+ </dict>
187
+ <key>match</key>
188
+ <string>^\s*(module)\s+(([A-Z]\w*(::))?([A-Z]\w*(::))?([A-Z]\w*(::))*[A-Z]\w*)</string>
189
+ <key>name</key>
190
+ <string>meta.module.ruby</string>
191
+ </dict>
192
+ <dict>
193
+ <key>comment</key>
194
+ <string>else if is a common mistake carried over from other languages. it works if you put in a second end, but it’s never what you want.</string>
195
+ <key>match</key>
196
+ <string>(?&lt;!\.)\belse(\s)+if\b</string>
197
+ <key>name</key>
198
+ <string>invalid.deprecated.ruby</string>
199
+ </dict>
200
+ <dict>
201
+ <key>comment</key>
202
+ <string>everything being a reserved word, not a value and needing a 'end' is a..</string>
203
+ <key>match</key>
204
+ <string>(?&lt;!\.)\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\b(?![?!])</string>
205
+ <key>name</key>
206
+ <string>keyword.control.ruby</string>
207
+ </dict>
208
+ <dict>
209
+ <key>comment</key>
210
+ <string>contextual smart pair support for block parameters</string>
211
+ <key>match</key>
212
+ <string>(?&lt;!\.)\bdo\b\s*</string>
213
+ <key>name</key>
214
+ <string>keyword.control.start-block.ruby</string>
215
+ </dict>
216
+ <dict>
217
+ <key>comment</key>
218
+ <string>contextual smart pair support</string>
219
+ <key>match</key>
220
+ <string>(?&lt;=\{)(\s+)</string>
221
+ <key>name</key>
222
+ <string>meta.syntax.ruby.start-block</string>
223
+ </dict>
224
+ <dict>
225
+ <key>comment</key>
226
+ <string> as above, just doesn't need a 'end' and does a logic operation</string>
227
+ <key>match</key>
228
+ <string>(?&lt;!\.)\b(and|not|or)\b</string>
229
+ <key>name</key>
230
+ <string>keyword.operator.logical.ruby</string>
231
+ </dict>
232
+ <dict>
233
+ <key>comment</key>
234
+ <string> just as above but being not a logical operation</string>
235
+ <key>match</key>
236
+ <string>(?&lt;!\.)\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\b(?![?!])|\bdefined\?|\bblock_given\?</string>
237
+ <key>name</key>
238
+ <string>keyword.control.pseudo-method.ruby</string>
239
+ </dict>
240
+ <dict>
241
+ <key>match</key>
242
+ <string>\b(nil|true|false)\b(?![?!])</string>
243
+ <key>name</key>
244
+ <string>constant.language.ruby</string>
245
+ </dict>
246
+ <dict>
247
+ <key>match</key>
248
+ <string>\b(__(FILE|LINE)__|self)\b(?![?!])</string>
249
+ <key>name</key>
250
+ <string>variable.language.ruby</string>
251
+ </dict>
252
+ <dict>
253
+ <key>comment</key>
254
+ <string> everything being a method but having a special function is a..</string>
255
+ <key>match</key>
256
+ <string>\b(initialize|new|loop|include|extend|raise|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|module_function|public|protected)\b(?![?!])</string>
257
+ <key>name</key>
258
+ <string>keyword.other.special-method.ruby</string>
259
+ </dict>
260
+ <dict>
261
+ <key>begin</key>
262
+ <string>\b(require|gem)\b</string>
263
+ <key>captures</key>
264
+ <dict>
265
+ <key>1</key>
266
+ <dict>
267
+ <key>name</key>
268
+ <string>keyword.other.special-method.ruby</string>
269
+ </dict>
270
+ </dict>
271
+ <key>end</key>
272
+ <string>$|(?=#)</string>
273
+ <key>name</key>
274
+ <string>meta.require.ruby</string>
275
+ <key>patterns</key>
276
+ <array>
277
+ <dict>
278
+ <key>include</key>
279
+ <string>$self</string>
280
+ </dict>
281
+ </array>
282
+ </dict>
283
+ <dict>
284
+ <key>captures</key>
285
+ <dict>
286
+ <key>1</key>
287
+ <dict>
288
+ <key>name</key>
289
+ <string>punctuation.definition.variable.ruby</string>
290
+ </dict>
291
+ </dict>
292
+ <key>match</key>
293
+ <string>(@)[a-zA-Z_]\w*</string>
294
+ <key>name</key>
295
+ <string>variable.other.readwrite.instance.ruby</string>
296
+ </dict>
297
+ <dict>
298
+ <key>captures</key>
299
+ <dict>
300
+ <key>1</key>
301
+ <dict>
302
+ <key>name</key>
303
+ <string>punctuation.definition.variable.ruby</string>
304
+ </dict>
305
+ </dict>
306
+ <key>match</key>
307
+ <string>(@@)[a-zA-Z_]\w*</string>
308
+ <key>name</key>
309
+ <string>variable.other.readwrite.class.ruby</string>
310
+ </dict>
311
+ <dict>
312
+ <key>captures</key>
313
+ <dict>
314
+ <key>1</key>
315
+ <dict>
316
+ <key>name</key>
317
+ <string>punctuation.definition.variable.ruby</string>
318
+ </dict>
319
+ </dict>
320
+ <key>match</key>
321
+ <string>(\$)[a-zA-Z_]\w*</string>
322
+ <key>name</key>
323
+ <string>variable.other.readwrite.global.ruby</string>
324
+ </dict>
325
+ <dict>
326
+ <key>captures</key>
327
+ <dict>
328
+ <key>1</key>
329
+ <dict>
330
+ <key>name</key>
331
+ <string>punctuation.definition.variable.ruby</string>
332
+ </dict>
333
+ </dict>
334
+ <key>match</key>
335
+ <string>(\$)(!|@|&amp;|`|'|\+|\d+|~|=|/|\\|,|;|\.|&lt;|&gt;|_|\*|\$|\?|:|"|-[0adFiIlpv])</string>
336
+ <key>name</key>
337
+ <string>variable.other.readwrite.global.pre-defined.ruby</string>
338
+ </dict>
339
+ <dict>
340
+ <key>begin</key>
341
+ <string>\b(ENV)\[</string>
342
+ <key>beginCaptures</key>
343
+ <dict>
344
+ <key>1</key>
345
+ <dict>
346
+ <key>name</key>
347
+ <string>variable.other.constant.ruby</string>
348
+ </dict>
349
+ </dict>
350
+ <key>end</key>
351
+ <string>\]</string>
352
+ <key>name</key>
353
+ <string>meta.environment-variable.ruby</string>
354
+ <key>patterns</key>
355
+ <array>
356
+ <dict>
357
+ <key>include</key>
358
+ <string>$self</string>
359
+ </dict>
360
+ </array>
361
+ </dict>
362
+ <dict>
363
+ <key>match</key>
364
+ <string>\b[A-Z]\w*(?=((\.|::)[A-Za-z]|\[))</string>
365
+ <key>name</key>
366
+ <string>support.class.ruby</string>
367
+ </dict>
368
+ <dict>
369
+ <key>match</key>
370
+ <string>\b[A-Z]\w*\b</string>
371
+ <key>name</key>
372
+ <string>variable.other.constant.ruby</string>
373
+ </dict>
374
+ <dict>
375
+ <key>begin</key>
376
+ <string>(?x)
377
+ (?=def\b) # an optimization to help Oniguruma fail fast
378
+ (?&lt;=^|\s)(def)\s+ # the def keyword
379
+ ( (?&gt;[a-zA-Z_]\w*(?&gt;\.|::))? # a method name prefix
380
+ (?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?!&gt;))? # the method name
381
+ |===?|&gt;[&gt;=]?|&lt;=&gt;|&lt;[&lt;=]?|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
382
+ \s*(\() # the openning parenthesis for arguments
383
+ </string>
384
+ <key>beginCaptures</key>
385
+ <dict>
386
+ <key>1</key>
387
+ <dict>
388
+ <key>name</key>
389
+ <string>keyword.control.def.ruby</string>
390
+ </dict>
391
+ <key>2</key>
392
+ <dict>
393
+ <key>name</key>
394
+ <string>entity.name.function.ruby</string>
395
+ </dict>
396
+ <key>3</key>
397
+ <dict>
398
+ <key>name</key>
399
+ <string>punctuation.definition.parameters.ruby</string>
400
+ </dict>
401
+ </dict>
402
+ <key>comment</key>
403
+ <string>the method pattern comes from the symbol pattern, see there for a explaination</string>
404
+ <key>contentName</key>
405
+ <string>variable.parameter.function.ruby</string>
406
+ <key>end</key>
407
+ <string>\)</string>
408
+ <key>endCaptures</key>
409
+ <dict>
410
+ <key>0</key>
411
+ <dict>
412
+ <key>name</key>
413
+ <string>punctuation.definition.parameters.ruby</string>
414
+ </dict>
415
+ </dict>
416
+ <key>name</key>
417
+ <string>meta.function.method.with-arguments.ruby</string>
418
+ <key>patterns</key>
419
+ <array>
420
+ <dict>
421
+ <key>include</key>
422
+ <string>$self</string>
423
+ </dict>
424
+ </array>
425
+ </dict>
426
+ <dict>
427
+ <key>begin</key>
428
+ <string>(?x)
429
+ (?=def\b) # an optimization to help Oniguruma fail fast
430
+ (?&lt;=^|\s)(def)\s+ # the def keyword
431
+ ( (?&gt;[a-zA-Z_]\w*(?&gt;\.|::))? # a method name prefix
432
+ (?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?!&gt;))? # the method name
433
+ |===?|&gt;[&gt;=]?|&lt;=&gt;|&lt;[&lt;=]?|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
434
+ [ \t] # the space separating the arguments
435
+ (?=[ \t]*[^\s#]) # make sure arguments and not a comment follow
436
+ </string>
437
+ <key>beginCaptures</key>
438
+ <dict>
439
+ <key>1</key>
440
+ <dict>
441
+ <key>name</key>
442
+ <string>keyword.control.def.ruby</string>
443
+ </dict>
444
+ <key>2</key>
445
+ <dict>
446
+ <key>name</key>
447
+ <string>entity.name.function.ruby</string>
448
+ </dict>
449
+ </dict>
450
+ <key>comment</key>
451
+ <string>same as the previous rule, but without parentheses around the arguments</string>
452
+ <key>contentName</key>
453
+ <string>variable.parameter.function.ruby</string>
454
+ <key>end</key>
455
+ <string>$</string>
456
+ <key>name</key>
457
+ <string>meta.function.method.with-arguments.ruby</string>
458
+ <key>patterns</key>
459
+ <array>
460
+ <dict>
461
+ <key>include</key>
462
+ <string>$self</string>
463
+ </dict>
464
+ </array>
465
+ </dict>
466
+ <dict>
467
+ <key>captures</key>
468
+ <dict>
469
+ <key>1</key>
470
+ <dict>
471
+ <key>name</key>
472
+ <string>keyword.control.def.ruby</string>
473
+ </dict>
474
+ <key>3</key>
475
+ <dict>
476
+ <key>name</key>
477
+ <string>entity.name.function.ruby</string>
478
+ </dict>
479
+ </dict>
480
+ <key>comment</key>
481
+ <string> the optional name is just to catch the def also without a method-name</string>
482
+ <key>match</key>
483
+ <string>(?x)
484
+ (?=def\b) # an optimization to help Oniguruma fail fast
485
+ (?&lt;=^|\s)(def)\b # the def keyword
486
+ ( \s+ # an optional group of whitespace followed by…
487
+ ( (?&gt;[a-zA-Z_]\w*(?&gt;\.|::))? # a method name prefix
488
+ (?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?!&gt;))? # the method name
489
+ |===?|&gt;[&gt;=]?|&lt;=&gt;|&lt;[&lt;=]?|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) )? # …or an operator method
490
+ </string>
491
+ <key>name</key>
492
+ <string>meta.function.method.without-arguments.ruby</string>
493
+ </dict>
494
+ <dict>
495
+ <key>match</key>
496
+ <string>\b(0[xX]\h(?&gt;_?\h)*|\d(?&gt;_?\d)*(\.(?![^[:space:][:digit:]])(?&gt;_?\d)*)?([eE][-+]?\d(?&gt;_?\d)*)?|0[bB][01]+)\b</string>
497
+ <key>name</key>
498
+ <string>constant.numeric.ruby</string>
499
+ </dict>
500
+ <dict>
501
+ <key>begin</key>
502
+ <string>:'</string>
503
+ <key>captures</key>
504
+ <dict>
505
+ <key>0</key>
506
+ <dict>
507
+ <key>name</key>
508
+ <string>punctuation.definition.constant.ruby</string>
509
+ </dict>
510
+ </dict>
511
+ <key>end</key>
512
+ <string>'</string>
513
+ <key>name</key>
514
+ <string>constant.other.symbol.single-quoted.ruby</string>
515
+ <key>patterns</key>
516
+ <array>
517
+ <dict>
518
+ <key>match</key>
519
+ <string>\\['\\]</string>
520
+ <key>name</key>
521
+ <string>constant.character.escape.ruby</string>
522
+ </dict>
523
+ </array>
524
+ </dict>
525
+ <dict>
526
+ <key>begin</key>
527
+ <string>:"</string>
528
+ <key>captures</key>
529
+ <dict>
530
+ <key>0</key>
531
+ <dict>
532
+ <key>name</key>
533
+ <string>punctuation.definition.constant.ruby</string>
534
+ </dict>
535
+ </dict>
536
+ <key>end</key>
537
+ <string>"</string>
538
+ <key>name</key>
539
+ <string>constant.other.symbol.double-quoted.ruby</string>
540
+ <key>patterns</key>
541
+ <array>
542
+ <dict>
543
+ <key>include</key>
544
+ <string>#interpolated_ruby</string>
545
+ </dict>
546
+ <dict>
547
+ <key>include</key>
548
+ <string>#escaped_char</string>
549
+ </dict>
550
+ </array>
551
+ </dict>
552
+ <dict>
553
+ <key>begin</key>
554
+ <string>'</string>
555
+ <key>beginCaptures</key>
556
+ <dict>
557
+ <key>0</key>
558
+ <dict>
559
+ <key>name</key>
560
+ <string>punctuation.definition.string.begin.ruby</string>
561
+ </dict>
562
+ </dict>
563
+ <key>comment</key>
564
+ <string>single quoted string (does not allow interpolation)</string>
565
+ <key>end</key>
566
+ <string>'</string>
567
+ <key>endCaptures</key>
568
+ <dict>
569
+ <key>0</key>
570
+ <dict>
571
+ <key>name</key>
572
+ <string>punctuation.definition.string.end.ruby</string>
573
+ </dict>
574
+ </dict>
575
+ <key>name</key>
576
+ <string>string.quoted.single.ruby</string>
577
+ <key>patterns</key>
578
+ <array>
579
+ <dict>
580
+ <key>match</key>
581
+ <string>\\'|\\\\</string>
582
+ <key>name</key>
583
+ <string>constant.character.escape.ruby</string>
584
+ </dict>
585
+ </array>
586
+ </dict>
587
+ <dict>
588
+ <key>begin</key>
589
+ <string>"</string>
590
+ <key>beginCaptures</key>
591
+ <dict>
592
+ <key>0</key>
593
+ <dict>
594
+ <key>name</key>
595
+ <string>punctuation.definition.string.begin.ruby</string>
596
+ </dict>
597
+ </dict>
598
+ <key>comment</key>
599
+ <string>double quoted string (allows for interpolation)</string>
600
+ <key>end</key>
601
+ <string>"</string>
602
+ <key>endCaptures</key>
603
+ <dict>
604
+ <key>0</key>
605
+ <dict>
606
+ <key>name</key>
607
+ <string>punctuation.definition.string.end.ruby</string>
608
+ </dict>
609
+ </dict>
610
+ <key>name</key>
611
+ <string>string.quoted.double.ruby</string>
612
+ <key>patterns</key>
613
+ <array>
614
+ <dict>
615
+ <key>include</key>
616
+ <string>#interpolated_ruby</string>
617
+ </dict>
618
+ <dict>
619
+ <key>include</key>
620
+ <string>#escaped_char</string>
621
+ </dict>
622
+ </array>
623
+ </dict>
624
+ <dict>
625
+ <key>begin</key>
626
+ <string>`</string>
627
+ <key>beginCaptures</key>
628
+ <dict>
629
+ <key>0</key>
630
+ <dict>
631
+ <key>name</key>
632
+ <string>punctuation.definition.string.begin.ruby</string>
633
+ </dict>
634
+ </dict>
635
+ <key>comment</key>
636
+ <string>execute string (allows for interpolation)</string>
637
+ <key>end</key>
638
+ <string>`</string>
639
+ <key>endCaptures</key>
640
+ <dict>
641
+ <key>0</key>
642
+ <dict>
643
+ <key>name</key>
644
+ <string>punctuation.definition.string.end.ruby</string>
645
+ </dict>
646
+ </dict>
647
+ <key>name</key>
648
+ <string>string.interpolated.ruby</string>
649
+ <key>patterns</key>
650
+ <array>
651
+ <dict>
652
+ <key>include</key>
653
+ <string>#interpolated_ruby</string>
654
+ </dict>
655
+ <dict>
656
+ <key>include</key>
657
+ <string>#escaped_char</string>
658
+ </dict>
659
+ </array>
660
+ </dict>
661
+ <dict>
662
+ <key>begin</key>
663
+ <string>%x\{</string>
664
+ <key>beginCaptures</key>
665
+ <dict>
666
+ <key>0</key>
667
+ <dict>
668
+ <key>name</key>
669
+ <string>punctuation.definition.string.begin.ruby</string>
670
+ </dict>
671
+ </dict>
672
+ <key>comment</key>
673
+ <string>execute string (allow for interpolation)</string>
674
+ <key>end</key>
675
+ <string>\}</string>
676
+ <key>endCaptures</key>
677
+ <dict>
678
+ <key>0</key>
679
+ <dict>
680
+ <key>name</key>
681
+ <string>punctuation.definition.string.end.ruby</string>
682
+ </dict>
683
+ </dict>
684
+ <key>name</key>
685
+ <string>string.interpolated.ruby</string>
686
+ <key>patterns</key>
687
+ <array>
688
+ <dict>
689
+ <key>include</key>
690
+ <string>#interpolated_ruby</string>
691
+ </dict>
692
+ <dict>
693
+ <key>include</key>
694
+ <string>#escaped_char</string>
695
+ </dict>
696
+ <dict>
697
+ <key>include</key>
698
+ <string>#nest_curly_i</string>
699
+ </dict>
700
+ </array>
701
+ </dict>
702
+ <dict>
703
+ <key>begin</key>
704
+ <string>%x\[</string>
705
+ <key>beginCaptures</key>
706
+ <dict>
707
+ <key>0</key>
708
+ <dict>
709
+ <key>name</key>
710
+ <string>punctuation.definition.string.begin.ruby</string>
711
+ </dict>
712
+ </dict>
713
+ <key>comment</key>
714
+ <string>execute string (allow for interpolation)</string>
715
+ <key>end</key>
716
+ <string>\]</string>
717
+ <key>endCaptures</key>
718
+ <dict>
719
+ <key>0</key>
720
+ <dict>
721
+ <key>name</key>
722
+ <string>punctuation.definition.string.end.ruby</string>
723
+ </dict>
724
+ </dict>
725
+ <key>name</key>
726
+ <string>string.interpolated.ruby</string>
727
+ <key>patterns</key>
728
+ <array>
729
+ <dict>
730
+ <key>include</key>
731
+ <string>#interpolated_ruby</string>
732
+ </dict>
733
+ <dict>
734
+ <key>include</key>
735
+ <string>#escaped_char</string>
736
+ </dict>
737
+ <dict>
738
+ <key>include</key>
739
+ <string>#nest_brackets_i</string>
740
+ </dict>
741
+ </array>
742
+ </dict>
743
+ <dict>
744
+ <key>begin</key>
745
+ <string>%x\&lt;</string>
746
+ <key>beginCaptures</key>
747
+ <dict>
748
+ <key>0</key>
749
+ <dict>
750
+ <key>name</key>
751
+ <string>punctuation.definition.string.begin.ruby</string>
752
+ </dict>
753
+ </dict>
754
+ <key>comment</key>
755
+ <string>execute string (allow for interpolation)</string>
756
+ <key>end</key>
757
+ <string>\&gt;</string>
758
+ <key>endCaptures</key>
759
+ <dict>
760
+ <key>0</key>
761
+ <dict>
762
+ <key>name</key>
763
+ <string>punctuation.definition.string.end.ruby</string>
764
+ </dict>
765
+ </dict>
766
+ <key>name</key>
767
+ <string>string.interpolated.ruby</string>
768
+ <key>patterns</key>
769
+ <array>
770
+ <dict>
771
+ <key>include</key>
772
+ <string>#interpolated_ruby</string>
773
+ </dict>
774
+ <dict>
775
+ <key>include</key>
776
+ <string>#escaped_char</string>
777
+ </dict>
778
+ <dict>
779
+ <key>include</key>
780
+ <string>#nest_ltgt_i</string>
781
+ </dict>
782
+ </array>
783
+ </dict>
784
+ <dict>
785
+ <key>begin</key>
786
+ <string>%x\(</string>
787
+ <key>beginCaptures</key>
788
+ <dict>
789
+ <key>0</key>
790
+ <dict>
791
+ <key>name</key>
792
+ <string>punctuation.definition.string.begin.ruby</string>
793
+ </dict>
794
+ </dict>
795
+ <key>comment</key>
796
+ <string>execute string (allow for interpolation)</string>
797
+ <key>end</key>
798
+ <string>\)</string>
799
+ <key>endCaptures</key>
800
+ <dict>
801
+ <key>0</key>
802
+ <dict>
803
+ <key>name</key>
804
+ <string>punctuation.definition.string.end.ruby</string>
805
+ </dict>
806
+ </dict>
807
+ <key>name</key>
808
+ <string>string.interpolated.ruby</string>
809
+ <key>patterns</key>
810
+ <array>
811
+ <dict>
812
+ <key>include</key>
813
+ <string>#interpolated_ruby</string>
814
+ </dict>
815
+ <dict>
816
+ <key>include</key>
817
+ <string>#escaped_char</string>
818
+ </dict>
819
+ <dict>
820
+ <key>include</key>
821
+ <string>#nest_parens_i</string>
822
+ </dict>
823
+ </array>
824
+ </dict>
825
+ <dict>
826
+ <key>begin</key>
827
+ <string>%x([^\w])</string>
828
+ <key>beginCaptures</key>
829
+ <dict>
830
+ <key>0</key>
831
+ <dict>
832
+ <key>name</key>
833
+ <string>punctuation.definition.string.begin.ruby</string>
834
+ </dict>
835
+ </dict>
836
+ <key>comment</key>
837
+ <string>execute string (allow for interpolation)</string>
838
+ <key>end</key>
839
+ <string>\1</string>
840
+ <key>endCaptures</key>
841
+ <dict>
842
+ <key>0</key>
843
+ <dict>
844
+ <key>name</key>
845
+ <string>punctuation.definition.string.end.ruby</string>
846
+ </dict>
847
+ </dict>
848
+ <key>name</key>
849
+ <string>string.interpolated.ruby</string>
850
+ <key>patterns</key>
851
+ <array>
852
+ <dict>
853
+ <key>include</key>
854
+ <string>#interpolated_ruby</string>
855
+ </dict>
856
+ <dict>
857
+ <key>include</key>
858
+ <string>#escaped_char</string>
859
+ </dict>
860
+ </array>
861
+ </dict>
862
+ <dict>
863
+ <key>begin</key>
864
+ <string>(?x)
865
+ (?:
866
+ ^ # beginning of line
867
+ | (?&lt;= # or look-behind on:
868
+ [=&gt;~(?:\[,|&amp;;]
869
+ | [\s;]if\s # keywords
870
+ | [\s;]elsif\s
871
+ | [\s;]while\s
872
+ | [\s;]unless\s
873
+ | [\s;]when\s
874
+ | [\s;]assert_match\s
875
+ | [\s;]or\s # boolean opperators
876
+ | [\s;]and\s
877
+ | [\s;]not\s
878
+ | [\s.]index\s # methods
879
+ | [\s.]scan\s
880
+ | [\s.]sub\s
881
+ | [\s.]sub!\s
882
+ | [\s.]gsub\s
883
+ | [\s.]gsub!\s
884
+ | [\s.]match\s
885
+ )
886
+ | (?&lt;= # or a look-behind with line anchor:
887
+ ^when\s # duplication necessary due to limits of regex
888
+ | ^if\s
889
+ | ^elsif\s
890
+ | ^while\s
891
+ | ^unless\s
892
+ | ^Given\s
893
+ | ^Then\s
894
+ | ^When\s
895
+ )
896
+ )
897
+ \s*((/))(?![*+{}?])
898
+ </string>
899
+ <key>captures</key>
900
+ <dict>
901
+ <key>1</key>
902
+ <dict>
903
+ <key>name</key>
904
+ <string>string.regexp.classic.ruby</string>
905
+ </dict>
906
+ <key>2</key>
907
+ <dict>
908
+ <key>name</key>
909
+ <string>punctuation.definition.string.ruby</string>
910
+ </dict>
911
+ </dict>
912
+ <key>comment</key>
913
+ <string>regular expressions (normal)
914
+ we only start a regexp if the character before it (excluding whitespace)
915
+ is what we think is before a regexp
916
+ </string>
917
+ <key>contentName</key>
918
+ <string>string.regexp.classic.ruby</string>
919
+ <key>end</key>
920
+ <string>((/[eimnosux]*))</string>
921
+ <key>patterns</key>
922
+ <array>
923
+ <dict>
924
+ <key>include</key>
925
+ <string>#regex_sub</string>
926
+ </dict>
927
+ </array>
928
+ </dict>
929
+ <dict>
930
+ <key>begin</key>
931
+ <string>%r\{</string>
932
+ <key>beginCaptures</key>
933
+ <dict>
934
+ <key>0</key>
935
+ <dict>
936
+ <key>name</key>
937
+ <string>punctuation.definition.string.begin.ruby</string>
938
+ </dict>
939
+ </dict>
940
+ <key>comment</key>
941
+ <string>regular expressions (literal)</string>
942
+ <key>end</key>
943
+ <string>\}[eimnosux]*</string>
944
+ <key>endCaptures</key>
945
+ <dict>
946
+ <key>0</key>
947
+ <dict>
948
+ <key>name</key>
949
+ <string>punctuation.definition.string.end.ruby</string>
950
+ </dict>
951
+ </dict>
952
+ <key>name</key>
953
+ <string>string.regexp.mod-r.ruby</string>
954
+ <key>patterns</key>
955
+ <array>
956
+ <dict>
957
+ <key>include</key>
958
+ <string>#regex_sub</string>
959
+ </dict>
960
+ <dict>
961
+ <key>include</key>
962
+ <string>#nest_curly_r</string>
963
+ </dict>
964
+ </array>
965
+ </dict>
966
+ <dict>
967
+ <key>begin</key>
968
+ <string>%r\[</string>
969
+ <key>beginCaptures</key>
970
+ <dict>
971
+ <key>0</key>
972
+ <dict>
973
+ <key>name</key>
974
+ <string>punctuation.definition.string.begin.ruby</string>
975
+ </dict>
976
+ </dict>
977
+ <key>comment</key>
978
+ <string>regular expressions (literal)</string>
979
+ <key>end</key>
980
+ <string>\][eimnosux]*</string>
981
+ <key>endCaptures</key>
982
+ <dict>
983
+ <key>0</key>
984
+ <dict>
985
+ <key>name</key>
986
+ <string>punctuation.definition.string.end.ruby</string>
987
+ </dict>
988
+ </dict>
989
+ <key>name</key>
990
+ <string>string.regexp.mod-r.ruby</string>
991
+ <key>patterns</key>
992
+ <array>
993
+ <dict>
994
+ <key>include</key>
995
+ <string>#regex_sub</string>
996
+ </dict>
997
+ <dict>
998
+ <key>include</key>
999
+ <string>#nest_brackets_r</string>
1000
+ </dict>
1001
+ </array>
1002
+ </dict>
1003
+ <dict>
1004
+ <key>begin</key>
1005
+ <string>%r\(</string>
1006
+ <key>beginCaptures</key>
1007
+ <dict>
1008
+ <key>0</key>
1009
+ <dict>
1010
+ <key>name</key>
1011
+ <string>punctuation.definition.string.begin.ruby</string>
1012
+ </dict>
1013
+ </dict>
1014
+ <key>comment</key>
1015
+ <string>regular expressions (literal)</string>
1016
+ <key>end</key>
1017
+ <string>\)[eimnosux]*</string>
1018
+ <key>endCaptures</key>
1019
+ <dict>
1020
+ <key>0</key>
1021
+ <dict>
1022
+ <key>name</key>
1023
+ <string>punctuation.definition.string.end.ruby</string>
1024
+ </dict>
1025
+ </dict>
1026
+ <key>name</key>
1027
+ <string>string.regexp.mod-r.ruby</string>
1028
+ <key>patterns</key>
1029
+ <array>
1030
+ <dict>
1031
+ <key>include</key>
1032
+ <string>#regex_sub</string>
1033
+ </dict>
1034
+ <dict>
1035
+ <key>include</key>
1036
+ <string>#nest_parens_r</string>
1037
+ </dict>
1038
+ </array>
1039
+ </dict>
1040
+ <dict>
1041
+ <key>begin</key>
1042
+ <string>%r\&lt;</string>
1043
+ <key>beginCaptures</key>
1044
+ <dict>
1045
+ <key>0</key>
1046
+ <dict>
1047
+ <key>name</key>
1048
+ <string>punctuation.definition.string.begin.ruby</string>
1049
+ </dict>
1050
+ </dict>
1051
+ <key>comment</key>
1052
+ <string>regular expressions (literal)</string>
1053
+ <key>end</key>
1054
+ <string>\&gt;[eimnosux]*</string>
1055
+ <key>endCaptures</key>
1056
+ <dict>
1057
+ <key>0</key>
1058
+ <dict>
1059
+ <key>name</key>
1060
+ <string>punctuation.definition.string.end.ruby</string>
1061
+ </dict>
1062
+ </dict>
1063
+ <key>name</key>
1064
+ <string>string.regexp.mod-r.ruby</string>
1065
+ <key>patterns</key>
1066
+ <array>
1067
+ <dict>
1068
+ <key>include</key>
1069
+ <string>#regex_sub</string>
1070
+ </dict>
1071
+ <dict>
1072
+ <key>include</key>
1073
+ <string>#nest_ltgt_r</string>
1074
+ </dict>
1075
+ </array>
1076
+ </dict>
1077
+ <dict>
1078
+ <key>begin</key>
1079
+ <string>%r([^\w])</string>
1080
+ <key>beginCaptures</key>
1081
+ <dict>
1082
+ <key>0</key>
1083
+ <dict>
1084
+ <key>name</key>
1085
+ <string>punctuation.definition.string.begin.ruby</string>
1086
+ </dict>
1087
+ </dict>
1088
+ <key>comment</key>
1089
+ <string>regular expressions (literal)</string>
1090
+ <key>end</key>
1091
+ <string>\1[eimnosux]*</string>
1092
+ <key>endCaptures</key>
1093
+ <dict>
1094
+ <key>0</key>
1095
+ <dict>
1096
+ <key>name</key>
1097
+ <string>punctuation.definition.string.end.ruby</string>
1098
+ </dict>
1099
+ </dict>
1100
+ <key>name</key>
1101
+ <string>string.regexp.mod-r.ruby</string>
1102
+ <key>patterns</key>
1103
+ <array>
1104
+ <dict>
1105
+ <key>include</key>
1106
+ <string>#regex_sub</string>
1107
+ </dict>
1108
+ </array>
1109
+ </dict>
1110
+ <dict>
1111
+ <key>begin</key>
1112
+ <string>%[QWSR]?\(</string>
1113
+ <key>beginCaptures</key>
1114
+ <dict>
1115
+ <key>0</key>
1116
+ <dict>
1117
+ <key>name</key>
1118
+ <string>punctuation.definition.string.begin.ruby</string>
1119
+ </dict>
1120
+ </dict>
1121
+ <key>comment</key>
1122
+ <string>literal capable of interpolation ()</string>
1123
+ <key>end</key>
1124
+ <string>\)</string>
1125
+ <key>endCaptures</key>
1126
+ <dict>
1127
+ <key>0</key>
1128
+ <dict>
1129
+ <key>name</key>
1130
+ <string>punctuation.definition.string.end.ruby</string>
1131
+ </dict>
1132
+ </dict>
1133
+ <key>name</key>
1134
+ <string>string.quoted.other.literal.upper.ruby</string>
1135
+ <key>patterns</key>
1136
+ <array>
1137
+ <dict>
1138
+ <key>include</key>
1139
+ <string>#interpolated_ruby</string>
1140
+ </dict>
1141
+ <dict>
1142
+ <key>include</key>
1143
+ <string>#escaped_char</string>
1144
+ </dict>
1145
+ <dict>
1146
+ <key>include</key>
1147
+ <string>#nest_parens_i</string>
1148
+ </dict>
1149
+ </array>
1150
+ </dict>
1151
+ <dict>
1152
+ <key>begin</key>
1153
+ <string>%[QWSR]?\[</string>
1154
+ <key>beginCaptures</key>
1155
+ <dict>
1156
+ <key>0</key>
1157
+ <dict>
1158
+ <key>name</key>
1159
+ <string>punctuation.definition.string.begin.ruby</string>
1160
+ </dict>
1161
+ </dict>
1162
+ <key>comment</key>
1163
+ <string>literal capable of interpolation []</string>
1164
+ <key>end</key>
1165
+ <string>\]</string>
1166
+ <key>endCaptures</key>
1167
+ <dict>
1168
+ <key>0</key>
1169
+ <dict>
1170
+ <key>name</key>
1171
+ <string>punctuation.definition.string.end.ruby</string>
1172
+ </dict>
1173
+ </dict>
1174
+ <key>name</key>
1175
+ <string>string.quoted.other.literal.upper.ruby</string>
1176
+ <key>patterns</key>
1177
+ <array>
1178
+ <dict>
1179
+ <key>include</key>
1180
+ <string>#interpolated_ruby</string>
1181
+ </dict>
1182
+ <dict>
1183
+ <key>include</key>
1184
+ <string>#escaped_char</string>
1185
+ </dict>
1186
+ <dict>
1187
+ <key>include</key>
1188
+ <string>#nest_brackets_i</string>
1189
+ </dict>
1190
+ </array>
1191
+ </dict>
1192
+ <dict>
1193
+ <key>begin</key>
1194
+ <string>%[QWSR]?\&lt;</string>
1195
+ <key>beginCaptures</key>
1196
+ <dict>
1197
+ <key>0</key>
1198
+ <dict>
1199
+ <key>name</key>
1200
+ <string>punctuation.definition.string.begin.ruby</string>
1201
+ </dict>
1202
+ </dict>
1203
+ <key>comment</key>
1204
+ <string>literal capable of interpolation &lt;&gt;</string>
1205
+ <key>end</key>
1206
+ <string>\&gt;</string>
1207
+ <key>endCaptures</key>
1208
+ <dict>
1209
+ <key>0</key>
1210
+ <dict>
1211
+ <key>name</key>
1212
+ <string>punctuation.definition.string.end.ruby</string>
1213
+ </dict>
1214
+ </dict>
1215
+ <key>name</key>
1216
+ <string>string.quoted.other.literal.upper.ruby</string>
1217
+ <key>patterns</key>
1218
+ <array>
1219
+ <dict>
1220
+ <key>include</key>
1221
+ <string>#interpolated_ruby</string>
1222
+ </dict>
1223
+ <dict>
1224
+ <key>include</key>
1225
+ <string>#escaped_char</string>
1226
+ </dict>
1227
+ <dict>
1228
+ <key>include</key>
1229
+ <string>#nest_ltgt_i</string>
1230
+ </dict>
1231
+ </array>
1232
+ </dict>
1233
+ <dict>
1234
+ <key>begin</key>
1235
+ <string>%[QWSR]?\{</string>
1236
+ <key>beginCaptures</key>
1237
+ <dict>
1238
+ <key>0</key>
1239
+ <dict>
1240
+ <key>name</key>
1241
+ <string>punctuation.definition.string.begin.ruby</string>
1242
+ </dict>
1243
+ </dict>
1244
+ <key>comment</key>
1245
+ <string>literal capable of interpolation -- {}</string>
1246
+ <key>end</key>
1247
+ <string>\}</string>
1248
+ <key>endCaptures</key>
1249
+ <dict>
1250
+ <key>0</key>
1251
+ <dict>
1252
+ <key>name</key>
1253
+ <string>punctuation.definition.string.end.ruby</string>
1254
+ </dict>
1255
+ </dict>
1256
+ <key>name</key>
1257
+ <string>string.quoted.double.ruby.mod</string>
1258
+ <key>patterns</key>
1259
+ <array>
1260
+ <dict>
1261
+ <key>include</key>
1262
+ <string>#interpolated_ruby</string>
1263
+ </dict>
1264
+ <dict>
1265
+ <key>include</key>
1266
+ <string>#escaped_char</string>
1267
+ </dict>
1268
+ <dict>
1269
+ <key>include</key>
1270
+ <string>#nest_curly_i</string>
1271
+ </dict>
1272
+ </array>
1273
+ </dict>
1274
+ <dict>
1275
+ <key>begin</key>
1276
+ <string>%[QWSR]([^\w])</string>
1277
+ <key>beginCaptures</key>
1278
+ <dict>
1279
+ <key>0</key>
1280
+ <dict>
1281
+ <key>name</key>
1282
+ <string>punctuation.definition.string.begin.ruby</string>
1283
+ </dict>
1284
+ </dict>
1285
+ <key>comment</key>
1286
+ <string>literal capable of interpolation -- wildcard</string>
1287
+ <key>end</key>
1288
+ <string>\1</string>
1289
+ <key>endCaptures</key>
1290
+ <dict>
1291
+ <key>0</key>
1292
+ <dict>
1293
+ <key>name</key>
1294
+ <string>punctuation.definition.string.end.ruby</string>
1295
+ </dict>
1296
+ </dict>
1297
+ <key>name</key>
1298
+ <string>string.quoted.other.literal.upper.ruby</string>
1299
+ <key>patterns</key>
1300
+ <array>
1301
+ <dict>
1302
+ <key>include</key>
1303
+ <string>#interpolated_ruby</string>
1304
+ </dict>
1305
+ <dict>
1306
+ <key>include</key>
1307
+ <string>#escaped_char</string>
1308
+ </dict>
1309
+ </array>
1310
+ </dict>
1311
+ <dict>
1312
+ <key>begin</key>
1313
+ <string>%([^\w\s=])</string>
1314
+ <key>beginCaptures</key>
1315
+ <dict>
1316
+ <key>0</key>
1317
+ <dict>
1318
+ <key>name</key>
1319
+ <string>punctuation.definition.string.begin.ruby</string>
1320
+ </dict>
1321
+ </dict>
1322
+ <key>comment</key>
1323
+ <string>literal capable of interpolation -- wildcard</string>
1324
+ <key>end</key>
1325
+ <string>\1</string>
1326
+ <key>endCaptures</key>
1327
+ <dict>
1328
+ <key>0</key>
1329
+ <dict>
1330
+ <key>name</key>
1331
+ <string>punctuation.definition.string.end.ruby</string>
1332
+ </dict>
1333
+ </dict>
1334
+ <key>name</key>
1335
+ <string>string.quoted.other.literal.other.ruby</string>
1336
+ <key>patterns</key>
1337
+ <array>
1338
+ <dict>
1339
+ <key>include</key>
1340
+ <string>#interpolated_ruby</string>
1341
+ </dict>
1342
+ <dict>
1343
+ <key>include</key>
1344
+ <string>#escaped_char</string>
1345
+ </dict>
1346
+ </array>
1347
+ </dict>
1348
+ <dict>
1349
+ <key>begin</key>
1350
+ <string>%[qws]\(</string>
1351
+ <key>beginCaptures</key>
1352
+ <dict>
1353
+ <key>0</key>
1354
+ <dict>
1355
+ <key>name</key>
1356
+ <string>punctuation.definition.string.begin.ruby</string>
1357
+ </dict>
1358
+ </dict>
1359
+ <key>comment</key>
1360
+ <string>literal incapable of interpolation -- ()</string>
1361
+ <key>end</key>
1362
+ <string>\)</string>
1363
+ <key>endCaptures</key>
1364
+ <dict>
1365
+ <key>0</key>
1366
+ <dict>
1367
+ <key>name</key>
1368
+ <string>punctuation.definition.string.end.ruby</string>
1369
+ </dict>
1370
+ </dict>
1371
+ <key>name</key>
1372
+ <string>string.quoted.other.literal.lower.ruby</string>
1373
+ <key>patterns</key>
1374
+ <array>
1375
+ <dict>
1376
+ <key>match</key>
1377
+ <string>\\\)|\\\\</string>
1378
+ <key>name</key>
1379
+ <string>constant.character.escape.ruby</string>
1380
+ </dict>
1381
+ <dict>
1382
+ <key>include</key>
1383
+ <string>#nest_parens</string>
1384
+ </dict>
1385
+ </array>
1386
+ </dict>
1387
+ <dict>
1388
+ <key>begin</key>
1389
+ <string>%[qws]\&lt;</string>
1390
+ <key>beginCaptures</key>
1391
+ <dict>
1392
+ <key>0</key>
1393
+ <dict>
1394
+ <key>name</key>
1395
+ <string>punctuation.definition.string.begin.ruby</string>
1396
+ </dict>
1397
+ </dict>
1398
+ <key>comment</key>
1399
+ <string>literal incapable of interpolation -- &lt;&gt;</string>
1400
+ <key>end</key>
1401
+ <string>\&gt;</string>
1402
+ <key>endCaptures</key>
1403
+ <dict>
1404
+ <key>0</key>
1405
+ <dict>
1406
+ <key>name</key>
1407
+ <string>punctuation.definition.string.end.ruby</string>
1408
+ </dict>
1409
+ </dict>
1410
+ <key>name</key>
1411
+ <string>string.quoted.other.literal.lower.ruby</string>
1412
+ <key>patterns</key>
1413
+ <array>
1414
+ <dict>
1415
+ <key>match</key>
1416
+ <string>\\\&gt;|\\\\</string>
1417
+ <key>name</key>
1418
+ <string>constant.character.escape.ruby</string>
1419
+ </dict>
1420
+ <dict>
1421
+ <key>include</key>
1422
+ <string>#nest_ltgt</string>
1423
+ </dict>
1424
+ </array>
1425
+ </dict>
1426
+ <dict>
1427
+ <key>begin</key>
1428
+ <string>%[qws]\[</string>
1429
+ <key>beginCaptures</key>
1430
+ <dict>
1431
+ <key>0</key>
1432
+ <dict>
1433
+ <key>name</key>
1434
+ <string>punctuation.definition.string.begin.ruby</string>
1435
+ </dict>
1436
+ </dict>
1437
+ <key>comment</key>
1438
+ <string>literal incapable of interpolation -- []</string>
1439
+ <key>end</key>
1440
+ <string>\]</string>
1441
+ <key>endCaptures</key>
1442
+ <dict>
1443
+ <key>0</key>
1444
+ <dict>
1445
+ <key>name</key>
1446
+ <string>punctuation.definition.string.end.ruby</string>
1447
+ </dict>
1448
+ </dict>
1449
+ <key>name</key>
1450
+ <string>string.quoted.other.literal.lower.ruby</string>
1451
+ <key>patterns</key>
1452
+ <array>
1453
+ <dict>
1454
+ <key>match</key>
1455
+ <string>\\\]|\\\\</string>
1456
+ <key>name</key>
1457
+ <string>constant.character.escape.ruby</string>
1458
+ </dict>
1459
+ <dict>
1460
+ <key>include</key>
1461
+ <string>#nest_brackets</string>
1462
+ </dict>
1463
+ </array>
1464
+ </dict>
1465
+ <dict>
1466
+ <key>begin</key>
1467
+ <string>%[qws]\{</string>
1468
+ <key>beginCaptures</key>
1469
+ <dict>
1470
+ <key>0</key>
1471
+ <dict>
1472
+ <key>name</key>
1473
+ <string>punctuation.definition.string.begin.ruby</string>
1474
+ </dict>
1475
+ </dict>
1476
+ <key>comment</key>
1477
+ <string>literal incapable of interpolation -- {}</string>
1478
+ <key>end</key>
1479
+ <string>\}</string>
1480
+ <key>endCaptures</key>
1481
+ <dict>
1482
+ <key>0</key>
1483
+ <dict>
1484
+ <key>name</key>
1485
+ <string>punctuation.definition.string.end.ruby</string>
1486
+ </dict>
1487
+ </dict>
1488
+ <key>name</key>
1489
+ <string>string.quoted.other.literal.lower.ruby</string>
1490
+ <key>patterns</key>
1491
+ <array>
1492
+ <dict>
1493
+ <key>match</key>
1494
+ <string>\\\}|\\\\</string>
1495
+ <key>name</key>
1496
+ <string>constant.character.escape.ruby</string>
1497
+ </dict>
1498
+ <dict>
1499
+ <key>include</key>
1500
+ <string>#nest_curly</string>
1501
+ </dict>
1502
+ </array>
1503
+ </dict>
1504
+ <dict>
1505
+ <key>begin</key>
1506
+ <string>%[qws]([^\w])</string>
1507
+ <key>beginCaptures</key>
1508
+ <dict>
1509
+ <key>0</key>
1510
+ <dict>
1511
+ <key>name</key>
1512
+ <string>punctuation.definition.string.begin.ruby</string>
1513
+ </dict>
1514
+ </dict>
1515
+ <key>comment</key>
1516
+ <string>literal incapable of interpolation -- wildcard</string>
1517
+ <key>end</key>
1518
+ <string>\1</string>
1519
+ <key>endCaptures</key>
1520
+ <dict>
1521
+ <key>0</key>
1522
+ <dict>
1523
+ <key>name</key>
1524
+ <string>punctuation.definition.string.end.ruby</string>
1525
+ </dict>
1526
+ </dict>
1527
+ <key>name</key>
1528
+ <string>string.quoted.other.literal.lower.ruby</string>
1529
+ <key>patterns</key>
1530
+ <array>
1531
+ <dict>
1532
+ <key>comment</key>
1533
+ <string>Cant be named because its not neccesarily an escape.</string>
1534
+ <key>match</key>
1535
+ <string>\\.</string>
1536
+ </dict>
1537
+ </array>
1538
+ </dict>
1539
+ <dict>
1540
+ <key>captures</key>
1541
+ <dict>
1542
+ <key>1</key>
1543
+ <dict>
1544
+ <key>name</key>
1545
+ <string>punctuation.definition.constant.ruby</string>
1546
+ </dict>
1547
+ </dict>
1548
+ <key>comment</key>
1549
+ <string>symbols</string>
1550
+ <key>match</key>
1551
+ <string>(?&lt;!:)(:)(?&gt;[a-zA-Z_]\w*(?&gt;[?!]|=(?![&gt;=]))?|===?|&gt;[&gt;=]?|&lt;[&lt;=]?|&lt;=&gt;|[%&amp;`/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[a-zA-Z_]\w*)</string>
1552
+ <key>name</key>
1553
+ <string>constant.other.symbol.ruby</string>
1554
+ </dict>
1555
+ <dict>
1556
+ <key>begin</key>
1557
+ <string>^=begin</string>
1558
+ <key>captures</key>
1559
+ <dict>
1560
+ <key>0</key>
1561
+ <dict>
1562
+ <key>name</key>
1563
+ <string>punctuation.definition.comment.ruby</string>
1564
+ </dict>
1565
+ </dict>
1566
+ <key>comment</key>
1567
+ <string>multiline comments</string>
1568
+ <key>end</key>
1569
+ <string>^=end</string>
1570
+ <key>name</key>
1571
+ <string>comment.block.documentation.ruby</string>
1572
+ </dict>
1573
+ <dict>
1574
+ <key>captures</key>
1575
+ <dict>
1576
+ <key>1</key>
1577
+ <dict>
1578
+ <key>name</key>
1579
+ <string>punctuation.definition.comment.ruby</string>
1580
+ </dict>
1581
+ </dict>
1582
+ <key>match</key>
1583
+ <string>(?:^[ \t]+)?(#).*$\n?</string>
1584
+ <key>name</key>
1585
+ <string>comment.line.number-sign.ruby</string>
1586
+ </dict>
1587
+ <dict>
1588
+ <key>comment</key>
1589
+ <string>
1590
+ matches questionmark-letters.
1591
+
1592
+ examples (1st alternation = hex):
1593
+ ?\x1 ?\x61
1594
+
1595
+ examples (2nd alternation = octal):
1596
+ ?\0 ?\07 ?\017
1597
+
1598
+ examples (3rd alternation = escaped):
1599
+ ?\n ?\b
1600
+
1601
+ examples (4th alternation = meta-ctrl):
1602
+ ?\C-a ?\M-a ?\C-\M-\C-\M-a
1603
+
1604
+ examples (4th alternation = normal):
1605
+ ?a ?A ?0
1606
+ ?* ?" ?(
1607
+ ?. ?#
1608
+
1609
+
1610
+ the negative lookbehind prevents against matching
1611
+ p(42.tainted?)
1612
+ </string>
1613
+ <key>match</key>
1614
+ <string>(?&lt;!\w)\?(\\(x\h{1,2}(?!\h)\b|0[0-7]{0,2}(?![0-7])\b|[^x0MC])|(\\[MC]-)+\w|[^\s\\])</string>
1615
+ <key>name</key>
1616
+ <string>constant.numeric.ruby</string>
1617
+ </dict>
1618
+ <dict>
1619
+ <key>begin</key>
1620
+ <string>^__END__\n</string>
1621
+ <key>captures</key>
1622
+ <dict>
1623
+ <key>0</key>
1624
+ <dict>
1625
+ <key>name</key>
1626
+ <string>string.unquoted.program-block.ruby</string>
1627
+ </dict>
1628
+ </dict>
1629
+ <key>comment</key>
1630
+ <string>__END__ marker</string>
1631
+ <key>contentName</key>
1632
+ <string>text.plain</string>
1633
+ <key>end</key>
1634
+ <string>(?=not)impossible</string>
1635
+ <key>patterns</key>
1636
+ <array>
1637
+ <dict>
1638
+ <key>begin</key>
1639
+ <string>(?=&lt;?xml|&lt;(?i:html\b)|!DOCTYPE (?i:html\b))</string>
1640
+ <key>end</key>
1641
+ <string>(?=not)impossible</string>
1642
+ <key>name</key>
1643
+ <string>text.html.embedded.ruby</string>
1644
+ <key>patterns</key>
1645
+ <array>
1646
+ <dict>
1647
+ <key>include</key>
1648
+ <string>text.html.basic</string>
1649
+ </dict>
1650
+ </array>
1651
+ </dict>
1652
+ </array>
1653
+ </dict>
1654
+ <dict>
1655
+ <key>begin</key>
1656
+ <string>(?&gt;\=\s*&lt;&lt;(\w+))(?!\s+#\s*([Cc]|sh|[Jj]ava))</string>
1657
+ <key>beginCaptures</key>
1658
+ <dict>
1659
+ <key>0</key>
1660
+ <dict>
1661
+ <key>name</key>
1662
+ <string>punctuation.definition.string.begin.ruby</string>
1663
+ </dict>
1664
+ </dict>
1665
+ <key>end</key>
1666
+ <string>^\1$</string>
1667
+ <key>endCaptures</key>
1668
+ <dict>
1669
+ <key>0</key>
1670
+ <dict>
1671
+ <key>name</key>
1672
+ <string>punctuation.definition.string.end.ruby</string>
1673
+ </dict>
1674
+ </dict>
1675
+ <key>name</key>
1676
+ <string>string.unquoted.heredoc.ruby</string>
1677
+ <key>patterns</key>
1678
+ <array>
1679
+ <dict>
1680
+ <key>include</key>
1681
+ <string>#heredoc</string>
1682
+ </dict>
1683
+ <dict>
1684
+ <key>include</key>
1685
+ <string>#interpolated_ruby</string>
1686
+ </dict>
1687
+ <dict>
1688
+ <key>include</key>
1689
+ <string>#escaped_char</string>
1690
+ </dict>
1691
+ </array>
1692
+ </dict>
1693
+ <dict>
1694
+ <key>begin</key>
1695
+ <string>(?&gt;&lt;&lt;-HTML\b)</string>
1696
+ <key>beginCaptures</key>
1697
+ <dict>
1698
+ <key>0</key>
1699
+ <dict>
1700
+ <key>name</key>
1701
+ <string>punctuation.definition.string.begin.ruby</string>
1702
+ </dict>
1703
+ </dict>
1704
+ <key>comment</key>
1705
+ <string>heredoc with embedded HTML and indented terminator</string>
1706
+ <key>contentName</key>
1707
+ <string>text.html.embedded.ruby</string>
1708
+ <key>end</key>
1709
+ <string>\s*HTML$</string>
1710
+ <key>endCaptures</key>
1711
+ <dict>
1712
+ <key>0</key>
1713
+ <dict>
1714
+ <key>name</key>
1715
+ <string>punctuation.definition.string.end.ruby</string>
1716
+ </dict>
1717
+ </dict>
1718
+ <key>name</key>
1719
+ <string>string.unquoted.embedded.html.ruby</string>
1720
+ <key>patterns</key>
1721
+ <array>
1722
+ <dict>
1723
+ <key>include</key>
1724
+ <string>#heredoc</string>
1725
+ </dict>
1726
+ <dict>
1727
+ <key>include</key>
1728
+ <string>text.html.basic</string>
1729
+ </dict>
1730
+ <dict>
1731
+ <key>include</key>
1732
+ <string>#interpolated_ruby</string>
1733
+ </dict>
1734
+ <dict>
1735
+ <key>include</key>
1736
+ <string>#escaped_char</string>
1737
+ </dict>
1738
+ </array>
1739
+ </dict>
1740
+ <dict>
1741
+ <key>begin</key>
1742
+ <string>(?&gt;&lt;&lt;-SQL\b)</string>
1743
+ <key>beginCaptures</key>
1744
+ <dict>
1745
+ <key>0</key>
1746
+ <dict>
1747
+ <key>name</key>
1748
+ <string>punctuation.definition.string.begin.ruby</string>
1749
+ </dict>
1750
+ </dict>
1751
+ <key>comment</key>
1752
+ <string>heredoc with embedded SQL and indented terminator</string>
1753
+ <key>contentName</key>
1754
+ <string>text.sql.embedded.ruby</string>
1755
+ <key>end</key>
1756
+ <string>\s*SQL$</string>
1757
+ <key>endCaptures</key>
1758
+ <dict>
1759
+ <key>0</key>
1760
+ <dict>
1761
+ <key>name</key>
1762
+ <string>punctuation.definition.string.end.ruby</string>
1763
+ </dict>
1764
+ </dict>
1765
+ <key>name</key>
1766
+ <string>string.unquoted.embedded.sql.ruby</string>
1767
+ <key>patterns</key>
1768
+ <array>
1769
+ <dict>
1770
+ <key>include</key>
1771
+ <string>#heredoc</string>
1772
+ </dict>
1773
+ <dict>
1774
+ <key>include</key>
1775
+ <string>source.sql</string>
1776
+ </dict>
1777
+ <dict>
1778
+ <key>include</key>
1779
+ <string>#interpolated_ruby</string>
1780
+ </dict>
1781
+ <dict>
1782
+ <key>include</key>
1783
+ <string>#escaped_char</string>
1784
+ </dict>
1785
+ </array>
1786
+ </dict>
1787
+ <dict>
1788
+ <key>begin</key>
1789
+ <string>(?&gt;&lt;&lt;-(["\\']?)(\w+_(?i:eval))\1)</string>
1790
+ <key>beginCaptures</key>
1791
+ <dict>
1792
+ <key>0</key>
1793
+ <dict>
1794
+ <key>name</key>
1795
+ <string>punctuation.definition.string.begin.ruby</string>
1796
+ </dict>
1797
+ </dict>
1798
+ <key>comment</key>
1799
+ <string>ruby code in heredoc, interpolated</string>
1800
+ <key>end</key>
1801
+ <string>\s*\2$</string>
1802
+ <key>endCaptures</key>
1803
+ <dict>
1804
+ <key>0</key>
1805
+ <dict>
1806
+ <key>name</key>
1807
+ <string>punctuation.definition.string.end.ruby</string>
1808
+ </dict>
1809
+ </dict>
1810
+ <key>name</key>
1811
+ <string>string.unquoted.embedded.ruby.ruby</string>
1812
+ <key>patterns</key>
1813
+ <array>
1814
+ <dict>
1815
+ <key>include</key>
1816
+ <string>#heredoc</string>
1817
+ </dict>
1818
+ <dict>
1819
+ <key>include</key>
1820
+ <string>#interpolated_ruby</string>
1821
+ </dict>
1822
+ <dict>
1823
+ <key>include</key>
1824
+ <string>source.ruby</string>
1825
+ </dict>
1826
+ <dict>
1827
+ <key>include</key>
1828
+ <string>#escaped_char</string>
1829
+ </dict>
1830
+ </array>
1831
+ </dict>
1832
+ <dict>
1833
+ <key>begin</key>
1834
+ <string>(?&gt;&lt;&lt;-(\w+))</string>
1835
+ <key>beginCaptures</key>
1836
+ <dict>
1837
+ <key>0</key>
1838
+ <dict>
1839
+ <key>name</key>
1840
+ <string>punctuation.definition.string.begin.ruby</string>
1841
+ </dict>
1842
+ </dict>
1843
+ <key>comment</key>
1844
+ <string>heredoc with indented terminator</string>
1845
+ <key>end</key>
1846
+ <string>\s*\1$</string>
1847
+ <key>endCaptures</key>
1848
+ <dict>
1849
+ <key>0</key>
1850
+ <dict>
1851
+ <key>name</key>
1852
+ <string>punctuation.definition.string.end.ruby</string>
1853
+ </dict>
1854
+ </dict>
1855
+ <key>name</key>
1856
+ <string>string.unquoted.heredoc.ruby</string>
1857
+ <key>patterns</key>
1858
+ <array>
1859
+ <dict>
1860
+ <key>include</key>
1861
+ <string>#heredoc</string>
1862
+ </dict>
1863
+ <dict>
1864
+ <key>include</key>
1865
+ <string>#interpolated_ruby</string>
1866
+ </dict>
1867
+ <dict>
1868
+ <key>include</key>
1869
+ <string>#escaped_char</string>
1870
+ </dict>
1871
+ </array>
1872
+ </dict>
1873
+ <dict>
1874
+ <key>begin</key>
1875
+ <string>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*[Cc](?!(\+\+|[Ss][Ss])))</string>
1876
+ <key>beginCaptures</key>
1877
+ <dict>
1878
+ <key>0</key>
1879
+ <dict>
1880
+ <key>name</key>
1881
+ <string>punctuation.definition.string.begin.ruby</string>
1882
+ </dict>
1883
+ </dict>
1884
+ <key>end</key>
1885
+ <string>^\1$</string>
1886
+ <key>endCaptures</key>
1887
+ <dict>
1888
+ <key>0</key>
1889
+ <dict>
1890
+ <key>name</key>
1891
+ <string>punctuation.definition.string.end.ruby</string>
1892
+ </dict>
1893
+ </dict>
1894
+ <key>name</key>
1895
+ <string>string.unquoted.embedded.c.ruby</string>
1896
+ <key>patterns</key>
1897
+ <array>
1898
+ <dict>
1899
+ <key>include</key>
1900
+ <string>#heredoc</string>
1901
+ </dict>
1902
+ <dict>
1903
+ <key>include</key>
1904
+ <string>source.c</string>
1905
+ </dict>
1906
+ <dict>
1907
+ <key>include</key>
1908
+ <string>#interpolated_ruby</string>
1909
+ </dict>
1910
+ <dict>
1911
+ <key>include</key>
1912
+ <string>#escaped_char</string>
1913
+ </dict>
1914
+ </array>
1915
+ </dict>
1916
+ <dict>
1917
+ <key>begin</key>
1918
+ <string>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*[Cc]\+\+)</string>
1919
+ <key>beginCaptures</key>
1920
+ <dict>
1921
+ <key>0</key>
1922
+ <dict>
1923
+ <key>name</key>
1924
+ <string>punctuation.definition.string.begin.ruby</string>
1925
+ </dict>
1926
+ </dict>
1927
+ <key>end</key>
1928
+ <string>^\1$</string>
1929
+ <key>endCaptures</key>
1930
+ <dict>
1931
+ <key>0</key>
1932
+ <dict>
1933
+ <key>name</key>
1934
+ <string>punctuation.definition.string.end.ruby</string>
1935
+ </dict>
1936
+ </dict>
1937
+ <key>name</key>
1938
+ <string>string.unquoted.embedded.cplusplus.ruby</string>
1939
+ <key>patterns</key>
1940
+ <array>
1941
+ <dict>
1942
+ <key>include</key>
1943
+ <string>#heredoc</string>
1944
+ </dict>
1945
+ <dict>
1946
+ <key>include</key>
1947
+ <string>source.c++</string>
1948
+ </dict>
1949
+ <dict>
1950
+ <key>include</key>
1951
+ <string>#interpolated_ruby</string>
1952
+ </dict>
1953
+ <dict>
1954
+ <key>include</key>
1955
+ <string>#escaped_char</string>
1956
+ </dict>
1957
+ </array>
1958
+ </dict>
1959
+ <dict>
1960
+ <key>begin</key>
1961
+ <string>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*[Cc][Ss][Ss])</string>
1962
+ <key>beginCaptures</key>
1963
+ <dict>
1964
+ <key>0</key>
1965
+ <dict>
1966
+ <key>name</key>
1967
+ <string>punctuation.definition.string.begin.ruby</string>
1968
+ </dict>
1969
+ </dict>
1970
+ <key>end</key>
1971
+ <string>^\1$</string>
1972
+ <key>endCaptures</key>
1973
+ <dict>
1974
+ <key>0</key>
1975
+ <dict>
1976
+ <key>name</key>
1977
+ <string>punctuation.definition.string.end.ruby</string>
1978
+ </dict>
1979
+ </dict>
1980
+ <key>name</key>
1981
+ <string>string.unquoted.embedded.css.ruby</string>
1982
+ <key>patterns</key>
1983
+ <array>
1984
+ <dict>
1985
+ <key>include</key>
1986
+ <string>#heredoc</string>
1987
+ </dict>
1988
+ <dict>
1989
+ <key>include</key>
1990
+ <string>source.css</string>
1991
+ </dict>
1992
+ <dict>
1993
+ <key>include</key>
1994
+ <string>#interpolated_ruby</string>
1995
+ </dict>
1996
+ <dict>
1997
+ <key>include</key>
1998
+ <string>#escaped_char</string>
1999
+ </dict>
2000
+ </array>
2001
+ </dict>
2002
+ <dict>
2003
+ <key>begin</key>
2004
+ <string>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*[Jj]ava[Ss]cript)</string>
2005
+ <key>beginCaptures</key>
2006
+ <dict>
2007
+ <key>0</key>
2008
+ <dict>
2009
+ <key>name</key>
2010
+ <string>punctuation.definition.string.begin.ruby</string>
2011
+ </dict>
2012
+ </dict>
2013
+ <key>end</key>
2014
+ <string>^\1$</string>
2015
+ <key>endCaptures</key>
2016
+ <dict>
2017
+ <key>0</key>
2018
+ <dict>
2019
+ <key>name</key>
2020
+ <string>punctuation.definition.string.end.ruby</string>
2021
+ </dict>
2022
+ </dict>
2023
+ <key>name</key>
2024
+ <string>string.unquoted.embedded.js.ruby</string>
2025
+ <key>patterns</key>
2026
+ <array>
2027
+ <dict>
2028
+ <key>include</key>
2029
+ <string>#heredoc</string>
2030
+ </dict>
2031
+ <dict>
2032
+ <key>include</key>
2033
+ <string>source.js</string>
2034
+ </dict>
2035
+ <dict>
2036
+ <key>include</key>
2037
+ <string>#interpolated_ruby</string>
2038
+ </dict>
2039
+ <dict>
2040
+ <key>include</key>
2041
+ <string>#escaped_char</string>
2042
+ </dict>
2043
+ </array>
2044
+ </dict>
2045
+ <dict>
2046
+ <key>begin</key>
2047
+ <string>(?&gt;\=\s*&lt;&lt;(\w+))(?=\s+#\s*sh)</string>
2048
+ <key>beginCaptures</key>
2049
+ <dict>
2050
+ <key>0</key>
2051
+ <dict>
2052
+ <key>name</key>
2053
+ <string>punctuation.definition.string.begin.ruby</string>
2054
+ </dict>
2055
+ </dict>
2056
+ <key>end</key>
2057
+ <string>^\1$</string>
2058
+ <key>endCaptures</key>
2059
+ <dict>
2060
+ <key>0</key>
2061
+ <dict>
2062
+ <key>name</key>
2063
+ <string>punctuation.definition.string.end.ruby</string>
2064
+ </dict>
2065
+ </dict>
2066
+ <key>name</key>
2067
+ <string>string.unquoted.embedded.shell.ruby</string>
2068
+ <key>patterns</key>
2069
+ <array>
2070
+ <dict>
2071
+ <key>include</key>
2072
+ <string>#heredoc</string>
2073
+ </dict>
2074
+ <dict>
2075
+ <key>include</key>
2076
+ <string>source.shell</string>
2077
+ </dict>
2078
+ <dict>
2079
+ <key>include</key>
2080
+ <string>#interpolated_ruby</string>
2081
+ </dict>
2082
+ <dict>
2083
+ <key>include</key>
2084
+ <string>#escaped_char</string>
2085
+ </dict>
2086
+ </array>
2087
+ </dict>
2088
+ <dict>
2089
+ <key>begin</key>
2090
+ <string>(?&lt;=\{|do|\{\s|do\s)(\|)</string>
2091
+ <key>captures</key>
2092
+ <dict>
2093
+ <key>1</key>
2094
+ <dict>
2095
+ <key>name</key>
2096
+ <string>punctuation.separator.variable.ruby</string>
2097
+ </dict>
2098
+ </dict>
2099
+ <key>end</key>
2100
+ <string>(\|)</string>
2101
+ <key>patterns</key>
2102
+ <array>
2103
+ <dict>
2104
+ <key>match</key>
2105
+ <string>[_a-zA-Z][_a-zA-Z0-9]*</string>
2106
+ <key>name</key>
2107
+ <string>variable.other.block.ruby</string>
2108
+ </dict>
2109
+ <dict>
2110
+ <key>match</key>
2111
+ <string>,</string>
2112
+ <key>name</key>
2113
+ <string>punctuation.separator.variable.ruby</string>
2114
+ </dict>
2115
+ </array>
2116
+ </dict>
2117
+ <dict>
2118
+ <key>match</key>
2119
+ <string>=&gt;</string>
2120
+ <key>name</key>
2121
+ <string>punctuation.separator.key-value</string>
2122
+ </dict>
2123
+ <dict>
2124
+ <key>match</key>
2125
+ <string>&lt;&lt;=|%=|&amp;=|\*=|\*\*=|\+=|\-=|\^=|\|{1,2}=|/=|&lt;&lt;</string>
2126
+ <key>name</key>
2127
+ <string>keyword.operator.assignment.augmented.ruby</string>
2128
+ </dict>
2129
+ <dict>
2130
+ <key>match</key>
2131
+ <string>&lt;=&gt;|&lt;(?!&lt;|=)|&gt;(?!&lt;|=|&gt;)|&lt;=|&gt;=|===|==|=~|!=|!~|(?&lt;=[ \t])\?</string>
2132
+ <key>name</key>
2133
+ <string>keyword.operator.comparison.ruby</string>
2134
+ </dict>
2135
+ <dict>
2136
+ <key>match</key>
2137
+ <string>(?&lt;=[ \t])!+|\bnot\b|&amp;&amp;|\band\b|\|\||\bor\b|\^</string>
2138
+ <key>name</key>
2139
+ <string>keyword.operator.logical.ruby</string>
2140
+ </dict>
2141
+ <dict>
2142
+ <key>match</key>
2143
+ <string>(%|&amp;|\*\*|\*|\+|\-|/)</string>
2144
+ <key>name</key>
2145
+ <string>keyword.operator.arithmetic.ruby</string>
2146
+ </dict>
2147
+ <dict>
2148
+ <key>match</key>
2149
+ <string>=</string>
2150
+ <key>name</key>
2151
+ <string>keyword.operator.assignment.ruby</string>
2152
+ </dict>
2153
+ <dict>
2154
+ <key>match</key>
2155
+ <string>\||~|&gt;&gt;</string>
2156
+ <key>name</key>
2157
+ <string>keyword.operator.other.ruby</string>
2158
+ </dict>
2159
+ <dict>
2160
+ <key>match</key>
2161
+ <string>:</string>
2162
+ <key>name</key>
2163
+ <string>punctuation.separator.other.ruby</string>
2164
+ </dict>
2165
+ <dict>
2166
+ <key>match</key>
2167
+ <string>\;</string>
2168
+ <key>name</key>
2169
+ <string>punctuation.separator.statement.ruby</string>
2170
+ </dict>
2171
+ <dict>
2172
+ <key>match</key>
2173
+ <string>,</string>
2174
+ <key>name</key>
2175
+ <string>punctuation.separator.object.ruby</string>
2176
+ </dict>
2177
+ <dict>
2178
+ <key>match</key>
2179
+ <string>\.|::</string>
2180
+ <key>name</key>
2181
+ <string>punctuation.separator.method.ruby</string>
2182
+ </dict>
2183
+ <dict>
2184
+ <key>match</key>
2185
+ <string>\{|\}</string>
2186
+ <key>name</key>
2187
+ <string>punctuation.section.scope.ruby</string>
2188
+ </dict>
2189
+ <dict>
2190
+ <key>match</key>
2191
+ <string>\[|\]</string>
2192
+ <key>name</key>
2193
+ <string>punctuation.section.array.ruby</string>
2194
+ </dict>
2195
+ <dict>
2196
+ <key>match</key>
2197
+ <string>\(|\)</string>
2198
+ <key>name</key>
2199
+ <string>punctuation.section.function.ruby</string>
2200
+ </dict>
2201
+ </array>
2202
+ <key>repository</key>
2203
+ <dict>
2204
+ <key>escaped_char</key>
2205
+ <dict>
2206
+ <key>match</key>
2207
+ <string>\\(?:[0-7]{1,3}|x[\da-fA-F]{1,2}|.)</string>
2208
+ <key>name</key>
2209
+ <string>constant.character.escape.ruby</string>
2210
+ </dict>
2211
+ <key>heredoc</key>
2212
+ <dict>
2213
+ <key>begin</key>
2214
+ <string>^&lt;&lt;-?\w+</string>
2215
+ <key>end</key>
2216
+ <string>$</string>
2217
+ <key>patterns</key>
2218
+ <array>
2219
+ <dict>
2220
+ <key>include</key>
2221
+ <string>$self</string>
2222
+ </dict>
2223
+ </array>
2224
+ </dict>
2225
+ <key>interpolated_ruby</key>
2226
+ <dict>
2227
+ <key>patterns</key>
2228
+ <array>
2229
+ <dict>
2230
+ <key>captures</key>
2231
+ <dict>
2232
+ <key>0</key>
2233
+ <dict>
2234
+ <key>name</key>
2235
+ <string>punctuation.section.embedded.ruby</string>
2236
+ </dict>
2237
+ <key>1</key>
2238
+ <dict>
2239
+ <key>name</key>
2240
+ <string>source.ruby.embedded.source.empty</string>
2241
+ </dict>
2242
+ </dict>
2243
+ <key>match</key>
2244
+ <string>#\{(\})</string>
2245
+ <key>name</key>
2246
+ <string>source.ruby.embedded.source</string>
2247
+ </dict>
2248
+ <dict>
2249
+ <key>begin</key>
2250
+ <string>#\{</string>
2251
+ <key>captures</key>
2252
+ <dict>
2253
+ <key>0</key>
2254
+ <dict>
2255
+ <key>name</key>
2256
+ <string>punctuation.section.embedded.ruby</string>
2257
+ </dict>
2258
+ </dict>
2259
+ <key>end</key>
2260
+ <string>\}</string>
2261
+ <key>name</key>
2262
+ <string>source.ruby.embedded.source</string>
2263
+ <key>patterns</key>
2264
+ <array>
2265
+ <dict>
2266
+ <key>include</key>
2267
+ <string>#nest_curly_and_self</string>
2268
+ </dict>
2269
+ <dict>
2270
+ <key>include</key>
2271
+ <string>$self</string>
2272
+ </dict>
2273
+ </array>
2274
+ </dict>
2275
+ <dict>
2276
+ <key>captures</key>
2277
+ <dict>
2278
+ <key>1</key>
2279
+ <dict>
2280
+ <key>name</key>
2281
+ <string>punctuation.definition.variable.ruby</string>
2282
+ </dict>
2283
+ </dict>
2284
+ <key>match</key>
2285
+ <string>(#@)[a-zA-Z_]\w*</string>
2286
+ <key>name</key>
2287
+ <string>variable.other.readwrite.instance.ruby</string>
2288
+ </dict>
2289
+ <dict>
2290
+ <key>captures</key>
2291
+ <dict>
2292
+ <key>1</key>
2293
+ <dict>
2294
+ <key>name</key>
2295
+ <string>punctuation.definition.variable.ruby</string>
2296
+ </dict>
2297
+ </dict>
2298
+ <key>match</key>
2299
+ <string>(#@@)[a-zA-Z_]\w*</string>
2300
+ <key>name</key>
2301
+ <string>variable.other.readwrite.class.ruby</string>
2302
+ </dict>
2303
+ <dict>
2304
+ <key>captures</key>
2305
+ <dict>
2306
+ <key>1</key>
2307
+ <dict>
2308
+ <key>name</key>
2309
+ <string>punctuation.definition.variable.ruby</string>
2310
+ </dict>
2311
+ </dict>
2312
+ <key>match</key>
2313
+ <string>(#\$)[a-zA-Z_]\w*</string>
2314
+ <key>name</key>
2315
+ <string>variable.other.readwrite.global.ruby</string>
2316
+ </dict>
2317
+ </array>
2318
+ </dict>
2319
+ <key>nest_brackets</key>
2320
+ <dict>
2321
+ <key>begin</key>
2322
+ <string>\[</string>
2323
+ <key>captures</key>
2324
+ <dict>
2325
+ <key>0</key>
2326
+ <dict>
2327
+ <key>name</key>
2328
+ <string>punctuation.section.scope.ruby</string>
2329
+ </dict>
2330
+ </dict>
2331
+ <key>end</key>
2332
+ <string>\]</string>
2333
+ <key>patterns</key>
2334
+ <array>
2335
+ <dict>
2336
+ <key>include</key>
2337
+ <string>#nest_brackets</string>
2338
+ </dict>
2339
+ </array>
2340
+ </dict>
2341
+ <key>nest_brackets_i</key>
2342
+ <dict>
2343
+ <key>begin</key>
2344
+ <string>\[</string>
2345
+ <key>captures</key>
2346
+ <dict>
2347
+ <key>0</key>
2348
+ <dict>
2349
+ <key>name</key>
2350
+ <string>punctuation.section.scope.ruby</string>
2351
+ </dict>
2352
+ </dict>
2353
+ <key>end</key>
2354
+ <string>\]</string>
2355
+ <key>patterns</key>
2356
+ <array>
2357
+ <dict>
2358
+ <key>include</key>
2359
+ <string>#interpolated_ruby</string>
2360
+ </dict>
2361
+ <dict>
2362
+ <key>include</key>
2363
+ <string>#escaped_char</string>
2364
+ </dict>
2365
+ <dict>
2366
+ <key>include</key>
2367
+ <string>#nest_brackets_i</string>
2368
+ </dict>
2369
+ </array>
2370
+ </dict>
2371
+ <key>nest_brackets_r</key>
2372
+ <dict>
2373
+ <key>begin</key>
2374
+ <string>\[</string>
2375
+ <key>captures</key>
2376
+ <dict>
2377
+ <key>0</key>
2378
+ <dict>
2379
+ <key>name</key>
2380
+ <string>punctuation.section.scope.ruby</string>
2381
+ </dict>
2382
+ </dict>
2383
+ <key>end</key>
2384
+ <string>\]</string>
2385
+ <key>patterns</key>
2386
+ <array>
2387
+ <dict>
2388
+ <key>include</key>
2389
+ <string>#regex_sub</string>
2390
+ </dict>
2391
+ <dict>
2392
+ <key>include</key>
2393
+ <string>#nest_brackets_r</string>
2394
+ </dict>
2395
+ </array>
2396
+ </dict>
2397
+ <key>nest_curly</key>
2398
+ <dict>
2399
+ <key>begin</key>
2400
+ <string>\{</string>
2401
+ <key>captures</key>
2402
+ <dict>
2403
+ <key>0</key>
2404
+ <dict>
2405
+ <key>name</key>
2406
+ <string>punctuation.section.scope.ruby</string>
2407
+ </dict>
2408
+ </dict>
2409
+ <key>end</key>
2410
+ <string>\}</string>
2411
+ <key>patterns</key>
2412
+ <array>
2413
+ <dict>
2414
+ <key>include</key>
2415
+ <string>#nest_curly</string>
2416
+ </dict>
2417
+ </array>
2418
+ </dict>
2419
+ <key>nest_curly_and_self</key>
2420
+ <dict>
2421
+ <key>patterns</key>
2422
+ <array>
2423
+ <dict>
2424
+ <key>begin</key>
2425
+ <string>\{</string>
2426
+ <key>captures</key>
2427
+ <dict>
2428
+ <key>0</key>
2429
+ <dict>
2430
+ <key>name</key>
2431
+ <string>punctuation.section.scope.ruby</string>
2432
+ </dict>
2433
+ </dict>
2434
+ <key>end</key>
2435
+ <string>\}</string>
2436
+ <key>patterns</key>
2437
+ <array>
2438
+ <dict>
2439
+ <key>include</key>
2440
+ <string>#nest_curly_and_self</string>
2441
+ </dict>
2442
+ </array>
2443
+ </dict>
2444
+ <dict>
2445
+ <key>include</key>
2446
+ <string>$self</string>
2447
+ </dict>
2448
+ </array>
2449
+ </dict>
2450
+ <key>nest_curly_i</key>
2451
+ <dict>
2452
+ <key>begin</key>
2453
+ <string>\{</string>
2454
+ <key>captures</key>
2455
+ <dict>
2456
+ <key>0</key>
2457
+ <dict>
2458
+ <key>name</key>
2459
+ <string>punctuation.section.scope.ruby</string>
2460
+ </dict>
2461
+ </dict>
2462
+ <key>end</key>
2463
+ <string>\}</string>
2464
+ <key>patterns</key>
2465
+ <array>
2466
+ <dict>
2467
+ <key>include</key>
2468
+ <string>#interpolated_ruby</string>
2469
+ </dict>
2470
+ <dict>
2471
+ <key>include</key>
2472
+ <string>#escaped_char</string>
2473
+ </dict>
2474
+ <dict>
2475
+ <key>include</key>
2476
+ <string>#nest_curly_i</string>
2477
+ </dict>
2478
+ </array>
2479
+ </dict>
2480
+ <key>nest_curly_r</key>
2481
+ <dict>
2482
+ <key>begin</key>
2483
+ <string>\{</string>
2484
+ <key>captures</key>
2485
+ <dict>
2486
+ <key>0</key>
2487
+ <dict>
2488
+ <key>name</key>
2489
+ <string>punctuation.section.scope.ruby</string>
2490
+ </dict>
2491
+ </dict>
2492
+ <key>end</key>
2493
+ <string>\}</string>
2494
+ <key>patterns</key>
2495
+ <array>
2496
+ <dict>
2497
+ <key>include</key>
2498
+ <string>#regex_sub</string>
2499
+ </dict>
2500
+ <dict>
2501
+ <key>include</key>
2502
+ <string>#nest_curly_r</string>
2503
+ </dict>
2504
+ </array>
2505
+ </dict>
2506
+ <key>nest_ltgt</key>
2507
+ <dict>
2508
+ <key>begin</key>
2509
+ <string>\&lt;</string>
2510
+ <key>captures</key>
2511
+ <dict>
2512
+ <key>0</key>
2513
+ <dict>
2514
+ <key>name</key>
2515
+ <string>punctuation.section.scope.ruby</string>
2516
+ </dict>
2517
+ </dict>
2518
+ <key>end</key>
2519
+ <string>\&gt;</string>
2520
+ <key>patterns</key>
2521
+ <array>
2522
+ <dict>
2523
+ <key>include</key>
2524
+ <string>#nest_ltgt</string>
2525
+ </dict>
2526
+ </array>
2527
+ </dict>
2528
+ <key>nest_ltgt_i</key>
2529
+ <dict>
2530
+ <key>begin</key>
2531
+ <string>\&lt;</string>
2532
+ <key>captures</key>
2533
+ <dict>
2534
+ <key>0</key>
2535
+ <dict>
2536
+ <key>name</key>
2537
+ <string>punctuation.section.scope.ruby</string>
2538
+ </dict>
2539
+ </dict>
2540
+ <key>end</key>
2541
+ <string>\&gt;</string>
2542
+ <key>patterns</key>
2543
+ <array>
2544
+ <dict>
2545
+ <key>include</key>
2546
+ <string>#interpolated_ruby</string>
2547
+ </dict>
2548
+ <dict>
2549
+ <key>include</key>
2550
+ <string>#escaped_char</string>
2551
+ </dict>
2552
+ <dict>
2553
+ <key>include</key>
2554
+ <string>#nest_ltgt_i</string>
2555
+ </dict>
2556
+ </array>
2557
+ </dict>
2558
+ <key>nest_ltgt_r</key>
2559
+ <dict>
2560
+ <key>begin</key>
2561
+ <string>\&lt;</string>
2562
+ <key>captures</key>
2563
+ <dict>
2564
+ <key>0</key>
2565
+ <dict>
2566
+ <key>name</key>
2567
+ <string>punctuation.section.scope.ruby</string>
2568
+ </dict>
2569
+ </dict>
2570
+ <key>end</key>
2571
+ <string>\&gt;</string>
2572
+ <key>patterns</key>
2573
+ <array>
2574
+ <dict>
2575
+ <key>include</key>
2576
+ <string>#regex_sub</string>
2577
+ </dict>
2578
+ <dict>
2579
+ <key>include</key>
2580
+ <string>#nest_ltgt_r</string>
2581
+ </dict>
2582
+ </array>
2583
+ </dict>
2584
+ <key>nest_parens</key>
2585
+ <dict>
2586
+ <key>begin</key>
2587
+ <string>\(</string>
2588
+ <key>captures</key>
2589
+ <dict>
2590
+ <key>0</key>
2591
+ <dict>
2592
+ <key>name</key>
2593
+ <string>punctuation.section.scope.ruby</string>
2594
+ </dict>
2595
+ </dict>
2596
+ <key>end</key>
2597
+ <string>\)</string>
2598
+ <key>patterns</key>
2599
+ <array>
2600
+ <dict>
2601
+ <key>include</key>
2602
+ <string>#nest_parens</string>
2603
+ </dict>
2604
+ </array>
2605
+ </dict>
2606
+ <key>nest_parens_i</key>
2607
+ <dict>
2608
+ <key>begin</key>
2609
+ <string>\(</string>
2610
+ <key>captures</key>
2611
+ <dict>
2612
+ <key>0</key>
2613
+ <dict>
2614
+ <key>name</key>
2615
+ <string>punctuation.section.scope.ruby</string>
2616
+ </dict>
2617
+ </dict>
2618
+ <key>end</key>
2619
+ <string>\)</string>
2620
+ <key>patterns</key>
2621
+ <array>
2622
+ <dict>
2623
+ <key>include</key>
2624
+ <string>#interpolated_ruby</string>
2625
+ </dict>
2626
+ <dict>
2627
+ <key>include</key>
2628
+ <string>#escaped_char</string>
2629
+ </dict>
2630
+ <dict>
2631
+ <key>include</key>
2632
+ <string>#nest_parens_i</string>
2633
+ </dict>
2634
+ </array>
2635
+ </dict>
2636
+ <key>nest_parens_r</key>
2637
+ <dict>
2638
+ <key>begin</key>
2639
+ <string>\(</string>
2640
+ <key>captures</key>
2641
+ <dict>
2642
+ <key>0</key>
2643
+ <dict>
2644
+ <key>name</key>
2645
+ <string>punctuation.section.scope.ruby</string>
2646
+ </dict>
2647
+ </dict>
2648
+ <key>end</key>
2649
+ <string>\)</string>
2650
+ <key>patterns</key>
2651
+ <array>
2652
+ <dict>
2653
+ <key>include</key>
2654
+ <string>#regex_sub</string>
2655
+ </dict>
2656
+ <dict>
2657
+ <key>include</key>
2658
+ <string>#nest_parens_r</string>
2659
+ </dict>
2660
+ </array>
2661
+ </dict>
2662
+ <key>regex_sub</key>
2663
+ <dict>
2664
+ <key>patterns</key>
2665
+ <array>
2666
+ <dict>
2667
+ <key>include</key>
2668
+ <string>#interpolated_ruby</string>
2669
+ </dict>
2670
+ <dict>
2671
+ <key>include</key>
2672
+ <string>#escaped_char</string>
2673
+ </dict>
2674
+ <dict>
2675
+ <key>captures</key>
2676
+ <dict>
2677
+ <key>1</key>
2678
+ <dict>
2679
+ <key>name</key>
2680
+ <string>punctuation.definition.arbitrary-repitition.ruby</string>
2681
+ </dict>
2682
+ <key>3</key>
2683
+ <dict>
2684
+ <key>name</key>
2685
+ <string>punctuation.definition.arbitrary-repitition.ruby</string>
2686
+ </dict>
2687
+ </dict>
2688
+ <key>match</key>
2689
+ <string>(\{)\d+(,\d+)?(\})</string>
2690
+ <key>name</key>
2691
+ <string>string.regexp.arbitrary-repitition.ruby</string>
2692
+ </dict>
2693
+ <dict>
2694
+ <key>begin</key>
2695
+ <string>\[(?:\^?\])?</string>
2696
+ <key>captures</key>
2697
+ <dict>
2698
+ <key>0</key>
2699
+ <dict>
2700
+ <key>name</key>
2701
+ <string>punctuation.definition.character-class.ruby</string>
2702
+ </dict>
2703
+ </dict>
2704
+ <key>end</key>
2705
+ <string>\]</string>
2706
+ <key>name</key>
2707
+ <string>string.regexp.character-class.ruby</string>
2708
+ <key>patterns</key>
2709
+ <array>
2710
+ <dict>
2711
+ <key>include</key>
2712
+ <string>#escaped_char</string>
2713
+ </dict>
2714
+ </array>
2715
+ </dict>
2716
+ <dict>
2717
+ <key>begin</key>
2718
+ <string>\(</string>
2719
+ <key>captures</key>
2720
+ <dict>
2721
+ <key>0</key>
2722
+ <dict>
2723
+ <key>name</key>
2724
+ <string>punctuation.definition.group.ruby</string>
2725
+ </dict>
2726
+ </dict>
2727
+ <key>end</key>
2728
+ <string>\)</string>
2729
+ <key>name</key>
2730
+ <string>string.regexp.group.ruby</string>
2731
+ <key>patterns</key>
2732
+ <array>
2733
+ <dict>
2734
+ <key>include</key>
2735
+ <string>#regex_sub</string>
2736
+ </dict>
2737
+ </array>
2738
+ </dict>
2739
+ <dict>
2740
+ <key>captures</key>
2741
+ <dict>
2742
+ <key>1</key>
2743
+ <dict>
2744
+ <key>name</key>
2745
+ <string>punctuation.definition.comment.ruby</string>
2746
+ </dict>
2747
+ </dict>
2748
+ <key>comment</key>
2749
+ <string>We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.</string>
2750
+ <key>match</key>
2751
+ <string>(?&lt;=^|\s)(#)\s[[a-zA-Z0-9,. \t?!-][^\x{00}-\x{7F}]]*$</string>
2752
+ <key>name</key>
2753
+ <string>comment.line.number-sign.ruby</string>
2754
+ </dict>
2755
+ </array>
2756
+ </dict>
2757
+ </dict>
2758
+ <key>scopeName</key>
2759
+ <string>source.ruby</string>
2760
+ <key>uuid</key>
2761
+ <string>E00B62AC-6B1C-11D9-9B1F-000D93589AF6</string>
2762
+ </dict>
2763
+ </plist>