redcar 0.3.1dev → 0.3.2dev

Sign up to get free protection for your applications and to get access to all the features.
Files changed (316) hide show
  1. data/CHANGES +34 -1
  2. data/README.md +2 -1
  3. data/ROADMAP.md +13 -45
  4. data/Rakefile +15 -14
  5. data/bin/redcar +4 -1
  6. data/lib/plugin_manager/README.md +61 -0
  7. data/lib/plugin_manager/Rakefile +55 -0
  8. data/lib/plugin_manager/bin/plugin_manager +4 -0
  9. data/lib/plugin_manager/lib/plugin_manager.rb +107 -0
  10. data/lib/plugin_manager/lib/plugin_manager/definition_builder.rb +37 -0
  11. data/lib/plugin_manager/lib/plugin_manager/plugin.rb +9 -0
  12. data/lib/plugin_manager/lib/plugin_manager/plugin_definition.rb +50 -0
  13. data/lib/plugin_manager/plugin_manager.gemspec +33 -0
  14. data/lib/plugin_manager/spec/fixtures/error_in_definition/core/plugin.rb +2 -0
  15. data/lib/plugin_manager/spec/fixtures/error_in_plugin/core/core.rb +4 -0
  16. data/lib/plugin_manager/spec/fixtures/error_in_plugin/core/plugin.rb +7 -0
  17. data/lib/plugin_manager/spec/fixtures/example/core/core.rb +20 -0
  18. data/lib/plugin_manager/spec/fixtures/example/core/plugin.rb +7 -0
  19. data/lib/plugin_manager/spec/fixtures/example/debug/debug.rb +6 -0
  20. data/lib/plugin_manager/spec/fixtures/example/debug/plugin.rb +8 -0
  21. data/lib/plugin_manager/spec/fixtures/example/extras/extras.rb +6 -0
  22. data/lib/plugin_manager/spec/fixtures/example/extras/plugin.rb +8 -0
  23. data/lib/plugin_manager/spec/fixtures/two_versions1/core/core.rb +20 -0
  24. data/lib/plugin_manager/spec/fixtures/two_versions1/core/plugin.rb +7 -0
  25. data/lib/plugin_manager/spec/fixtures/two_versions1/core2/core.rb +20 -0
  26. data/lib/plugin_manager/spec/fixtures/two_versions1/core2/plugin.rb +7 -0
  27. data/lib/plugin_manager/spec/fixtures/two_versions2/core/core.rb +20 -0
  28. data/lib/plugin_manager/spec/fixtures/two_versions2/core/plugin.rb +7 -0
  29. data/lib/plugin_manager/spec/fixtures/two_versions2/core2/core.rb +20 -0
  30. data/lib/plugin_manager/spec/fixtures/two_versions2/core2/plugin.rb +8 -0
  31. data/lib/plugin_manager/spec/fixtures/unmet_dependencies1/core/core.rb +10 -0
  32. data/lib/plugin_manager/spec/fixtures/unmet_dependencies1/core/plugin.rb +7 -0
  33. data/lib/plugin_manager/spec/fixtures/unmet_dependencies1/debug/debug.rb +6 -0
  34. data/lib/plugin_manager/spec/fixtures/unmet_dependencies1/debug/plugin.rb +8 -0
  35. data/lib/plugin_manager/spec/fixtures/unmet_dependencies2/core/core.rb +10 -0
  36. data/lib/plugin_manager/spec/fixtures/unmet_dependencies2/core/plugin.rb +7 -0
  37. data/lib/plugin_manager/spec/fixtures/unmet_dependencies2/debug/debug.rb +6 -0
  38. data/lib/plugin_manager/spec/fixtures/unmet_dependencies2/debug/plugin.rb +8 -0
  39. data/lib/plugin_manager/spec/plugin_manager_spec.rb +208 -0
  40. data/lib/plugin_manager/spec/spec_helper.rb +3 -0
  41. data/lib/redcar.rb +8 -3
  42. data/lib/redcar/boot.rb +59 -56
  43. data/lib/redcar/installer.rb +1 -1
  44. data/lib/redcar/instance_exec.rb +25 -0
  45. data/lib/redcar/runner.rb +5 -1
  46. data/lib/redcar/usage.rb +5 -1
  47. data/plugins/application/icons/close.png +0 -0
  48. data/plugins/application/lib/application.rb +61 -28
  49. data/plugins/application/lib/application/clipboard.rb +71 -0
  50. data/plugins/application/lib/application/dialog.rb +63 -0
  51. data/plugins/application/lib/application/menu.rb +32 -1
  52. data/plugins/application/lib/application/menu/builder.rb +10 -4
  53. data/plugins/application/lib/application/menu/item.rb +16 -3
  54. data/plugins/application/lib/application/notebook.rb +5 -0
  55. data/plugins/application/lib/application/speedbar.rb +73 -0
  56. data/plugins/application/lib/application/window.rb +25 -0
  57. data/plugins/application/plugin.rb +8 -0
  58. data/plugins/application/spec/application/clipboard_spec.rb +36 -0
  59. data/plugins/application/spec/application/menu_spec.rb +73 -1
  60. data/plugins/application/spec/application/speedbar_spec.rb +46 -0
  61. data/plugins/application/spec/spec_helper.rb +1 -1
  62. data/plugins/application_swt/lib/application_swt.rb +18 -11
  63. data/plugins/application_swt/lib/application_swt/clipboard.rb +42 -0
  64. data/plugins/application_swt/lib/application_swt/dialog_adapter.rb +68 -0
  65. data/plugins/application_swt/lib/application_swt/dialogs/filter_list_dialog_controller.rb +1 -1
  66. data/plugins/application_swt/lib/application_swt/html_tab.rb +32 -0
  67. data/plugins/application_swt/lib/application_swt/menu.rb +57 -21
  68. data/plugins/application_swt/lib/application_swt/menu/binding_translator.rb +39 -2
  69. data/plugins/application_swt/lib/application_swt/notebook.rb +5 -0
  70. data/plugins/application_swt/lib/application_swt/speedbar.rb +187 -0
  71. data/plugins/application_swt/lib/application_swt/swt_wrapper.rb +24 -1
  72. data/plugins/application_swt/lib/application_swt/window.rb +33 -3
  73. data/plugins/application_swt/plugin.rb +8 -0
  74. data/plugins/application_swt/spec/spec_helper.rb +1 -1
  75. data/plugins/auto_completer/features/auto_complete.feature +65 -0
  76. data/plugins/auto_completer/features/step_definitions/auto_complete_steps.rb +4 -0
  77. data/plugins/auto_completer/features/support/env.rb +4 -0
  78. data/plugins/auto_completer/lib/auto_completer.rb +99 -0
  79. data/plugins/auto_completer/lib/auto_completer/document_controller.rb +52 -0
  80. data/plugins/auto_completer/lib/auto_completer/word_iterator.rb +48 -0
  81. data/plugins/auto_completer/lib/auto_completer/word_list.rb +40 -0
  82. data/plugins/auto_completer/plugin.rb +10 -0
  83. data/plugins/auto_indenter/lib/auto_indenter.rb +1 -1
  84. data/plugins/auto_indenter/lib/auto_indenter/document_controller.rb +1 -1
  85. data/plugins/auto_indenter/plugin.rb +8 -0
  86. data/plugins/core/lib/core.rb +6 -30
  87. data/plugins/core/lib/core/gui.rb +7 -2
  88. data/plugins/core/lib/core/logger.rb +7 -4
  89. data/plugins/core/lib/core/plugin/storage.rb +15 -5
  90. data/plugins/core/plugin.rb +7 -0
  91. data/plugins/core/spec/core/storage_spec.rb +0 -9
  92. data/plugins/edit_view/features/cut_and_paste.feature +45 -0
  93. data/plugins/edit_view/features/step_definitions/editing_steps.rb +22 -0
  94. data/plugins/edit_view/features/step_definitions/key_steps.rb +1 -1
  95. data/plugins/edit_view/features/step_definitions/notebook_steps.rb +1 -1
  96. data/plugins/edit_view/features/step_definitions/tab_steps.rb +2 -0
  97. data/plugins/edit_view/features/step_definitions/window_steps.rb +1 -1
  98. data/plugins/edit_view/features/support/env.rb +2 -2
  99. data/plugins/edit_view/lib/edit_view.rb +24 -13
  100. data/plugins/edit_view/lib/edit_view/document.rb +233 -15
  101. data/plugins/edit_view/lib/edit_view/edit_tab.rb +2 -2
  102. data/plugins/edit_view/plugin.rb +9 -0
  103. data/plugins/edit_view/spec/spec_helper.rb +1 -1
  104. data/plugins/edit_view_swt/lib/edit_view_swt.rb +37 -8
  105. data/plugins/edit_view_swt/lib/edit_view_swt/document.rb +59 -24
  106. data/plugins/edit_view_swt/lib/edit_view_swt/word_movement.rb +66 -0
  107. data/plugins/edit_view_swt/plugin.rb +9 -0
  108. data/plugins/edit_view_swt/spec/edit_view_swt/word_movement_spec.rb +29 -0
  109. data/plugins/edit_view_swt/spec/spec_helper.rb +6 -0
  110. data/plugins/html_view/assets/blueprint/ie.css +35 -0
  111. data/plugins/html_view/assets/blueprint/print.css +29 -0
  112. data/plugins/html_view/assets/blueprint/screen.css +257 -0
  113. data/plugins/html_view/assets/blueprint/src/forms.css +65 -0
  114. data/plugins/html_view/assets/blueprint/src/grid.css +281 -0
  115. data/plugins/html_view/assets/blueprint/src/grid.png +0 -0
  116. data/plugins/html_view/assets/blueprint/src/ie.css +76 -0
  117. data/plugins/html_view/assets/blueprint/src/print.css +85 -0
  118. data/plugins/html_view/assets/blueprint/src/reset.css +38 -0
  119. data/plugins/html_view/assets/blueprint/src/typography.css +106 -0
  120. data/plugins/html_view/assets/jquery-1.4.min.js +151 -0
  121. data/plugins/html_view/assets/redcar.css +12 -0
  122. data/plugins/html_view/lib/html_controller.rb +5 -0
  123. data/plugins/html_view/lib/html_view.rb +47 -0
  124. data/plugins/html_view/lib/html_view/html_tab.rb +16 -0
  125. data/plugins/html_view/plugin.rb +12 -0
  126. data/plugins/my_plugin/lib/my_plugin.rb +55 -0
  127. data/plugins/my_plugin/plugin.rb +8 -0
  128. data/plugins/plugin_manager_ui/lib/plugin_manager_ui.rb +62 -0
  129. data/plugins/plugin_manager_ui/plugin.rb +12 -0
  130. data/plugins/plugin_manager_ui/views/index.html.erb +31 -0
  131. data/plugins/project/lib/project.rb +27 -13
  132. data/plugins/project/lib/project/find_file_dialog.rb +25 -19
  133. data/plugins/project/plugin.rb +8 -0
  134. data/plugins/project/spec/spec_helper.rb +1 -1
  135. data/plugins/redcar/plugin.rb +13 -0
  136. data/plugins/redcar/redcar.rb +249 -8
  137. data/plugins/repl/lib/repl.rb +22 -14
  138. data/plugins/repl/plugin.rb +8 -0
  139. data/plugins/repl/spec/spec_helper.rb +1 -1
  140. data/plugins/tree/plugin.rb +9 -0
  141. data/plugins/tree/spec/spec_helper.rb +1 -1
  142. data/plugins/tree_view_swt/plugin.rb +9 -0
  143. data/textmate/Bundles/Apache.tmbundle/Syntaxes/Apache.plist +544 -0
  144. data/textmate/Bundles/Apache.tmbundle/Syntaxes/mod_perl.tmLanguage +120 -0
  145. data/textmate/Bundles/Blogging.tmbundle/Syntaxes/Blog___HTML__.plist +88 -0
  146. data/textmate/Bundles/Blogging.tmbundle/Syntaxes/Blog___Markdown__.plist +89 -0
  147. data/textmate/Bundles/Blogging.tmbundle/Syntaxes/Blog___Text__.plist +74 -0
  148. data/textmate/Bundles/Blogging.tmbundle/Syntaxes/Blog___Textile__.plist +74 -0
  149. data/textmate/Bundles/Bundle Development.tmbundle/Syntaxes/LanguageGrammar.tmLanguage +1829 -0
  150. data/textmate/Bundles/C Sharp.tmbundle/Syntaxes/Build.tmLanguage +142 -0
  151. data/textmate/Bundles/C Sharp.tmbundle/Syntaxes/C__.tmLanguage +524 -0
  152. data/textmate/Bundles/C++ Qt.tmbundle/Syntaxes/Qt_C____.tmLanguage +62 -0
  153. data/textmate/Bundles/C++ Qt.tmbundle/Syntaxes/qmake_Project.tmLanguage +308 -0
  154. data/textmate/Bundles/C.tmbundle/Syntaxes/C.plist +90 -48
  155. data/textmate/Bundles/Clojure.tmbundle/Syntaxes/Clojure.tmLanguage +427 -0
  156. data/textmate/Bundles/Cucumber.tmbundle/Syntaxes/Cucumber_Plain_Text_Feature.tmLanguage +106 -13
  157. data/textmate/Bundles/Cucumber.tmbundle/Syntaxes/Cucumber_Steps.tmLanguage +177 -2
  158. data/textmate/Bundles/Cucumber.tmbundle/Syntaxes/plaintext_template.erb +109 -17
  159. data/textmate/Bundles/D.tmbundle/Syntaxes/D.tmLanguage +908 -0
  160. data/textmate/Bundles/Diff.tmbundle/Syntaxes/Diff.plist +229 -0
  161. data/textmate/Bundles/DokuWiki.tmbundle/Syntaxes/DokuWiki.tmLanguage +649 -0
  162. data/textmate/Bundles/F-Script.tmbundle/Syntaxes/F__Script.plist +219 -0
  163. data/textmate/Bundles/Haskell.tmbundle/Syntaxes/Haskell.plist +646 -0
  164. data/textmate/Bundles/Haskell.tmbundle/Syntaxes/Literate_Haskell.plist +90 -0
  165. data/textmate/Bundles/Io.tmbundle/Syntaxes/Io.plist +225 -0
  166. data/textmate/Bundles/JSON.tmbundle/Syntaxes/JSON.tmLanguage +285 -0
  167. data/textmate/Bundles/JavaScript Prototype & Script_aculo_us.tmbundle/Syntaxes/JavaScript____Prototype.tmLanguage +193 -0
  168. data/textmate/Bundles/JavaScript Prototype & Script_aculo_us.tmbundle/Syntaxes/JavaScript____Prototype_Bracketed.tmLanguage +394 -0
  169. data/textmate/Bundles/JavaScript jQuery.tmbundle/Syntaxes/jQuery___JavaScript__.tmLanguage +440 -0
  170. data/textmate/Bundles/JavaScript.tmbundle/Syntaxes/JavaScript.plist +712 -0
  171. data/textmate/Bundles/Latex.tmbundle/Syntaxes/Bibtex.plist +406 -0
  172. data/textmate/Bundles/Latex.tmbundle/Syntaxes/LaTeX.plist +1601 -0
  173. data/textmate/Bundles/Latex.tmbundle/Syntaxes/LaTeX_Beamer.plist +106 -0
  174. data/textmate/Bundles/Latex.tmbundle/Syntaxes/LaTeX_Log.plist +141 -0
  175. data/textmate/Bundles/Latex.tmbundle/Syntaxes/LaTeX_Memoir.tmLanguage +165 -0
  176. data/textmate/Bundles/Latex.tmbundle/Syntaxes/TeX.plist +246 -0
  177. data/textmate/Bundles/Latex.tmbundle/Syntaxes/TeX_Math.plist +132 -0
  178. data/textmate/Bundles/Lisp.tmbundle/Syntaxes/Lisp.plist +160 -0
  179. data/textmate/Bundles/Makefile.tmbundle/Syntaxes/Makefile.plist +103 -0
  180. data/textmate/Bundles/Markdown.tmbundle/Syntaxes/Markdown.plist +1192 -0
  181. data/textmate/Bundles/Markdown.tmbundle/Syntaxes/MultiMarkdown.tmLanguage +80 -0
  182. data/textmate/Bundles/PHP.tmbundle/Syntaxes/PHP.plist +3481 -0
  183. data/textmate/Bundles/Perl HTML-Template.tmbundle/Syntaxes/Perl_HTML__Template.tmLanguage +217 -0
  184. data/textmate/Bundles/Perl Template Toolkit.tmbundle/Syntaxes/HTML___Template_Toolkit__.tmLanguage +339 -0
  185. data/textmate/Bundles/Postscript.tmbundle/Syntaxes/Postscript.tmLanguage +321 -0
  186. data/textmate/Bundles/Processing.tmbundle/Syntaxes/Processing.plist +296 -0
  187. data/textmate/Bundles/Property List.tmbundle/Syntaxes/Property_List.tmLanguage +1650 -0
  188. data/textmate/Bundles/Python Django Templates.tmbundle/Syntaxes/HTML___Django__.tmLanguage +104 -0
  189. data/textmate/Bundles/Python Django.tmbundle/Syntaxes/Python_Django.tmLanguage +57 -0
  190. data/textmate/Bundles/Python.tmbundle/Syntaxes/Python.tmLanguage +3016 -0
  191. data/textmate/Bundles/Python.tmbundle/Syntaxes/Regular_Expressions___Python__.tmLanguage +299 -0
  192. data/textmate/Bundles/Rez.tmbundle/Syntaxes/Rez.plist +219 -0
  193. data/textmate/Bundles/Ruby Haml.tmbundle/Syntaxes/Ruby_Haml.tmLanguage +403 -0
  194. data/textmate/Bundles/Ruby RSpec.tmbundle/Syntaxes/RSpec.tmLanguage +142 -0
  195. data/textmate/Bundles/Ruby.tmbundle/Syntaxes/Ruby.plist +139 -49
  196. data/textmate/Bundles/SQL.tmbundle/Syntaxes/SQL.plist +705 -0
  197. data/textmate/Bundles/SSH-Config.tmbundle/Syntaxes/SSH__Config.tmLanguage +88 -0
  198. data/textmate/Bundles/Scala.tmbundle/Syntaxes/Scala.tmLanguage +609 -0
  199. data/textmate/Bundles/Scala.tmbundle/Syntaxes/Scala_Properties.tmLanguage +54 -0
  200. data/textmate/Bundles/ShellScript.tmbundle/Syntaxes/Shell__Unix__Generic.plist +1855 -0
  201. data/textmate/Bundles/Tabular.tmbundle/Syntaxes/CSV.tmLanguage +178 -0
  202. data/textmate/Bundles/Tabular.tmbundle/Syntaxes/TSV.tmLanguage +135 -0
  203. data/textmate/Bundles/TextMate.tmbundle/Syntaxes/Regular_Expressions___Oniguruma__.tmLanguage +295 -0
  204. data/textmate/Bundles/TextMate.tmbundle/Syntaxes/Release_Notes.tmLanguage +126 -0
  205. data/textmate/Bundles/Textile.tmbundle/Syntaxes/Textile.plist +490 -0
  206. data/textmate/Bundles/Thrift.tmbundle/Syntaxes/Thrift.tmLanguage +1024 -0
  207. data/textmate/Bundles/XML.tmbundle/Syntaxes/XML.plist +576 -0
  208. data/textmate/Bundles/XML.tmbundle/Syntaxes/XSL.plist +157 -0
  209. data/textmate/Bundles/YAML.tmbundle/Syntaxes/YAML.plist +466 -0
  210. data/textmate/Themes/Django.tmTheme +436 -0
  211. metadata +371 -325
  212. data/config/default.yaml +0 -15
  213. data/lib/freebase2/README.txt +0 -47
  214. data/lib/freebase2/bin/default.yaml +0 -15
  215. data/lib/freebase2/bin/install.rb +0 -42
  216. data/lib/freebase2/bin/run.rb +0 -48
  217. data/lib/freebase2/lib/freebase/configuration.rb +0 -535
  218. data/lib/freebase2/lib/freebase/core.rb +0 -197
  219. data/lib/freebase2/lib/freebase/databus.rb +0 -1128
  220. data/lib/freebase2/lib/freebase/freebase.rb +0 -60
  221. data/lib/freebase2/lib/freebase/logger.rb +0 -117
  222. data/lib/freebase2/lib/freebase/plugin.rb +0 -384
  223. data/lib/freebase2/lib/freebase/properties.rb +0 -130
  224. data/lib/freebase2/lib/freebase/readers.rb +0 -328
  225. data/lib/freebase2/notes +0 -61
  226. data/lib/freebase2/plugins/raa_webrick/httpd.rb +0 -125
  227. data/lib/freebase2/plugins/raa_webrick/plugin.yaml +0 -7
  228. data/lib/freebase2/plugins/raa_webrick/web_root/test.html +0 -5
  229. data/lib/freebase2/plugins/raa_webrick/webserver.yaml +0 -6
  230. data/lib/freebase2/plugins/raa_xmlrpc4r/plugin.xml +0 -8
  231. data/lib/freebase2/plugins/raa_xmlrpc4r/rpcd.rb +0 -54
  232. data/lib/freebase2/regress/README +0 -1
  233. data/lib/little_plugger/History.txt +0 -20
  234. data/lib/little_plugger/Rakefile +0 -34
  235. data/lib/little_plugger/lib/little-plugger.rb +0 -323
  236. data/lib/little_plugger/spec/little-plugger_spec.rb +0 -26
  237. data/lib/little_plugger/spec/spec_helper.rb +0 -16
  238. data/lib/logging/History.txt +0 -240
  239. data/lib/logging/Rakefile +0 -37
  240. data/lib/logging/data/bad_logging_1.rb +0 -13
  241. data/lib/logging/data/bad_logging_2.rb +0 -21
  242. data/lib/logging/data/logging.rb +0 -42
  243. data/lib/logging/data/logging.yaml +0 -63
  244. data/lib/logging/data/simple_logging.rb +0 -13
  245. data/lib/logging/examples/appenders.rb +0 -47
  246. data/lib/logging/examples/classes.rb +0 -41
  247. data/lib/logging/examples/consolidation.rb +0 -83
  248. data/lib/logging/examples/formatting.rb +0 -51
  249. data/lib/logging/examples/hierarchies.rb +0 -73
  250. data/lib/logging/examples/layouts.rb +0 -48
  251. data/lib/logging/examples/loggers.rb +0 -29
  252. data/lib/logging/examples/names.rb +0 -43
  253. data/lib/logging/examples/simple.rb +0 -17
  254. data/lib/logging/lib/logging.rb +0 -501
  255. data/lib/logging/lib/logging/appender.rb +0 -251
  256. data/lib/logging/lib/logging/appenders.rb +0 -131
  257. data/lib/logging/lib/logging/appenders/buffering.rb +0 -168
  258. data/lib/logging/lib/logging/appenders/console.rb +0 -60
  259. data/lib/logging/lib/logging/appenders/email.rb +0 -75
  260. data/lib/logging/lib/logging/appenders/file.rb +0 -58
  261. data/lib/logging/lib/logging/appenders/growl.rb +0 -197
  262. data/lib/logging/lib/logging/appenders/io.rb +0 -69
  263. data/lib/logging/lib/logging/appenders/rolling_file.rb +0 -293
  264. data/lib/logging/lib/logging/appenders/string_io.rb +0 -68
  265. data/lib/logging/lib/logging/appenders/syslog.rb +0 -194
  266. data/lib/logging/lib/logging/config/configurator.rb +0 -188
  267. data/lib/logging/lib/logging/config/yaml_configurator.rb +0 -191
  268. data/lib/logging/lib/logging/layout.rb +0 -117
  269. data/lib/logging/lib/logging/layouts.rb +0 -47
  270. data/lib/logging/lib/logging/layouts/basic.rb +0 -32
  271. data/lib/logging/lib/logging/layouts/parseable.rb +0 -211
  272. data/lib/logging/lib/logging/layouts/pattern.rb +0 -311
  273. data/lib/logging/lib/logging/log_event.rb +0 -45
  274. data/lib/logging/lib/logging/logger.rb +0 -503
  275. data/lib/logging/lib/logging/repository.rb +0 -232
  276. data/lib/logging/lib/logging/root_logger.rb +0 -61
  277. data/lib/logging/lib/logging/stats.rb +0 -278
  278. data/lib/logging/lib/logging/utils.rb +0 -153
  279. data/lib/logging/lib/spec/logging_helper.rb +0 -34
  280. data/lib/logging/test/appenders/test_buffered_io.rb +0 -176
  281. data/lib/logging/test/appenders/test_console.rb +0 -66
  282. data/lib/logging/test/appenders/test_email.rb +0 -170
  283. data/lib/logging/test/appenders/test_file.rb +0 -95
  284. data/lib/logging/test/appenders/test_growl.rb +0 -127
  285. data/lib/logging/test/appenders/test_io.rb +0 -129
  286. data/lib/logging/test/appenders/test_rolling_file.rb +0 -200
  287. data/lib/logging/test/appenders/test_syslog.rb +0 -194
  288. data/lib/logging/test/benchmark.rb +0 -86
  289. data/lib/logging/test/config/test_configurator.rb +0 -70
  290. data/lib/logging/test/config/test_yaml_configurator.rb +0 -40
  291. data/lib/logging/test/layouts/test_basic.rb +0 -42
  292. data/lib/logging/test/layouts/test_json.rb +0 -112
  293. data/lib/logging/test/layouts/test_pattern.rb +0 -198
  294. data/lib/logging/test/layouts/test_yaml.rb +0 -121
  295. data/lib/logging/test/setup.rb +0 -44
  296. data/lib/logging/test/test_appender.rb +0 -152
  297. data/lib/logging/test/test_consolidate.rb +0 -46
  298. data/lib/logging/test/test_layout.rb +0 -110
  299. data/lib/logging/test/test_log_event.rb +0 -80
  300. data/lib/logging/test/test_logger.rb +0 -699
  301. data/lib/logging/test/test_logging.rb +0 -267
  302. data/lib/logging/test/test_repository.rb +0 -158
  303. data/lib/logging/test/test_root_logger.rb +0 -81
  304. data/lib/logging/test/test_stats.rb +0 -274
  305. data/lib/logging/test/test_utils.rb +0 -116
  306. data/plugins/application/plugin.yaml +0 -11
  307. data/plugins/application_swt/plugin.yaml +0 -11
  308. data/plugins/auto_indenter/plugin.yaml +0 -12
  309. data/plugins/core/plugin.yaml +0 -7
  310. data/plugins/edit_view/plugin.yaml +0 -14
  311. data/plugins/edit_view_swt/plugin.yaml +0 -14
  312. data/plugins/project/plugin.yaml +0 -12
  313. data/plugins/redcar/plugin.yaml +0 -18
  314. data/plugins/repl/plugin.yaml +0 -12
  315. data/plugins/tree/plugin.yaml +0 -14
  316. data/plugins/tree_view_swt/plugin.yaml +0 -14
@@ -26,7 +26,7 @@
26
26
  <key>1</key>
27
27
  <dict>
28
28
  <key>name</key>
29
- <string>string.quoted.ruby</string>
29
+ <string>string.quoted.double.ruby</string>
30
30
  </dict>
31
31
  <key>2</key>
32
32
  <dict>
@@ -42,6 +42,10 @@
42
42
  <string>((\1))</string>
43
43
  <key>patterns</key>
44
44
  <array>
45
+ <dict>
46
+ <key>include</key>
47
+ <string>#interpolated_ruby</string>
48
+ </dict>
45
49
  <dict>
46
50
  <key>include</key>
47
51
  <string>#regex_sub</string>
@@ -56,7 +60,7 @@
56
60
  <key>1</key>
57
61
  <dict>
58
62
  <key>name</key>
59
- <string>string.quoted.ruby</string>
63
+ <string>string.quoted.single.ruby</string>
60
64
  </dict>
61
65
  <key>2</key>
62
66
  <dict>
@@ -76,6 +80,10 @@
76
80
  <key>include</key>
77
81
  <string>#regex_sub</string>
78
82
  </dict>
83
+ <dict>
84
+ <key>include</key>
85
+ <string>#interpolated_ruby</string>
86
+ </dict>
79
87
  </array>
80
88
  </dict>
81
89
  <dict>
@@ -138,6 +146,41 @@
138
146
  </dict>
139
147
  </array>
140
148
  </dict>
149
+ <dict>
150
+ <key>begin</key>
151
+ <string>(?&gt;&lt;&lt;-CUCUMBER\b)</string>
152
+ <key>beginCaptures</key>
153
+ <dict>
154
+ <key>0</key>
155
+ <dict>
156
+ <key>name</key>
157
+ <string>punctuation.definition.string.begin.ruby</string>
158
+ </dict>
159
+ </dict>
160
+ <key>comment</key>
161
+ <string>embedded Cucumber feature</string>
162
+ <key>contentName</key>
163
+ <string>text.cucumber.embedded.ruby</string>
164
+ <key>end</key>
165
+ <string>\s*CUCUMBER$</string>
166
+ <key>endCaptures</key>
167
+ <dict>
168
+ <key>0</key>
169
+ <dict>
170
+ <key>name</key>
171
+ <string>punctuation.definition.string.end.ruby</string>
172
+ </dict>
173
+ </dict>
174
+ <key>name</key>
175
+ <string>string.unquoted.embedded.cucumber.feature</string>
176
+ <key>patterns</key>
177
+ <array>
178
+ <dict>
179
+ <key>include</key>
180
+ <string>text.cucumber.feature</string>
181
+ </dict>
182
+ </array>
183
+ </dict>
141
184
  <dict>
142
185
  <key>include</key>
143
186
  <string>source.ruby</string>
@@ -145,6 +188,138 @@
145
188
  </array>
146
189
  <key>repository</key>
147
190
  <dict>
191
+ <key>escaped_char</key>
192
+ <dict>
193
+ <key>match</key>
194
+ <string>\\(?:[0-7]{1,3}|x[\da-fA-F]{1,2}|.)</string>
195
+ <key>name</key>
196
+ <string>constant.character.escape.ruby</string>
197
+ </dict>
198
+ <key>interpolated_ruby</key>
199
+ <dict>
200
+ <key>patterns</key>
201
+ <array>
202
+ <dict>
203
+ <key>captures</key>
204
+ <dict>
205
+ <key>0</key>
206
+ <dict>
207
+ <key>name</key>
208
+ <string>punctuation.section.embedded.ruby</string>
209
+ </dict>
210
+ <key>1</key>
211
+ <dict>
212
+ <key>name</key>
213
+ <string>source.ruby.embedded.source.empty</string>
214
+ </dict>
215
+ </dict>
216
+ <key>match</key>
217
+ <string>#\{(\})</string>
218
+ <key>name</key>
219
+ <string>source.ruby.embedded.source</string>
220
+ </dict>
221
+ <dict>
222
+ <key>begin</key>
223
+ <string>#\{</string>
224
+ <key>captures</key>
225
+ <dict>
226
+ <key>0</key>
227
+ <dict>
228
+ <key>name</key>
229
+ <string>punctuation.section.embedded.ruby</string>
230
+ </dict>
231
+ </dict>
232
+ <key>end</key>
233
+ <string>\}</string>
234
+ <key>name</key>
235
+ <string>source.ruby.embedded.source</string>
236
+ <key>patterns</key>
237
+ <array>
238
+ <dict>
239
+ <key>include</key>
240
+ <string>#nest_curly_and_self</string>
241
+ </dict>
242
+ <dict>
243
+ <key>include</key>
244
+ <string>source.ruby</string>
245
+ </dict>
246
+ </array>
247
+ </dict>
248
+ <dict>
249
+ <key>captures</key>
250
+ <dict>
251
+ <key>1</key>
252
+ <dict>
253
+ <key>name</key>
254
+ <string>punctuation.definition.variable.ruby</string>
255
+ </dict>
256
+ </dict>
257
+ <key>match</key>
258
+ <string>(#@)[a-zA-Z_]\w*</string>
259
+ <key>name</key>
260
+ <string>variable.other.readwrite.instance.ruby</string>
261
+ </dict>
262
+ <dict>
263
+ <key>captures</key>
264
+ <dict>
265
+ <key>1</key>
266
+ <dict>
267
+ <key>name</key>
268
+ <string>punctuation.definition.variable.ruby</string>
269
+ </dict>
270
+ </dict>
271
+ <key>match</key>
272
+ <string>(#@@)[a-zA-Z_]\w*</string>
273
+ <key>name</key>
274
+ <string>variable.other.readwrite.class.ruby</string>
275
+ </dict>
276
+ <dict>
277
+ <key>captures</key>
278
+ <dict>
279
+ <key>1</key>
280
+ <dict>
281
+ <key>name</key>
282
+ <string>punctuation.definition.variable.ruby</string>
283
+ </dict>
284
+ </dict>
285
+ <key>match</key>
286
+ <string>(#\$)[a-zA-Z_]\w*</string>
287
+ <key>name</key>
288
+ <string>variable.other.readwrite.global.ruby</string>
289
+ </dict>
290
+ </array>
291
+ </dict>
292
+ <key>nest_curly_and_self</key>
293
+ <dict>
294
+ <key>patterns</key>
295
+ <array>
296
+ <dict>
297
+ <key>begin</key>
298
+ <string>\{</string>
299
+ <key>captures</key>
300
+ <dict>
301
+ <key>0</key>
302
+ <dict>
303
+ <key>name</key>
304
+ <string>punctuation.section.scope.ruby</string>
305
+ </dict>
306
+ </dict>
307
+ <key>end</key>
308
+ <string>\}</string>
309
+ <key>patterns</key>
310
+ <array>
311
+ <dict>
312
+ <key>include</key>
313
+ <string>#nest_curly_and_self</string>
314
+ </dict>
315
+ </array>
316
+ </dict>
317
+ <dict>
318
+ <key>include</key>
319
+ <string>source.ruby</string>
320
+ </dict>
321
+ </array>
322
+ </dict>
148
323
  <key>regex_sub</key>
149
324
  <dict>
150
325
  <key>patterns</key>
@@ -6,16 +6,18 @@
6
6
  <array>
7
7
  <string>feature</string>
8
8
  </array>
9
+ <key>firstLineMatch</key>
10
+ <string><%= feature_keywords %>(.*)</string>
11
+ <key>foldingStartMarker</key>
12
+ <string>^\s*\b(<%= scenario_keywords %>:)</string>
13
+ <key>foldingStopMarker</key>
14
+ <string>^\s*$</string>
9
15
  <key>keyEquivalent</key>
10
16
  <string>^~C</string>
11
17
  <key>name</key>
12
18
  <string>Cucumber Plain Text Feature</string>
13
19
  <key>patterns</key>
14
20
  <array>
15
- <dict>
16
- <key>include</key>
17
- <string>#scenario_outline_keyword</string>
18
- </dict>
19
21
  <dict>
20
22
  <key>include</key>
21
23
  <string>#scenario_keyword</string>
@@ -38,12 +40,32 @@
38
40
  </dict>
39
41
  <dict>
40
42
  <key>include</key>
41
- <string>#strings</string>
43
+ <string>#strings_triple_quote</string>
44
+ </dict>
45
+ <dict>
46
+ <key>include</key>
47
+ <string>#strings_single_quote</string>
48
+ </dict>
49
+ <dict>
50
+ <key>include</key>
51
+ <string>#strings_double_quote</string>
42
52
  </dict>
43
53
  <dict>
44
54
  <key>include</key>
45
55
  <string>#comments</string>
46
56
  </dict>
57
+ <dict>
58
+ <key>include</key>
59
+ <string>#tags</string>
60
+ </dict>
61
+ <dict>
62
+ <key>include</key>
63
+ <string>#scenario_outline_variable</string>
64
+ </dict>
65
+ <dict>
66
+ <key>include</key>
67
+ <string>#cucumber_table</string>
68
+ </dict>
47
69
  </array>
48
70
  <key>repository</key>
49
71
  <dict>
@@ -54,12 +76,30 @@
54
76
  <key>0</key>
55
77
  <dict>
56
78
  <key>name</key>
57
- <string>comment</string>
79
+ <string>comment.line.number-sign</string>
58
80
  </dict>
59
81
  </dict>
60
82
  <key>match</key>
61
83
  <string>\s*(#.*)</string>
62
84
  </dict>
85
+ <key>cucumber_table</key>
86
+ <dict>
87
+ <key>begin</key>
88
+ <string>^\s*\|</string>
89
+ <key>end</key>
90
+ <string>\|\s*$</string>
91
+ <key>name</key>
92
+ <string>keyword.control.cucumber.table</string>
93
+ <key>patterns</key>
94
+ <array>
95
+ <dict>
96
+ <key>match</key>
97
+ <string>\w</string>
98
+ <key>name</key>
99
+ <string>source</string>
100
+ </dict>
101
+ </array>
102
+ </dict>
63
103
  <key>description</key>
64
104
  <dict>
65
105
  <key>captures</key>
@@ -94,7 +134,7 @@
94
134
  </dict>
95
135
  </dict>
96
136
  <key>match</key>
97
- <string>\b(<%= feature_keywords %>:)(.*)\b</string>
137
+ <string>^\s*(<%= feature_keywords %>:)(.*)\b</string>
98
138
  </dict>
99
139
  <key>line_keyword</key>
100
140
  <dict>
@@ -107,7 +147,7 @@
107
147
  </dict>
108
148
  </dict>
109
149
  <key>match</key>
110
- <string>\b(<%= line_keywords %>)\b</string>
150
+ <string>^\s*(<%= line_keywords %>)\b</string>
111
151
  </dict>
112
152
  <key>pending_keyword</key>
113
153
  <dict>
@@ -125,7 +165,7 @@
125
165
  </dict>
126
166
  </dict>
127
167
  <key>match</key>
128
- <string>\b(Pending)(.*)\b</string>
168
+ <string>^\s*(Pending)(.*)\b</string>
129
169
  </dict>
130
170
  <key>scenario_keyword</key>
131
171
  <dict>
@@ -143,7 +183,7 @@
143
183
  </dict>
144
184
  </dict>
145
185
  <key>match</key>
146
- <string>\b(<%= scenario_keywords %>:)(.*)\b</string>
186
+ <string>^\s*(<%= scenario_keywords %>:)(.*)</string>
147
187
  </dict>
148
188
  <key>scenario_outline_keyword</key>
149
189
  <dict>
@@ -161,27 +201,79 @@
161
201
  </dict>
162
202
  </dict>
163
203
  <key>match</key>
164
- <string>\b(<%= scenario_outline_keywords %>)(.*)\b</string>
204
+ <string>^\s*(<%= scenario_outline_keywords %>)(.*)</string>
205
+ </dict>
206
+ <key>scenario_outline_variable</key>
207
+ <dict>
208
+ <key>begin</key>
209
+ <string>&lt;</string>
210
+ <key>end</key>
211
+ <string>&gt;</string>
212
+ <key>name</key>
213
+ <string>variable.other</string>
165
214
  </dict>
166
- <key>strings</key>
215
+ <key>strings_double_quote</key>
216
+ <dict>
217
+ <key>begin</key>
218
+ <string>"</string>
219
+ <key>end</key>
220
+ <string>"</string>
221
+ <key>name</key>
222
+ <string>string.quoted.double</string>
223
+ <key>patterns</key>
224
+ <array>
225
+ <dict>
226
+ <key>match</key>
227
+ <string>\\.</string>
228
+ <key>name</key>
229
+ <string>constant.character.escape.untitled</string>
230
+ </dict>
231
+ </array>
232
+ </dict>
233
+ <key>strings_single_quote</key>
234
+ <dict>
235
+ <key>begin</key>
236
+ <string>(?&lt;![a-zA-Z"])'</string>
237
+ <key>end</key>
238
+ <string>'(?![a-zA-Z])</string>
239
+ <key>name</key>
240
+ <string>string.quoted.single</string>
241
+ <key>patterns</key>
242
+ <array>
243
+ <dict>
244
+ <key>match</key>
245
+ <string>\\.</string>
246
+ <key>name</key>
247
+ <string>constant.character.escape</string>
248
+ </dict>
249
+ </array>
250
+ </dict>
251
+ <key>strings_triple_quote</key>
252
+ <dict>
253
+ <key>begin</key>
254
+ <string>"""</string>
255
+ <key>end</key>
256
+ <string>"""</string>
257
+ <key>name</key>
258
+ <string>string.quoted.single</string>
259
+ </dict>
260
+ <key>tags</key>
167
261
  <dict>
168
262
  <key>captures</key>
169
263
  <dict>
170
264
  <key>0</key>
171
265
  <dict>
172
266
  <key>name</key>
173
- <string>string</string>
267
+ <string>storage.type.tag.cucumber</string>
174
268
  </dict>
175
269
  </dict>
176
270
  <key>match</key>
177
- <string>\s+[''"]([^''"]+)[''"][\b\s]+</string>
271
+ <string>(@[^@]+?)\b</string>
178
272
  </dict>
179
273
  </dict>
180
274
  <key>scopeName</key>
181
275
  <string>text.cucumber.feature</string>
182
276
  <key>uuid</key>
183
277
  <string>85E2C52C-9B16-4A54-81E7-6D8D3ADAEFA8</string>
184
- <key>firstLineMatch</key>
185
- <string><%= feature_keywords %>(.*)</string>
186
278
  </dict>
187
- </plist>
279
+ </plist>
@@ -0,0 +1,908 @@
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>D language</string>
7
+ <key>fileTypes</key>
8
+ <array>
9
+ <string>d</string>
10
+ <string>di</string>
11
+ </array>
12
+ <key>firstLineMatch</key>
13
+ <string>^#!.*\bg?dmd\b.</string>
14
+ <key>foldingStartMarker</key>
15
+ <string>(?x)/\*\*(?!\*)|^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.*\S))</string>
16
+ <key>foldingStopMarker</key>
17
+ <string>(?&lt;!\*)\*\*/|^\s*\}</string>
18
+ <key>keyEquivalent</key>
19
+ <string>^~D</string>
20
+ <key>name</key>
21
+ <string>D</string>
22
+ <key>patterns</key>
23
+ <array>
24
+ <dict>
25
+ <key>captures</key>
26
+ <dict>
27
+ <key>0</key>
28
+ <dict>
29
+ <key>name</key>
30
+ <string>punctuation.definition.comment.d</string>
31
+ </dict>
32
+ </dict>
33
+ <key>match</key>
34
+ <string>/\*\*/</string>
35
+ <key>name</key>
36
+ <string>comment.block.empty.d</string>
37
+ </dict>
38
+ <dict>
39
+ <key>include</key>
40
+ <string>text.html.javadoc</string>
41
+ </dict>
42
+ <dict>
43
+ <key>begin</key>
44
+ <string>(?x)^\s*
45
+ ((?:\b(public|private|protected|static|final|native|synchronized|abstract|export)\b\s*)*) # modifier
46
+ (class|interface)\s+
47
+ (\w+)\s* # identifier
48
+ (?:\(\s*([^\)]+)\s*\)|)\s* # Template type
49
+ (?:
50
+ \s*(:)\s*
51
+ (\w+)
52
+ (?:\s*,\s*(\w+))?
53
+ (?:\s*,\s*(\w+))?
54
+ (?:\s*,\s*(\w+))?
55
+ (?:\s*,\s*(\w+))?
56
+ (?:\s*,\s*(\w+))?
57
+ (?:\s*,\s*(\w+))?
58
+ )? # super class
59
+ </string>
60
+ <key>beginCaptures</key>
61
+ <dict>
62
+ <key>1</key>
63
+ <dict>
64
+ <key>name</key>
65
+ <string>storage.modifier.d</string>
66
+ </dict>
67
+ <key>10</key>
68
+ <dict>
69
+ <key>name</key>
70
+ <string>entity.other.inherited-class.d</string>
71
+ </dict>
72
+ <key>11</key>
73
+ <dict>
74
+ <key>name</key>
75
+ <string>entity.other.inherited-class.d</string>
76
+ </dict>
77
+ <key>12</key>
78
+ <dict>
79
+ <key>name</key>
80
+ <string>entity.other.inherited-class.d</string>
81
+ </dict>
82
+ <key>13</key>
83
+ <dict>
84
+ <key>name</key>
85
+ <string>entity.other.inherited-class.d</string>
86
+ </dict>
87
+ <key>3</key>
88
+ <dict>
89
+ <key>name</key>
90
+ <string>storage.type.structure.d</string>
91
+ </dict>
92
+ <key>4</key>
93
+ <dict>
94
+ <key>name</key>
95
+ <string>entity.name.type.class.d</string>
96
+ </dict>
97
+ <key>5</key>
98
+ <dict>
99
+ <key>name</key>
100
+ <string>storage.type.template.d</string>
101
+ </dict>
102
+ <key>6</key>
103
+ <dict>
104
+ <key>name</key>
105
+ <string>punctuation.separator.inheritance.d</string>
106
+ </dict>
107
+ <key>7</key>
108
+ <dict>
109
+ <key>name</key>
110
+ <string>entity.other.inherited-class.d</string>
111
+ </dict>
112
+ <key>8</key>
113
+ <dict>
114
+ <key>name</key>
115
+ <string>entity.other.inherited-class.d</string>
116
+ </dict>
117
+ <key>9</key>
118
+ <dict>
119
+ <key>name</key>
120
+ <string>entity.other.inherited-class.d</string>
121
+ </dict>
122
+ </dict>
123
+ <key>end</key>
124
+ <string>(?={)</string>
125
+ <key>name</key>
126
+ <string>meta.definition.class.d</string>
127
+ <key>patterns</key>
128
+ <array>
129
+ <dict>
130
+ <key>begin</key>
131
+ <string>\b(_|:)\b</string>
132
+ <key>captures</key>
133
+ <dict>
134
+ <key>1</key>
135
+ <dict>
136
+ <key>name</key>
137
+ <string>storage.modifier.d</string>
138
+ </dict>
139
+ </dict>
140
+ <key>end</key>
141
+ <string>(?={)</string>
142
+ <key>name</key>
143
+ <string>meta.definition.class.extends.d</string>
144
+ <key>patterns</key>
145
+ <array>
146
+ <dict>
147
+ <key>include</key>
148
+ <string>#all-types</string>
149
+ </dict>
150
+ </array>
151
+ </dict>
152
+ </array>
153
+ </dict>
154
+ <dict>
155
+ <key>begin</key>
156
+ <string>(?x)^\s*
157
+ ((?:\b(public|private|protected|static|final|native|synchronized|abstract|export)\b\s*)*) # modifier
158
+ (struct)\s+
159
+ (\w+)\s* # identifier
160
+ (?:\(\s*([^\)]+)\s*\)|)\s* # Template type
161
+ </string>
162
+ <key>beginCaptures</key>
163
+ <dict>
164
+ <key>1</key>
165
+ <dict>
166
+ <key>name</key>
167
+ <string>storage.modifier.d</string>
168
+ </dict>
169
+ <key>3</key>
170
+ <dict>
171
+ <key>name</key>
172
+ <string>storage.type.structure.d</string>
173
+ </dict>
174
+ <key>4</key>
175
+ <dict>
176
+ <key>name</key>
177
+ <string>entity.name.type.struct.d</string>
178
+ </dict>
179
+ <key>5</key>
180
+ <dict>
181
+ <key>name</key>
182
+ <string>storage.type.template.d</string>
183
+ </dict>
184
+ </dict>
185
+ <key>end</key>
186
+ <string>(?={)</string>
187
+ <key>name</key>
188
+ <string>meta.definition.struct.d</string>
189
+ <key>patterns</key>
190
+ <array>
191
+ <dict>
192
+ <key>begin</key>
193
+ <string>\b(_|:)\b</string>
194
+ <key>captures</key>
195
+ <dict>
196
+ <key>1</key>
197
+ <dict>
198
+ <key>name</key>
199
+ <string>storage.modifier.d</string>
200
+ </dict>
201
+ </dict>
202
+ <key>end</key>
203
+ <string>(?={)</string>
204
+ <key>name</key>
205
+ <string>meta.definition.class.extends.d</string>
206
+ <key>patterns</key>
207
+ <array>
208
+ <dict>
209
+ <key>include</key>
210
+ <string>#all-types</string>
211
+ </dict>
212
+ </array>
213
+ </dict>
214
+ </array>
215
+ </dict>
216
+ <dict>
217
+ <key>begin</key>
218
+ <string>(?x)^\s*
219
+ ((?:\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|export)\b\s*)*) # modifier
220
+ (\b(this))\s* # identifier
221
+ (?!.*;) # abort if line has a ;
222
+ (?=\()</string>
223
+ <key>captures</key>
224
+ <dict>
225
+ <key>1</key>
226
+ <dict>
227
+ <key>name</key>
228
+ <string>storage.modifier.d</string>
229
+ </dict>
230
+ <key>3</key>
231
+ <dict>
232
+ <key>name</key>
233
+ <string>entity.name.function.constructor.d</string>
234
+ </dict>
235
+ </dict>
236
+ <key>end</key>
237
+ <string>(?={)</string>
238
+ <key>name</key>
239
+ <string>meta.definition.constructor.d</string>
240
+ <key>patterns</key>
241
+ <array>
242
+ <dict>
243
+ <key>include</key>
244
+ <string>$base</string>
245
+ </dict>
246
+ </array>
247
+ </dict>
248
+ <dict>
249
+ <key>begin</key>
250
+ <string>(?x)
251
+ (?: ^ # begin-of-line
252
+ | (?: (?&lt;!else|new|=) ) # or word + space before name
253
+ )
254
+ ((?:\b(?:public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|export)\b\s*)*) # modifier
255
+ (~this) # actual name
256
+ \s*(\() # start bracket or end-of-line
257
+ </string>
258
+ <key>captures</key>
259
+ <dict>
260
+ <key>1</key>
261
+ <dict>
262
+ <key>name</key>
263
+ <string>storage.modifier.d</string>
264
+ </dict>
265
+ <key>2</key>
266
+ <dict>
267
+ <key>name</key>
268
+ <string>entity.name.function.destructor.d</string>
269
+ </dict>
270
+ </dict>
271
+ <key>end</key>
272
+ <string>\)</string>
273
+ <key>endCaptures</key>
274
+ <dict>
275
+ <key>0</key>
276
+ <dict>
277
+ <key>name</key>
278
+ <string>punctuation.definition.parameters.d</string>
279
+ </dict>
280
+ </dict>
281
+ <key>name</key>
282
+ <string>meta.definition.destructor.d</string>
283
+ <key>patterns</key>
284
+ <array>
285
+ <dict>
286
+ <key>include</key>
287
+ <string>$base</string>
288
+ </dict>
289
+ </array>
290
+ </dict>
291
+ <dict>
292
+ <key>begin</key>
293
+ <string>(?x)^\s*
294
+ ((?:\b(?:public|private|protected|static|final|native|lazy|synchronized|abstract|threadsafe|transient|export)\b\s*)*) # modifier
295
+ (\b(?:void|boolean|byte|char|short|int|float|long|double|[\w_]+[\w0-9_]*|(?:\w+\.)*[A-Z]\w+)\b(?:&lt;(?:(?:(?:\w+\.)*[A-Z]\w+)(?:\s*,\s*)?)+&gt;|(?:\[\s*\])*)?)\s* # type
296
+ (\w+)\s* # identifier
297
+ (?!.*;) # abort if line has a ;
298
+ (?=\()</string>
299
+ <key>beginCaptures</key>
300
+ <dict>
301
+ <key>1</key>
302
+ <dict>
303
+ <key>name</key>
304
+ <string>storage.modifier.d</string>
305
+ </dict>
306
+ <key>2</key>
307
+ <dict>
308
+ <key>name</key>
309
+ <string>storage.type.structure.d</string>
310
+ </dict>
311
+ <key>3</key>
312
+ <dict>
313
+ <key>name</key>
314
+ <string>entity.name.function.d</string>
315
+ </dict>
316
+ </dict>
317
+ <key>end</key>
318
+ <string>(?={)</string>
319
+ <key>name</key>
320
+ <string>meta.definition.method.d</string>
321
+ <key>patterns</key>
322
+ <array>
323
+ <dict>
324
+ <key>include</key>
325
+ <string>$base</string>
326
+ </dict>
327
+ </array>
328
+ </dict>
329
+ <dict>
330
+ <key>match</key>
331
+ <string>\b([A-Z][A-Z0-9_]+)\b</string>
332
+ <key>name</key>
333
+ <string>constant.other.d</string>
334
+ </dict>
335
+ <dict>
336
+ <key>include</key>
337
+ <string>#comments</string>
338
+ </dict>
339
+ <dict>
340
+ <key>include</key>
341
+ <string>#all-types</string>
342
+ </dict>
343
+ <dict>
344
+ <key>match</key>
345
+ <string>\b(private|protected|public|export)\b</string>
346
+ <key>name</key>
347
+ <string>storage.modifier.access-control.d</string>
348
+ </dict>
349
+ <dict>
350
+ <key>match</key>
351
+ <string>\b(auto|static|override|final|const|abstract|volatile|synchronized|lazy)\b</string>
352
+ <key>name</key>
353
+ <string>storage.modifier.d</string>
354
+ </dict>
355
+ <dict>
356
+ <key>match</key>
357
+ <string>\b(template|interface|class|enum|struct|union)\b</string>
358
+ <key>name</key>
359
+ <string>storage.type.structure.d</string>
360
+ </dict>
361
+ <dict>
362
+ <key>match</key>
363
+ <string>\b(ushort|int|uint|long|ulong|float|void|byte|ubyte|double|bit|char|wchar|ucent|cent|short|bool|dchar|real|ireal|ifloat|idouble|creal|cfloat|cdouble|lazy)\b</string>
364
+ <key>name</key>
365
+ <string>storage.type.d</string>
366
+ </dict>
367
+ <dict>
368
+ <key>match</key>
369
+ <string>\b(try|catch|finally|throw)\b</string>
370
+ <key>name</key>
371
+ <string>keyword.control.exception.d</string>
372
+ </dict>
373
+ <dict>
374
+ <key>match</key>
375
+ <string>\b(return|break|case|continue|default|do|while|for|switch|if|else)\b</string>
376
+ <key>name</key>
377
+ <string>keyword.control.d</string>
378
+ </dict>
379
+ <dict>
380
+ <key>match</key>
381
+ <string>\b(if|else|switch|iftype)\b</string>
382
+ <key>name</key>
383
+ <string>keyword.control.conditional.d</string>
384
+ </dict>
385
+ <dict>
386
+ <key>match</key>
387
+ <string>\b(goto|break|continue)\b</string>
388
+ <key>name</key>
389
+ <string>keyword.control.branch.d</string>
390
+ </dict>
391
+ <dict>
392
+ <key>match</key>
393
+ <string>\b(while|for|do|foreach(_reverse)?)\b</string>
394
+ <key>name</key>
395
+ <string>keyword.control.repeat.d</string>
396
+ </dict>
397
+ <dict>
398
+ <key>match</key>
399
+ <string>\b(version|return|with|invariant|body|scope|in|out|inout|asm|mixin|function|delegate)\b</string>
400
+ <key>name</key>
401
+ <string>keyword.control.statement.d</string>
402
+ </dict>
403
+ <dict>
404
+ <key>match</key>
405
+ <string>\b(pragma)\b</string>
406
+ <key>name</key>
407
+ <string>keyword.control.pragma.d</string>
408
+ </dict>
409
+ <dict>
410
+ <key>match</key>
411
+ <string>\b(alias|typedef)\b</string>
412
+ <key>name</key>
413
+ <string>keyword.control.alias.d</string>
414
+ </dict>
415
+ <dict>
416
+ <key>match</key>
417
+ <string>\b(import)\b</string>
418
+ <key>name</key>
419
+ <string>keyword.control.import.d</string>
420
+ </dict>
421
+ <dict>
422
+ <key>captures</key>
423
+ <dict>
424
+ <key>1</key>
425
+ <dict>
426
+ <key>name</key>
427
+ <string>keyword.control.module.d</string>
428
+ </dict>
429
+ <key>2</key>
430
+ <dict>
431
+ <key>name</key>
432
+ <string>entity.name.function.package.d</string>
433
+ </dict>
434
+ </dict>
435
+ <key>match</key>
436
+ <string>^\s*(module)\s+([^ ;]+?);</string>
437
+ <key>name</key>
438
+ <string>meta.module.d</string>
439
+ </dict>
440
+ <dict>
441
+ <key>match</key>
442
+ <string>\b(true|false)\b</string>
443
+ <key>name</key>
444
+ <string>constant.language.boolean.d</string>
445
+ </dict>
446
+ <dict>
447
+ <key>match</key>
448
+ <string>\b(__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|null)\b</string>
449
+ <key>name</key>
450
+ <string>constant.language.d</string>
451
+ </dict>
452
+ <dict>
453
+ <key>match</key>
454
+ <string>\b(this|super)\b</string>
455
+ <key>name</key>
456
+ <string>variable.language.d</string>
457
+ </dict>
458
+ <dict>
459
+ <key>match</key>
460
+ <string>\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\b</string>
461
+ <key>name</key>
462
+ <string>constant.numeric.d</string>
463
+ </dict>
464
+ <dict>
465
+ <key>include</key>
466
+ <string>#string_escaped_char</string>
467
+ </dict>
468
+ <dict>
469
+ <key>include</key>
470
+ <string>#strings</string>
471
+ </dict>
472
+ <dict>
473
+ <key>match</key>
474
+ <string>(==|!=|&lt;=|&gt;=|&lt;&gt;|&lt;|&gt;)</string>
475
+ <key>name</key>
476
+ <string>keyword.operator.comparison.d</string>
477
+ </dict>
478
+ <dict>
479
+ <key>match</key>
480
+ <string>(\-\-|\+\+)</string>
481
+ <key>name</key>
482
+ <string>keyword.operator.increment-decrement.d</string>
483
+ </dict>
484
+ <dict>
485
+ <key>match</key>
486
+ <string>(\-|\+|\*|\/|~|%)</string>
487
+ <key>name</key>
488
+ <string>keyword.operator.arithmetic.d</string>
489
+ </dict>
490
+ <dict>
491
+ <key>match</key>
492
+ <string>(!|&amp;&amp;|\|\|)</string>
493
+ <key>name</key>
494
+ <string>keyword.operator.logical.d</string>
495
+ </dict>
496
+ <dict>
497
+ <key>match</key>
498
+ <string>\b(opNeg|opCom|opPostInc|opPostDec|opCast|opAdd|opSub|opSub_r|opMul|opDiv|opDiv_r|opMod|opMod_r|opAnd|opOr|opXor|opShl|opShl_r|opShr|opShr_r|opUShr|opUShr_r|opCat|opCat_r|opEquals|opEquals|opCmp|opCmp|opCmp|opCmp|opAddAssign|opSubAssign|opMulAssign|opDivAssign|opModAssign|opAndAssign|opOrAssign|opXorAssign|opShlAssign|opShrAssign|opUShrAssign|opCatAssign|opIndex|opIndexAssign|opCall|opSlice|opSliceAssign|opPos|opAdd_r|opMul_r|opAnd_r|opOr_r|opXor_r)\b</string>
499
+ <key>name</key>
500
+ <string>keyword.operator.overload.d</string>
501
+ </dict>
502
+ <dict>
503
+ <key>match</key>
504
+ <string>\b(new|delete|typeof|typeid|cast|align|is)\b</string>
505
+ <key>name</key>
506
+ <string>keyword.operator.d</string>
507
+ </dict>
508
+ <dict>
509
+ <key>match</key>
510
+ <string>\b(new|throws)\b</string>
511
+ <key>name</key>
512
+ <string>keyword.other.class-fns.d</string>
513
+ </dict>
514
+ <dict>
515
+ <key>match</key>
516
+ <string>\b(package|extern)\b</string>
517
+ <key>name</key>
518
+ <string>keyword.other.external.d</string>
519
+ </dict>
520
+ <dict>
521
+ <key>match</key>
522
+ <string>\b(deprecated|unittest|debug)\b</string>
523
+ <key>name</key>
524
+ <string>keyword.other.debug.d</string>
525
+ </dict>
526
+ <dict>
527
+ <key>match</key>
528
+ <string>\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\b</string>
529
+ <key>name</key>
530
+ <string>support.type.sys-types.c</string>
531
+ </dict>
532
+ <dict>
533
+ <key>match</key>
534
+ <string>\b(pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t)\b</string>
535
+ <key>name</key>
536
+ <string>support.type.pthread.c</string>
537
+ </dict>
538
+ <dict>
539
+ <key>match</key>
540
+ <string>\b(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t)\b</string>
541
+ <key>name</key>
542
+ <string>support.type.stdint.c</string>
543
+ </dict>
544
+ </array>
545
+ <key>repository</key>
546
+ <dict>
547
+ <key>all-types</key>
548
+ <dict>
549
+ <key>patterns</key>
550
+ <array>
551
+ <dict>
552
+ <key>include</key>
553
+ <string>#support-type-built-ins-d</string>
554
+ </dict>
555
+ <dict>
556
+ <key>include</key>
557
+ <string>#support-type-d</string>
558
+ </dict>
559
+ <dict>
560
+ <key>include</key>
561
+ <string>#storage-type-d</string>
562
+ </dict>
563
+ </array>
564
+ </dict>
565
+ <key>comments</key>
566
+ <dict>
567
+ <key>patterns</key>
568
+ <array>
569
+ <dict>
570
+ <key>begin</key>
571
+ <string>/\*</string>
572
+ <key>captures</key>
573
+ <dict>
574
+ <key>0</key>
575
+ <dict>
576
+ <key>name</key>
577
+ <string>punctuation.definition.comment.d</string>
578
+ </dict>
579
+ </dict>
580
+ <key>end</key>
581
+ <string>\*/</string>
582
+ <key>name</key>
583
+ <string>comment.block.d</string>
584
+ </dict>
585
+ <dict>
586
+ <key>begin</key>
587
+ <string>/\+</string>
588
+ <key>captures</key>
589
+ <dict>
590
+ <key>0</key>
591
+ <dict>
592
+ <key>name</key>
593
+ <string>punctuation.definition.comment.d</string>
594
+ </dict>
595
+ </dict>
596
+ <key>end</key>
597
+ <string>\+/</string>
598
+ <key>name</key>
599
+ <string>comment.block.nested.d</string>
600
+ </dict>
601
+ <dict>
602
+ <key>captures</key>
603
+ <dict>
604
+ <key>1</key>
605
+ <dict>
606
+ <key>name</key>
607
+ <string>punctuation.definition.comment.d</string>
608
+ </dict>
609
+ </dict>
610
+ <key>match</key>
611
+ <string>(//).*$\n?</string>
612
+ <key>name</key>
613
+ <string>comment.line.double-slash.d</string>
614
+ </dict>
615
+ </array>
616
+ </dict>
617
+ <key>constant_placeholder</key>
618
+ <dict>
619
+ <key>match</key>
620
+ <string>(?i:%(\([a-z_]+\))?#?0?\-?[ ]?\+?([0-9]*|\*)(\.([0-9]*|\*))?[hL]?[a-z%])</string>
621
+ <key>name</key>
622
+ <string>constant.other.placeholder.d</string>
623
+ </dict>
624
+ <key>regular_expressions</key>
625
+ <dict>
626
+ <key>comment</key>
627
+ <string>Change disabled to 1 to turn off syntax highlighting in “r” strings.</string>
628
+ <key>disabled</key>
629
+ <integer>1</integer>
630
+ <key>patterns</key>
631
+ <array>
632
+ <dict>
633
+ <key>include</key>
634
+ <string>source.regexp.python</string>
635
+ </dict>
636
+ </array>
637
+ </dict>
638
+ <key>statement-remainder</key>
639
+ <dict>
640
+ <key>patterns</key>
641
+ <array>
642
+ <dict>
643
+ <key>begin</key>
644
+ <string>\(</string>
645
+ <key>end</key>
646
+ <string>(?=\))</string>
647
+ <key>name</key>
648
+ <string>meta.definition.param-list.d</string>
649
+ <key>patterns</key>
650
+ <array>
651
+ <dict>
652
+ <key>include</key>
653
+ <string>#all-types</string>
654
+ </dict>
655
+ </array>
656
+ </dict>
657
+ <dict>
658
+ <key>begin</key>
659
+ <string>(throws)</string>
660
+ <key>captures</key>
661
+ <dict>
662
+ <key>1</key>
663
+ <dict>
664
+ <key>name</key>
665
+ <string>keyword.other.class-fns.d</string>
666
+ </dict>
667
+ </dict>
668
+ <key>end</key>
669
+ <string>(?={)</string>
670
+ <key>name</key>
671
+ <string>meta.definition.throws.d</string>
672
+ <key>patterns</key>
673
+ <array>
674
+ <dict>
675
+ <key>include</key>
676
+ <string>#all-types</string>
677
+ </dict>
678
+ </array>
679
+ </dict>
680
+ </array>
681
+ </dict>
682
+ <key>storage-type-d</key>
683
+ <dict>
684
+ <key>match</key>
685
+ <string>\b(void|byte|short|char|int|long|float|double|boolean|([a-z]\w+\.)*[A-Z]\w+)\b</string>
686
+ <key>name</key>
687
+ <string>storage.type.d</string>
688
+ </dict>
689
+ <key>string_escaped_char</key>
690
+ <dict>
691
+ <key>patterns</key>
692
+ <array>
693
+ <dict>
694
+ <key>match</key>
695
+ <string>\\(\\|[abefnprtv'"?]|[0-3]\d{,2}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|&amp;\w+;)</string>
696
+ <key>name</key>
697
+ <string>constant.character.escape.d</string>
698
+ </dict>
699
+ <dict>
700
+ <key>match</key>
701
+ <string>\\.</string>
702
+ <key>name</key>
703
+ <string>invalid.illegal.unknown-escape.d</string>
704
+ </dict>
705
+ </array>
706
+ </dict>
707
+ <key>strings</key>
708
+ <dict>
709
+ <key>patterns</key>
710
+ <array>
711
+ <dict>
712
+ <key>begin</key>
713
+ <string>"</string>
714
+ <key>beginCaptures</key>
715
+ <dict>
716
+ <key>0</key>
717
+ <dict>
718
+ <key>name</key>
719
+ <string>punctuation.definition.string.begin.d</string>
720
+ </dict>
721
+ </dict>
722
+ <key>end</key>
723
+ <string>"</string>
724
+ <key>endCaptures</key>
725
+ <dict>
726
+ <key>0</key>
727
+ <dict>
728
+ <key>name</key>
729
+ <string>punctuation.definition.string.end.d</string>
730
+ </dict>
731
+ </dict>
732
+ <key>name</key>
733
+ <string>string.quoted.double.d</string>
734
+ <key>patterns</key>
735
+ <array>
736
+ <dict>
737
+ <key>include</key>
738
+ <string>#string_escaped_char</string>
739
+ </dict>
740
+ </array>
741
+ </dict>
742
+ <dict>
743
+ <key>begin</key>
744
+ <string>(r)(")</string>
745
+ <key>beginCaptures</key>
746
+ <dict>
747
+ <key>1</key>
748
+ <dict>
749
+ <key>name</key>
750
+ <string>storage.type.string.d</string>
751
+ </dict>
752
+ <key>2</key>
753
+ <dict>
754
+ <key>name</key>
755
+ <string>punctuation.definition.string.begin.d</string>
756
+ </dict>
757
+ </dict>
758
+ <key>end</key>
759
+ <string>((?&lt;=")(")|")</string>
760
+ <key>endCaptures</key>
761
+ <dict>
762
+ <key>1</key>
763
+ <dict>
764
+ <key>name</key>
765
+ <string>punctuation.definition.string.end.d</string>
766
+ </dict>
767
+ <key>2</key>
768
+ <dict>
769
+ <key>name</key>
770
+ <string>meta.empty-string.double.d</string>
771
+ </dict>
772
+ </dict>
773
+ <key>name</key>
774
+ <string>string.quoted.double.raw.d</string>
775
+ <key>patterns</key>
776
+ <array>
777
+ <dict>
778
+ <key>include</key>
779
+ <string>#regular_expressions</string>
780
+ </dict>
781
+ </array>
782
+ </dict>
783
+ <dict>
784
+ <key>begin</key>
785
+ <string>`</string>
786
+ <key>beginCaptures</key>
787
+ <dict>
788
+ <key>0</key>
789
+ <dict>
790
+ <key>name</key>
791
+ <string>punctuation.definition.string.begin.d</string>
792
+ </dict>
793
+ </dict>
794
+ <key>end</key>
795
+ <string>((?&lt;=`)(`)|`)</string>
796
+ <key>endCaptures</key>
797
+ <dict>
798
+ <key>1</key>
799
+ <dict>
800
+ <key>name</key>
801
+ <string>punctuation.definition.string.end.d</string>
802
+ </dict>
803
+ <key>2</key>
804
+ <dict>
805
+ <key>name</key>
806
+ <string>meta.empty-string.double.d</string>
807
+ </dict>
808
+ </dict>
809
+ <key>name</key>
810
+ <string>string.quoted.double.raw.backtick.d</string>
811
+ </dict>
812
+ <dict>
813
+ <key>begin</key>
814
+ <string>'</string>
815
+ <key>beginCaptures</key>
816
+ <dict>
817
+ <key>0</key>
818
+ <dict>
819
+ <key>name</key>
820
+ <string>punctuation.definition.string.begin.d</string>
821
+ </dict>
822
+ </dict>
823
+ <key>end</key>
824
+ <string>'</string>
825
+ <key>endCaptures</key>
826
+ <dict>
827
+ <key>0</key>
828
+ <dict>
829
+ <key>name</key>
830
+ <string>punctuation.definition.string.end.d</string>
831
+ </dict>
832
+ </dict>
833
+ <key>name</key>
834
+ <string>string.quoted.single.d</string>
835
+ <key>patterns</key>
836
+ <array>
837
+ <dict>
838
+ <key>include</key>
839
+ <string>#string_escaped_char</string>
840
+ </dict>
841
+ </array>
842
+ </dict>
843
+ </array>
844
+ </dict>
845
+ <key>support-type-built-ins-classes-d</key>
846
+ <dict>
847
+ <key>match</key>
848
+ <string>\b(AbstractServer|ArchiveMember|ArgParser|Barrier|BomSniffer|Buffer|BufferInput|BufferOutput|BufferSlice|BufferedFile|BufferedStream|BzipInput|BzipOutput|CFile|CacheInvalidatee|CacheInvalidator|CacheServer|CacheThread|Certificate|CertificateStore|CertificateStoreCtx|ChunkInput|ChunkOutput|ClassInfo|Cluster|ClusterCache|ClusterQueue|ClusterThread|CmdParser|ComObject|Compress|Condition|Conduit|Cookie|CookieParser|CookieStack|CounterInput|CounterOutput|DataFileInput|DataFileOutput|DataInput|DataOutput|Database|DatagramConduit|DeviceConduit|DigestInput|DigestOutput|DocPrinter|Document|DummyInputStream|DummyOutputStream|EndianInput|EndianOutput|EndianProtocol|EndianStream|EventSeekInputStream|EventSeekOutputStream|FTPConnection|Fiber|Field|File|FileConduit|FileFolder|FileGroup|FileInput|FileOutput|FilePath|FileScan|FilterStream|Foo|FormatOutput|GreedyInput|GreedyOutput|Gregorian|GrowBuffer|HeapCopy|HeapSlice|Hierarchy|HttpClient|HttpCookies|HttpCookiesView|HttpGet|HttpHeaders|HttpHeadersView|HttpParams|HttpPost|HttpStack|HttpTokens|HttpTriplet|IPv4Address|IUnknown|InputFilter|InternetAddress|InternetHost|Layout|LineInput|LineIterator|LinkedFolder|Log|MapInput|MapOutput|MappedBuffer|Md2|Md4|MemoryQueue|MemoryStream|MmFile|MmFileStream|ModuleInfo|MulticastConduit|Mutex|NativeProtocol|NetCall|NetHost|NetworkAlert|NetworkCache|NetworkCall|NetworkClient|NetworkCombo|NetworkMessage|NetworkQueue|NetworkRegistry|NetworkTask|NotImplemented|Object|Observer|OutBuffer|OutputFilter|PersistQueue|Pipe|PipeConduit|Print|PrivateKey|Process|Properties|Protocol|ProtocolReader|ProtocolWriter|PublicKey|PullParser|QueueFile|QueueServer|QueueThread|QueuedCache|QuoteIterator|Random|Range|ReadWriteMutex|Reader|Record|RegExp|RegExpT|RegexIterator|RollCall|SSLCtx|SSLServerSocket|SSLSocketConduit|SaxParser|SelectionKey|Semaphore|ServerSocket|ServerThread|Service|SimpleIterator|SliceInputStream|SliceSeekInputStream|SliceSeekOutputStream|SliceStream|SnoopInput|SnoopOutput|Socket|SocketConduit|SocketListener|SocketSet|SocketStream|Sprint|Stream|StreamIterator|TArrayStream|TaskServer|TaskThread|TcpSocket|Telnet|TempFile|Text|TextFileInput|TextFileOutput|TextView|Thread|ThreadGroup|ThreadLocal|ThreadPool|Token|TypeInfo|TypeInfo_AC|TypeInfo_Aa|TypeInfo_Ab|TypeInfo_Ac|TypeInfo_Ad|TypeInfo_Ae|TypeInfo_Af|TypeInfo_Ag|TypeInfo_Ah|TypeInfo_Ai|TypeInfo_Aj|TypeInfo_Ak|TypeInfo_Al|TypeInfo_Am|TypeInfo_Ao|TypeInfo_Ap|TypeInfo_Aq|TypeInfo_Ar|TypeInfo_Array|TypeInfo_As|TypeInfo_AssociativeArray|TypeInfo_At|TypeInfo_Au|TypeInfo_Av|TypeInfo_Aw|TypeInfo_C|TypeInfo_Class|TypeInfo_D|TypeInfo_Delegate|TypeInfo_Enum|TypeInfo_Function|TypeInfo_Interface|TypeInfo_P|TypeInfo_Pointer|TypeInfo_StaticArray|TypeInfo_Struct|TypeInfo_Tuple|TypeInfo_Typedef|TypeInfo_a|TypeInfo_b|TypeInfo_c|TypeInfo_d|TypeInfo_e|TypeInfo_f|TypeInfo_g|TypeInfo_h|TypeInfo_i|TypeInfo_j|TypeInfo_k|TypeInfo_l|TypeInfo_m|TypeInfo_o|TypeInfo_p|TypeInfo_q|TypeInfo_r|TypeInfo_s|TypeInfo_t|TypeInfo_u|TypeInfo_v|TypeInfo_w|TypedInput|TypedOutput|URIerror|UdpSocket|UnCompress|UniText|UnicodeBom|UnicodeFile|UnknownAddress|Uri|UtfInput|UtfOutput|VirtualFolder|WrapSeekInputStream|WrapSeekOutputStream|Writer|XmlPrinter|ZipArchive|ZipBlockReader|ZipBlockWriter|ZipEntry|ZipEntryVerifier|ZipFile|ZipFileGroup|ZipFolder|ZipSubFolder|ZipSubFolderEntry|ZipSubFolderGroup|ZlibInput|ZlibOutput)\b</string>
849
+ <key>name</key>
850
+ <string>support.type.built-ins.classes.d</string>
851
+ </dict>
852
+ <key>support-type-built-ins-d</key>
853
+ <dict>
854
+ <key>patterns</key>
855
+ <array>
856
+ <dict>
857
+ <key>include</key>
858
+ <string>#support-type-built-ins-exceptions-d</string>
859
+ </dict>
860
+ <dict>
861
+ <key>include</key>
862
+ <string>#support-type-built-ins-classes-d</string>
863
+ </dict>
864
+ <dict>
865
+ <key>include</key>
866
+ <string>#support-type-built-ins-interfaces-d</string>
867
+ </dict>
868
+ <dict>
869
+ <key>include</key>
870
+ <string>#support-type-built-ins-structs-d</string>
871
+ </dict>
872
+ </array>
873
+ </dict>
874
+ <key>support-type-built-ins-exceptions-d</key>
875
+ <dict>
876
+ <key>match</key>
877
+ <string>\b(AddressException|ArrayBoundsError|ArrayBoundsException|AssertError|AssertException|Base64CharException|Base64Exception|BzipClosedException|BzipException|ClusterEmptyException|ClusterFullException|ConvError|ConvOverflowError|ConversionException|CorruptedIteratorException|DatabaseException|DateParseError|Exception|FTPException|FiberException|FileException|FinalizeException|FormatError|HostException|IOException|IllegalArgumentException|IllegalElementException|InvalidKeyException|InvalidTypeException|LocaleException|ModuleCtorError|NoSuchElementException|OpenException|OpenRJException|OutOfMemoryException|PlatformException|ProcessCreateException|ProcessException|ProcessForkException|ProcessKillException|ProcessWaitException|ReadException|RegExpException|RegexException|RegistryException|SeekException|SharedLibException|SocketAcceptException|SocketException|StdioException|StreamException|StreamFileException|StringException|SwitchError|SwitchException|SyncException|TextException|ThreadError|ThreadException|UnboxException|UnicodeException|UtfException|VariantTypeMismatchException|Win32Exception|WriteException|XmlException|ZipChecksumException|ZipException|ZipExhaustedException|ZipNotSupportedException|ZlibClosedException|ZlibException|OurUnwindException|SysError)\b</string>
878
+ <key>name</key>
879
+ <string>support.type.built-ins.exceptions.d</string>
880
+ </dict>
881
+ <key>support-type-built-ins-interfaces-d</key>
882
+ <dict>
883
+ <key>match</key>
884
+ <string>\b(Buffered|HttpParamsView|ICache|IChannel|IClassFactory|ICluster|IConduit|IConsumer|IEvent|IHierarchy|ILevel|IListener|IMessage|IMessageLoader|IOStream|IReadable|ISelectable|ISelectionSet|ISelector|IServer|IUnknown|IWritable|IXmlPrinter|InputStream|OutputStream|PathView|VfsFile|VfsFiles|VfsFolder|VfsFolderEntry|VfsFolders|VfsHost|VfsSync|ZipReader|ZipWriter)\b</string>
885
+ <key>name</key>
886
+ <string>support.type.built-ins.interfaces.d</string>
887
+ </dict>
888
+ <key>support-type-built-ins-structs-d</key>
889
+ <dict>
890
+ <key>match</key>
891
+ <string>\b(ABC|ABCFLOAT|ACCEL|ACCESSTIMEOUT|ACCESS_ALLOWED_ACE|ACCESS_DENIED_ACE|ACE_HEADER|ACL|ACL_REVISION_INFORMATION|ACL_SIZE_INFORMATION|ACTION_HEADER|ADAPTER_STATUS|ADDJOB_INFO_1|ANIMATIONINFO|APPBARDATA|Argument|Atomic|Attribute|BITMAP|BITMAPCOREHEADER|BITMAPCOREINFO|BITMAPINFO|BITMAPINFOHEADER|BITMAPV4HEADER|BLOB|BROWSEINFO|BY_HANDLE_FILE_INFORMATION|Bar|Baz|BitArray|Box|BracketResult|ByteSwap|CANDIDATEFORM|CANDIDATELIST|CBTACTIVATESTRUCT|CBT_CREATEWND|CHARFORMAT|CHARRANGE|CHARSET|CHARSETINFO|CHAR_INFO|CIDA|CIEXYZ|CIEXYZTRIPLE|CLIENTCREATESTRUCT|CMINVOKECOMMANDINFO|COLORADJUSTMENT|COLORMAP|COMMCONFIG|COMMPROP|COMMTIMEOUTS|COMPAREITEMSTRUCT|COMPCOLOR|COMPOSITIONFORM|COMSTAT|CONNECTDLGSTRUCT|CONSOLE_CURSOR_INFO|CONTEXT|CONVCONTEXT|CONVINFO|COORD|COPYDATASTRUCT|CPINFO|CPLINFO|CREATESTRUCT|CREATE_PROCESS_DEBUG_INFO|CREATE_THREAD_DEBUG_INFO|CRITICAL_SECTION|CRITICAL_SECTION_DEBUG|CURRENCYFMT|CURSORSHAPE|CWPRETSTRUCT|CWPSTRUCT|CharClass|CharRange|Clock|CodePage|Console|DATATYPES_INFO_1|DCB|DDEACK|DDEADVISE|DDEDATA|DDELN|DDEML_MSG_HOOK_DATA|DDEPOKE|DDEUP|DEBUGHOOKINFO|DEBUG_EVENT|DELETEITEMSTRUCT|DEVMODE|DEVNAMES|DEV_BROADCAST_HDR|DEV_BROADCAST_OEM|DEV_BROADCAST_PORT|DEV_BROADCAST_VOLUME|DIBSECTION|DIR|DISCDLGSTRUCT|DISK_GEOMETRY|DISK_PERFORMANCE|DOCINFO|DOC_INFO_1|DOC_INFO_2|DRAGLISTINFO|DRAWITEMSTRUCT|DRAWTEXTPARAMS|DRIVER_INFO_1|DRIVER_INFO_2|DRIVER_INFO_3|DRIVE_LAYOUT_INFORMATION|Date|DateParse|DateTime|DirEntry|DynArg|EDITSTREAM|EMPTYRECORD|EMR|EMRABORTPATH|EMRANGLEARC|EMRARC|EMRBITBLT|EMRCREATEBRUSHINDIRECT|EMRCREATECOLORSPACE|EMRCREATEDIBPATTERNBRUSHPT|EMRCREATEMONOBRUSH|EMRCREATEPALETTE|EMRCREATEPEN|EMRELLIPSE|EMREOF|EMREXCLUDECLIPRECT|EMREXTCREATEFONTINDIRECTW|EMREXTCREATEPEN|EMREXTFLOODFILL|EMREXTSELECTCLIPRGN|EMREXTTEXTOUTA|EMRFILLPATH|EMRFILLRGN|EMRFORMAT|EMRFRAMERGN|EMRGDICOMMENT|EMRINVERTRGN|EMRLINETO|EMRMASKBLT|EMRMODIFYWORLDTRANSFORM|EMROFFSETCLIPRGN|EMRPLGBLT|EMRPOLYDRAW|EMRPOLYDRAW16|EMRPOLYLINE|EMRPOLYLINE16|EMRPOLYPOLYLINE|EMRPOLYPOLYLINE16|EMRPOLYTEXTOUTA|EMRRESIZEPALETTE|EMRRESTOREDC|EMRROUNDRECT|EMRSCALEVIEWPORTEXTEX|EMRSELECTCLIPPATH|EMRSELECTCOLORSPACE|EMRSELECTOBJECT|EMRSELECTPALETTE|EMRSETARCDIRECTION|EMRSETBKCOLOR|EMRSETCOLORADJUSTMENT|EMRSETDIBITSTODEVICE|EMRSETMAPPERFLAGS|EMRSETMITERLIMIT|EMRSETPALETTEENTRIES|EMRSETPIXELV|EMRSETVIEWPORTEXTEX|EMRSETVIEWPORTORGEX|EMRSETWORLDTRANSFORM|EMRSTRETCHBLT|EMRSTRETCHDIBITS|EMRTEXT|ENCORRECTTEXT|ENDROPFILES|ENHMETAHEADER|ENHMETARECORD|ENOLEOPFAILED|ENPROTECTED|ENSAVECLIPBOARD|ENUMLOGFONT|ENUMLOGFONTEX|ENUM_SERVICE_STATUS|EVENTLOGRECORD|EVENTMSG|EXCEPTION_DEBUG_INFO|EXCEPTION_POINTERS|EXCEPTION_RECORD|EXIT_PROCESS_DEBUG_INFO|EXIT_THREAD_DEBUG_INFO|EXTLOGFONT|EXTLOGPEN|EXT_BUTTON|EmptySlot|EndOfCDRecord|Environment|FILETIME|FILTERKEYS|FINDREPLACE|FINDTEXTEX|FIND_NAME_BUFFER|FIND_NAME_HEADER|FIXED|FLOATING_SAVE_AREA|FMS_GETDRIVEINFO|FMS_GETFILESEL|FMS_LOAD|FMS_TOOLBARLOAD|FOCUS_EVENT_RECORD|FONTSIGNATURE|FORMATRANGE|FORMAT_PARAMETERS|FORM_INFO_1|FileConst|FileHeader|FileRoots|FileSystem|FoldingCaseData|Foo|FtpConnectionDetail|FtpFeature|FtpFileInfo|FtpResponse|GC|GCP_RESULTS|GCStats|GENERIC_MAPPING|GLYPHMETRICS|GLYPHMETRICSFLOAT|GROUP_INFO_2|GUID|HANDLETABLE|HD_HITTESTINFO|HD_ITEM|HD_LAYOUT|HD_NOTIFY|HELPINFO|HELPWININFO|HIGHCONTRAST|HSZPAIR|HeaderElement|HttpConst|HttpHeader|HttpHeaderName|HttpResponses|HttpStatus|HttpToken|ICONINFO|ICONMETRICS|IMAGEINFO|IMAGE_DOS_HEADER|INPUT_RECORD|ITEMIDLIST|IeeeFlags|Interface|JOB_INFO_1|JOB_INFO_2|KERNINGPAIR|LANA_ENUM|LAYERPLANEDESCRIPTOR|LDT_ENTRY|LIST_ENTRY|LOAD_DLL_DEBUG_INFO|LOCALESIGNATURE|LOCALGROUP_INFO_0|LOCALGROUP_MEMBERS_INFO_0|LOCALGROUP_MEMBERS_INFO_3|LOGBRUSH|LOGCOLORSPACE|LOGFONT|LOGFONTA|LOGFONTW|LOGPALETTE|LOGPEN|LUID_AND_ATTRIBUTES|LV_COLUMN|LV_DISPINFO|LV_FINDINFO|LV_HITTESTINFO|LV_ITEM|LV_KEYDOWN|LocalFileHeader|MAT2|MD5_CTX|MDICREATESTRUCT|MEASUREITEMSTRUCT|MEMORYSTATUS|MEMORY_BASIC_INFORMATION|MENUEX_TEMPLATE_HEADER|MENUEX_TEMPLATE_ITEM|MENUITEMINFO|MENUITEMTEMPLATE|MENUITEMTEMPLATEHEADER|MENUTEMPLATE|MENU_EVENT_RECORD|METAFILEPICT|METARECORD|MINIMIZEDMETRICS|MINMAXINFO|MODEMDEVCAPS|MODEMSETTINGS|MONCBSTRUCT|MONCONVSTRUCT|MONERRSTRUCT|MONHSZSTRUCT|MONITOR_INFO_1|MONITOR_INFO_2|MONLINKSTRUCT|MONMSGSTRUCT|MOUSEHOOKSTRUCT|MOUSEKEYS|MOUSE_EVENT_RECORD|MSG|MSGBOXPARAMS|MSGFILTER|MULTIKEYHELP|NAME_BUFFER|NCB|NCCALCSIZE_PARAMS|NDDESHAREINFO|NETCONNECTINFOSTRUCT|NETINFOSTRUCT|NETRESOURCE|NEWCPLINFO|NEWTEXTMETRIC|NEWTEXTMETRICEX|NMHDR|NM_LISTVIEW|NM_TREEVIEW|NM_UPDOWNW|NONCLIENTMETRICS|NS_SERVICE_INFO|NUMBERFMT|OFNOTIFY|OFSTRUCT|OPENFILENAME|OPENFILENAMEA|OPENFILENAMEW|OSVERSIONINFO|OUTLINETEXTMETRIC|OUTPUT_DEBUG_STRING_INFO|OVERLAPPED|OffsetTypeInfo|PAINTSTRUCT|PALETTEENTRY|PANOSE|PARAFORMAT|PARTITION_INFORMATION|PERF_COUNTER_BLOCK|PERF_COUNTER_DEFINITION|PERF_DATA_BLOCK|PERF_INSTANCE_DEFINITION|PERF_OBJECT_TYPE|PIXELFORMATDESCRIPTOR|POINT|POINTFLOAT|POINTFX|POINTL|POINTS|POLYTEXT|PORT_INFO_1|PORT_INFO_2|PREVENT_MEDIA_REMOVAL|PRINTER_DEFAULTS|PRINTER_INFO_1|PRINTER_INFO_2|PRINTER_INFO_3|PRINTER_INFO_4|PRINTER_INFO_5|PRINTER_NOTIFY_INFO|PRINTER_NOTIFY_INFO_DATA|PRINTER_NOTIFY_OPTIONS|PRINTER_NOTIFY_OPTIONS_TYPE|PRINTPROCESSOR_INFO_1|PRIVILEGE_SET|PROCESS_HEAPENTRY|PROCESS_INFORMATION|PROPSHEETHEADER|PROPSHEETHEADER_U1|PROPSHEETHEADER_U2|PROPSHEETHEADER_U3|PROPSHEETPAGE|PROPSHEETPAGE_U1|PROPSHEETPAGE_U2|PROTOCOL_INFO|PROVIDOR_INFO_1|PSHNOTIFY|PUNCTUATION|PassByCopy|PassByRef|Phase1Info|PropertyConfigurator|QUERY_SERVICE_CONFIG|QUERY_SERVICE_LOCK_STATUS|RASAMB|RASCONN|RASCONNSTATUS|RASDIALEXTENSIONS|RASDIALPARAMS|RASENTRYNAME|RASPPPIP|RASPPPIPX|RASPPPNBF|RASTERIZER_STATUS|REASSIGN_BLOCKS|RECT|RECTL|REMOTE_NAME_INFO|REPASTESPECIAL|REQRESIZE|RGBQUAD|RGBTRIPLE|RGNDATA|RGNDATAHEADER|RIP_INFO|Runtime|SCROLLINFO|SECURITY_ATTRIBUTES|SECURITY_DESCRIPTOR|SECURITY_QUALITY_OF_SERVICE|SELCHANGE|SERIALKEYS|SERVICE_ADDRESS|SERVICE_ADDRESSES|SERVICE_INFO|SERVICE_STATUS|SERVICE_TABLE_ENTRY|SERVICE_TYPE_INFO_ABS|SERVICE_TYPE_VALUE_ABS|SESSION_BUFFER|SESSION_HEADER|SET_PARTITION_INFORMATION|SHFILEINFO|SHFILEOPSTRUCT|SHITEMID|SHNAMEMAPPING|SID|SID_AND_ATTRIBUTES|SID_IDENTIFIER_AUTHORITY|SINGLE_LIST_ENTRY|SIZE|SMALL_RECT|SOUNDSENTRY|STARTUPINFO|STICKYKEYS|STRRET|STYLEBUF|STYLESTRUCT|SYSTEMTIME|SYSTEM_AUDIT_ACE|SYSTEM_INFO|SYSTEM_INFO_U|SYSTEM_POWER_STATUS|Signal|SjLj_Function_Context|SpecialCaseData|TAPE_ERASE|TAPE_GET_DRIVE_PARAMETERS|TAPE_GET_MEDIA_PARAMETERS|TAPE_GET_POSITION|TAPE_PREPARE|TAPE_SET_DRIVE_PARAMETERS|TAPE_SET_MEDIA_PARAMETERS|TAPE_SET_POSITION|TAPE_WRITE_MARKS|TBADDBITMAP|TBBUTTON|TBNOTIFY|TBSAVEPARAMS|TCHOOSECOLOR|TCHOOSEFONT|TC_HITTESTINFO|TC_ITEM|TC_ITEMHEADER|TC_KEYDOWN|TEXTMETRIC|TEXTMETRICA|TEXTRANGE|TFINDTEXT|TIME_ZONE_INFORMATION|TOGGLEKEYS|TOKEN_CONTROL|TOKEN_DEFAULT_DACL|TOKEN_GROUPS|TOKEN_OWNER|TOKEN_PRIMARY_GROUP|TOKEN_PRIVILEGES|TOKEN_SOURCE|TOKEN_STATISTICS|TOKEN_USER|TOOLINFO|TOOLTIPTEXT|TPAGESETUPDLG|TPMPARAMS|TRANSMIT_FILE_BUFFERS|TREEITEM|TSMALLPOINT|TTHITTESTINFO|TTPOLYCURVE|TTPOLYGONHEADER|TVARIANT|TV_DISPINFO|TV_HITTESTINFO|TV_INSERTSTRUCT|TV_ITEM|TV_KEYDOWN|TV_SORTCB|Time|TimeOfDay|TimeSpan|Tuple|UDACCEL|ULARGE_INTEGER|UNIVERSAL_NAME_INFO|UNLOAD_DLL_DEBUG_INFO|USEROBJECTFLAGS|USER_INFO_0|USER_INFO_2|USER_INFO_3|UnicodeData|VALENT|VA_LIST|VERIFY_INFORMATION|VS_FIXEDFILEINFO|Variant|VfsFilterInfo|WIN32_FILE_ATTRIBUTE_DATA|WIN32_FIND_DATA|WIN32_FIND_DATAW|WIN32_STREAM_ID|WINDOWINFO|WINDOWPLACEMENT|WINDOWPOS|WINDOW_BUFFER_SIZE_RECORD|WNDCLASS|WNDCLASSA|WNDCLASSEX|WNDCLASSEXA|WSADATA|WallClock|XFORM|ZipEntryInfo)\b</string>
892
+ <key>name</key>
893
+ <string>support.type.built-ins.structs.d</string>
894
+ </dict>
895
+ <key>support-type-d</key>
896
+ <dict>
897
+ <key>match</key>
898
+ <string>\b((?:tango|std)\.[\w\.]+)\b</string>
899
+ <key>name</key>
900
+ <string>support.type.d</string>
901
+ </dict>
902
+ </dict>
903
+ <key>scopeName</key>
904
+ <string>source.d</string>
905
+ <key>uuid</key>
906
+ <string>D7C3A109-0466-4C28-9ECF-10753300FF46</string>
907
+ </dict>
908
+ </plist>