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
@@ -0,0 +1,80 @@
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>firstLineMatch</key>
6
+ <string>^Format:\s*(?i:complete)\s*$</string>
7
+ <key>foldingStartMarker</key>
8
+ <string>(?x)
9
+ (&lt;(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b.*?&gt;
10
+ |&lt;!--(?!.*--&gt;)
11
+ |\{\s*($|\?&gt;\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
12
+ )</string>
13
+ <key>foldingStopMarker</key>
14
+ <string>(?x)
15
+ (&lt;/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)&gt;
16
+ |^\s*--&gt;
17
+ |(^|\s)\}
18
+ )</string>
19
+ <key>keyEquivalent</key>
20
+ <string>^~M</string>
21
+ <key>name</key>
22
+ <string>MultiMarkdown</string>
23
+ <key>patterns</key>
24
+ <array>
25
+ <dict>
26
+ <key>begin</key>
27
+ <string>^([A-Za-z0-9]+)(:)\s*</string>
28
+ <key>beginCaptures</key>
29
+ <dict>
30
+ <key>1</key>
31
+ <dict>
32
+ <key>name</key>
33
+ <string>keyword.other.multimarkdown</string>
34
+ </dict>
35
+ <key>2</key>
36
+ <dict>
37
+ <key>name</key>
38
+ <string>punctuation.separator.key-value.multimarkdown</string>
39
+ </dict>
40
+ </dict>
41
+ <key>end</key>
42
+ <string>^$|^(?=[A-Za-z0-9]+:)</string>
43
+ <key>name</key>
44
+ <string>meta.header.multimarkdown</string>
45
+ <key>patterns</key>
46
+ <array>
47
+ <dict>
48
+ <key>comment</key>
49
+ <string>The reason for not setting scopeName = "string.unquoted"
50
+ (for the parent rule) is that we do not want
51
+ newlines to be marked as string.unquoted</string>
52
+ <key>match</key>
53
+ <string>.+</string>
54
+ <key>name</key>
55
+ <string>string.unquoted.multimarkdown</string>
56
+ </dict>
57
+ </array>
58
+ </dict>
59
+ <dict>
60
+ <key>begin</key>
61
+ <string>^(?!=[A-Za-z0-9]+:)</string>
62
+ <key>end</key>
63
+ <string>^(?=not)possible$</string>
64
+ <key>name</key>
65
+ <string>meta.content.multimarkdown</string>
66
+ <key>patterns</key>
67
+ <array>
68
+ <dict>
69
+ <key>include</key>
70
+ <string>text.html.markdown</string>
71
+ </dict>
72
+ </array>
73
+ </dict>
74
+ </array>
75
+ <key>scopeName</key>
76
+ <string>text.html.markdown.multimarkdown</string>
77
+ <key>uuid</key>
78
+ <string>F5E04BF4-69A9-45AE-9205-B3F3C2B00130</string>
79
+ </dict>
80
+ </plist>
@@ -0,0 +1,3481 @@
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>TODO:
7
+ • Try to improve parameters list syntax – scope numbers, ‘=’, ‘,’ and possibly be intelligent about entity ordering
8
+ • Is meta.function-call the correct scope? I've added it to my theme but by default it's not highlighted</string>
9
+ <key>firstLineMatch</key>
10
+ <string>^#!.*(?&lt;!-)php[0-9]{0,1}\b</string>
11
+ <key>foldingStartMarker</key>
12
+ <string>(/\*|\{\s*$|&lt;&lt;&lt;HTML)</string>
13
+ <key>foldingStopMarker</key>
14
+ <string>(\*/|^\s*\}|^HTML;)</string>
15
+ <key>name</key>
16
+ <string>PHP</string>
17
+ <key>patterns</key>
18
+ <array>
19
+ <dict>
20
+ <key>captures</key>
21
+ <dict>
22
+ <key>1</key>
23
+ <dict>
24
+ <key>name</key>
25
+ <string>punctuation.whitespace.embedded.leading.php</string>
26
+ </dict>
27
+ <key>2</key>
28
+ <dict>
29
+ <key>name</key>
30
+ <string>source.php.embedded.line.empty.html</string>
31
+ </dict>
32
+ <key>3</key>
33
+ <dict>
34
+ <key>name</key>
35
+ <string>punctuation.section.embedded.begin.php</string>
36
+ </dict>
37
+ <key>4</key>
38
+ <dict>
39
+ <key>name</key>
40
+ <string>meta.consecutive-tags.php</string>
41
+ </dict>
42
+ <key>5</key>
43
+ <dict>
44
+ <key>name</key>
45
+ <string>source.php</string>
46
+ </dict>
47
+ <key>6</key>
48
+ <dict>
49
+ <key>name</key>
50
+ <string>punctuation.section.embedded.end.php</string>
51
+ </dict>
52
+ <key>7</key>
53
+ <dict>
54
+ <key>name</key>
55
+ <string>source.php</string>
56
+ </dict>
57
+ <key>8</key>
58
+ <dict>
59
+ <key>name</key>
60
+ <string>punctuation.whitespace.embedded.trailing.php</string>
61
+ </dict>
62
+ </dict>
63
+ <key>comment</key>
64
+ <string>Matches empty tags.</string>
65
+ <key>match</key>
66
+ <string>(?x)
67
+ (^\s*)? # 1 - Leading whitespace
68
+ ( # 2 - meta.embedded.line.empty.php
69
+ ( # 3 - Open Tag
70
+ (?:
71
+ ((?&lt;=\?&gt;)&lt;) # 4 - Consecutive tags
72
+ | &lt;
73
+ )
74
+ \?(?i:php|=)?
75
+ )
76
+ (\s*) # 5 - Loneliness
77
+ ((\?)&gt;) # 6 - Close Tag
78
+ # 7 - Scope ? as scope.php
79
+ )
80
+ (
81
+ \1 # Match nothing if there was no
82
+ # leading whitespace...
83
+ | (\s*$\n)? # or match trailing whitespace.
84
+ )
85
+ </string>
86
+ </dict>
87
+ <dict>
88
+ <key>begin</key>
89
+ <string>^\s*(?=&lt;\?)</string>
90
+ <key>beginCaptures</key>
91
+ <dict>
92
+ <key>0</key>
93
+ <dict>
94
+ <key>name</key>
95
+ <string>punctuation.whitespace.embedded.leading.php</string>
96
+ </dict>
97
+ </dict>
98
+ <key>comment</key>
99
+ <string>Catches tags with preceeding whitespace.</string>
100
+ <key>end</key>
101
+ <string>(?&lt;=\?&gt;)(\s*$\n)?</string>
102
+ <key>endCaptures</key>
103
+ <dict>
104
+ <key>0</key>
105
+ <dict>
106
+ <key>name</key>
107
+ <string>punctuation.whitespace.embedded.trailing.php</string>
108
+ </dict>
109
+ </dict>
110
+ <key>patterns</key>
111
+ <array>
112
+ <dict>
113
+ <key>begin</key>
114
+ <string>&lt;\?(?i:php|=)?</string>
115
+ <key>beginCaptures</key>
116
+ <dict>
117
+ <key>0</key>
118
+ <dict>
119
+ <key>name</key>
120
+ <string>punctuation.section.embedded.begin.php</string>
121
+ </dict>
122
+ </dict>
123
+ <key>end</key>
124
+ <string>(\?)&gt;</string>
125
+ <key>endCaptures</key>
126
+ <dict>
127
+ <key>0</key>
128
+ <dict>
129
+ <key>name</key>
130
+ <string>punctuation.section.embedded.end.php</string>
131
+ </dict>
132
+ <key>1</key>
133
+ <dict>
134
+ <key>name</key>
135
+ <string>source.php</string>
136
+ </dict>
137
+ </dict>
138
+ <key>name</key>
139
+ <string>source.php.embedded.block.html</string>
140
+ <key>patterns</key>
141
+ <array>
142
+ <dict>
143
+ <key>include</key>
144
+ <string>#language</string>
145
+ </dict>
146
+ </array>
147
+ </dict>
148
+ </array>
149
+ </dict>
150
+ <dict>
151
+ <key>begin</key>
152
+ <string>(((?&lt;=\?&gt;)&lt;)|&lt;)\?(?i:php|=)?</string>
153
+ <key>beginCaptures</key>
154
+ <dict>
155
+ <key>0</key>
156
+ <dict>
157
+ <key>name</key>
158
+ <string>punctuation.section.embedded.begin.php</string>
159
+ </dict>
160
+ <key>2</key>
161
+ <dict>
162
+ <key>name</key>
163
+ <string>meta.consecutive-tags.php</string>
164
+ </dict>
165
+ </dict>
166
+ <key>comment</key>
167
+ <string>Catches the remainder.</string>
168
+ <key>end</key>
169
+ <string>(\?)&gt;</string>
170
+ <key>endCaptures</key>
171
+ <dict>
172
+ <key>0</key>
173
+ <dict>
174
+ <key>name</key>
175
+ <string>punctuation.section.embedded.end.php</string>
176
+ </dict>
177
+ <key>1</key>
178
+ <dict>
179
+ <key>name</key>
180
+ <string>source.php</string>
181
+ </dict>
182
+ </dict>
183
+ <key>name</key>
184
+ <string>source.php.embedded.line.html</string>
185
+ <key>patterns</key>
186
+ <array>
187
+ <dict>
188
+ <key>include</key>
189
+ <string>#language</string>
190
+ </dict>
191
+ </array>
192
+ </dict>
193
+ </array>
194
+ <key>repository</key>
195
+ <dict>
196
+ <key>constants</key>
197
+ <dict>
198
+ <key>patterns</key>
199
+ <array>
200
+ <dict>
201
+ <key>match</key>
202
+ <string>(?i)\b(TRUE|FALSE|NULL|__(FILE|FUNCTION|CLASS|METHOD|LINE)__|ON|OFF|YES|NO|NL|BR|TAB)\b</string>
203
+ <key>name</key>
204
+ <string>constant.language.php</string>
205
+ </dict>
206
+ <dict>
207
+ <key>match</key>
208
+ <string>\b(DEFAULT_INCLUDE_PATH|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|(RECOVERABLE_)?ERROR|NOTICE|PARSE|STRICT|USER_(ERROR|NOTICE|WARNING)|WARNING)|PEAR_(EXTENSION_DIR|INSTALL_DIR)|PHP_(BINDIR|CONFIG_FILE_PATH|DATADIR|E(OL|XTENSION_DIR)|L(IBDIR|OCALSTATEDIR)|O(S|UTPUT_HANDLER_CONT|UTPUT_HANDLER_END|UTPUT_HANDLER_START)|SYSCONFDIR|VERSION))\b</string>
209
+ <key>name</key>
210
+ <string>support.constant.core.php</string>
211
+ </dict>
212
+ <dict>
213
+ <key>match</key>
214
+ <string>\b(A(B(DAY_([1-7])|MON_([0-9]{1,2}))|LT_DIGITS|M_STR|SSERT_(ACTIVE|BAIL|CALLBACK|QUIET_EVAL|WARNING))|C(ASE_(LOWER|UPPER)|HAR_MAX|O(DESET|NNECTION_(ABORTED|NORMAL|TIMEOUT)|UNT_(NORMAL|RECURSIVE))|REDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|RNCYSTR|RYPT_(BLOWFISH|EXT_DES|MD5|SALT_LENGTH|STD_DES)|URRENCY_SYMBOL)|D(AY_([1-7])|ECIMAL_POINT|IRECTORY_SEPARATOR|_(FMT|T_FMT))|E(NT_(COMPAT|NOQUOTES|QUOTES)|RA(|_D_FMT|_D_T_FMT|_T_FMT|_YEAR)|XTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|SKIP))|FRAC_DIGITS|GROUPING|HTML_(ENTITIES|SPECIALCHARS)|IN(FO_(ALL|CONFIGURATION|CREDITS|ENVIRONMENT|GENERAL|LICENSE|MODULES|VARIABLES)|I_(ALL|PERDIR|SYSTEM|USER)|T_(CURR_SYMBOL|FRAC_DIGITS))|L(C_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|O(CK_(EX|NB|SH|UN)|G_(ALERT|AUTH(|PRIV)|CONS|CRIT|CRON|DAEMON|DEBUG|EMERG|ERR|INFO|KERN|LOCAL([0-7])|LPR|MAIL|NDELAY|NEWS|NOTICE|NOWAIT|ODELAY|PERROR|PID|SYSLOG|USER|UUCP|WARNING)))|M(ON_([0-9]{1,2}|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|YSQL_(ASSOC|BOTH|NUM)|_(1_PI|2_(PI|SQRTPI)|E|L(N10|N2|OG(10E|2E))|PI(|_2|_4)|SQRT1_2|SQRT2))|N(EGATIVE_SIGN|O(EXPR|STR)|_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN))|P(ATH(INFO_(BASENAME|DIRNAME|EXTENSION|FILENAME)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN))|RADIXCHAR|S(EEK_(CUR|END|SET)|ORT_(ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(BOTH|LEFT|RIGHT))|T(HOUS(ANDS_SEP|EP)|_(FMT(|_AMPM)))|YES(EXPR|STR))\b</string>
215
+ <key>name</key>
216
+ <string>support.constant.std.php</string>
217
+ </dict>
218
+ <dict>
219
+ <key>comment</key>
220
+ <string>In PHP, any identifier which is not a variable is taken to be a constant.
221
+ However, if there is no constant defined with the given name then a notice
222
+ is generated and the constant is assumed to have the value of its name.</string>
223
+ <key>match</key>
224
+ <string>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*</string>
225
+ <key>name</key>
226
+ <string>constant.other.php</string>
227
+ </dict>
228
+ </array>
229
+ </dict>
230
+ <key>function-call</key>
231
+ <dict>
232
+ <key>match</key>
233
+ <string>[A-Za-z_][A-Za-z_0-9]*(?=\s*\()</string>
234
+ <key>name</key>
235
+ <string>meta.function-call.php</string>
236
+ </dict>
237
+ <key>instantiation</key>
238
+ <dict>
239
+ <key>captures</key>
240
+ <dict>
241
+ <key>1</key>
242
+ <dict>
243
+ <key>name</key>
244
+ <string>keyword.other.new.php</string>
245
+ </dict>
246
+ <key>2</key>
247
+ <dict>
248
+ <key>name</key>
249
+ <string>variable.other.php</string>
250
+ </dict>
251
+ <key>3</key>
252
+ <dict>
253
+ <key>name</key>
254
+ <string>support.class.php</string>
255
+ </dict>
256
+ <key>4</key>
257
+ <dict>
258
+ <key>name</key>
259
+ <string>support.class.php</string>
260
+ </dict>
261
+ </dict>
262
+ <key>match</key>
263
+ <string>(?i)\b(new)\s+(?:(\$[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)|(\w+))|(\w+)(?=::)</string>
264
+ </dict>
265
+ <key>interpolation</key>
266
+ <dict>
267
+ <key>comment</key>
268
+ <string>http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing</string>
269
+ <key>patterns</key>
270
+ <array>
271
+ <dict>
272
+ <key>match</key>
273
+ <string>\\[0-7]{1,3}</string>
274
+ <key>name</key>
275
+ <string>constant.numeric.octal.php</string>
276
+ </dict>
277
+ <dict>
278
+ <key>match</key>
279
+ <string>\\x[0-9A-Fa-f]{1,2}</string>
280
+ <key>name</key>
281
+ <string>constant.numeric.hex.php</string>
282
+ </dict>
283
+ <dict>
284
+ <key>match</key>
285
+ <string>\\[nrt\\\$\"]</string>
286
+ <key>name</key>
287
+ <string>constant.character.escape.php</string>
288
+ </dict>
289
+ <dict>
290
+ <key>captures</key>
291
+ <dict>
292
+ <key>1</key>
293
+ <dict>
294
+ <key>name</key>
295
+ <string>variable.other.php</string>
296
+ </dict>
297
+ <key>2</key>
298
+ <dict>
299
+ <key>name</key>
300
+ <string>punctuation.definition.variable.php</string>
301
+ </dict>
302
+ <key>4</key>
303
+ <dict>
304
+ <key>name</key>
305
+ <string>punctuation.definition.variable.php</string>
306
+ </dict>
307
+ </dict>
308
+ <key>comment</key>
309
+ <string>Simple syntax with braces: "foo${bar}baz"</string>
310
+ <key>match</key>
311
+ <string>(?x)
312
+ ((\$\{)(?&lt;name&gt;[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(\}))
313
+ </string>
314
+ </dict>
315
+ <dict>
316
+ <key>captures</key>
317
+ <dict>
318
+ <key>1</key>
319
+ <dict>
320
+ <key>name</key>
321
+ <string>variable.other.php</string>
322
+ </dict>
323
+ <key>10</key>
324
+ <dict>
325
+ <key>name</key>
326
+ <string>punctuation.definition.variable.php</string>
327
+ </dict>
328
+ <key>11</key>
329
+ <dict>
330
+ <key>name</key>
331
+ <string>string.unquoted.index.php</string>
332
+ </dict>
333
+ <key>12</key>
334
+ <dict>
335
+ <key>name</key>
336
+ <string>invalid.illegal.invalid-simple-array-index.php</string>
337
+ </dict>
338
+ <key>13</key>
339
+ <dict>
340
+ <key>name</key>
341
+ <string>keyword.operator.index-end.php</string>
342
+ </dict>
343
+ <key>2</key>
344
+ <dict>
345
+ <key>name</key>
346
+ <string>punctuation.definition.variable.php</string>
347
+ </dict>
348
+ <key>4</key>
349
+ <dict>
350
+ <key>name</key>
351
+ <string>keyword.operator.class.php</string>
352
+ </dict>
353
+ <key>5</key>
354
+ <dict>
355
+ <key>name</key>
356
+ <string>variable.other.property.php</string>
357
+ </dict>
358
+ <key>6</key>
359
+ <dict>
360
+ <key>name</key>
361
+ <string>invalid.illegal.php</string>
362
+ </dict>
363
+ <key>7</key>
364
+ <dict>
365
+ <key>name</key>
366
+ <string>keyword.operator.index-start.php</string>
367
+ </dict>
368
+ <key>8</key>
369
+ <dict>
370
+ <key>name</key>
371
+ <string>constant.numeric.index.php</string>
372
+ </dict>
373
+ <key>9</key>
374
+ <dict>
375
+ <key>name</key>
376
+ <string>variable.other.index.php</string>
377
+ </dict>
378
+ </dict>
379
+ <key>comment</key>
380
+ <string>Simple syntax: $foo, $foo[0], $foo[$bar], $foo-&gt;bar</string>
381
+ <key>match</key>
382
+ <string>(?x)
383
+ ((\$)(?&lt;name&gt;[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*))
384
+ (?:
385
+ (-&gt;)
386
+ (?:
387
+ (\g&lt;name&gt;)
388
+ |
389
+ (\$\g&lt;name&gt;)
390
+ )
391
+ |
392
+ (\[)
393
+ (?:(\d+)|((\$)\g&lt;name&gt;)|(\w+)|(.*?))
394
+ (\])
395
+ )?
396
+ </string>
397
+ </dict>
398
+ <dict>
399
+ <key>begin</key>
400
+ <string>(?=(?&lt;regex&gt;(?#simple syntax)\$(?&lt;name&gt;[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?&lt;index&gt;[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g&lt;name&gt;)\]|-&gt;\g&lt;name&gt;(\(.*?\))?)?|(?#simple syntax with braces)\$\{(?:\g&lt;name&gt;(?&lt;indices&gt;\[(?:\g&lt;index&gt;|'(?:\\.|[^'\\])*'|"(?:\g&lt;regex&gt;|\\.|[^"\\])*")\])?|\g&lt;complex&gt;|\$\{\g&lt;complex&gt;\})\}|(?#complex syntax)\{(?&lt;complex&gt;\$(?&lt;segment&gt;\g&lt;name&gt;(\g&lt;indices&gt;*|\(.*?\))?)(?:-&gt;\g&lt;segment&gt;)*|\$\g&lt;complex&gt;|\$\{\g&lt;complex&gt;\})\}))\{</string>
401
+ <key>beginCaptures</key>
402
+ <dict>
403
+ <key>0</key>
404
+ <dict>
405
+ <key>name</key>
406
+ <string>punctuation.definition.variable.php</string>
407
+ </dict>
408
+ </dict>
409
+ <key>comment</key>
410
+ <string>Complex syntax. It seems this now supports complex method calls, as of PHP5.
411
+ I've put wildcards into the function call parameter lists to handle this, but this may break the pattern.
412
+ It also might be better to disable it as I shouldn't imagine it's used often (hopefully) and it may confuse PHP4 users.</string>
413
+ <key>end</key>
414
+ <string>\}</string>
415
+ <key>endCaptures</key>
416
+ <dict>
417
+ <key>0</key>
418
+ <dict>
419
+ <key>name</key>
420
+ <string>punctuation.definition.variable.php</string>
421
+ </dict>
422
+ </dict>
423
+ <key>patterns</key>
424
+ <array>
425
+ <dict>
426
+ <key>include</key>
427
+ <string>#function-call</string>
428
+ </dict>
429
+ <dict>
430
+ <key>include</key>
431
+ <string>#var_basic</string>
432
+ </dict>
433
+ <dict>
434
+ <key>include</key>
435
+ <string>#object</string>
436
+ </dict>
437
+ <dict>
438
+ <key>include</key>
439
+ <string>#numbers</string>
440
+ </dict>
441
+ <dict>
442
+ <key>match</key>
443
+ <string>\[</string>
444
+ <key>name</key>
445
+ <string>keyword.operator.index-start.php</string>
446
+ </dict>
447
+ <dict>
448
+ <key>match</key>
449
+ <string>\]</string>
450
+ <key>name</key>
451
+ <string>keyword.operator.index-end.php</string>
452
+ </dict>
453
+ </array>
454
+ </dict>
455
+ </array>
456
+ </dict>
457
+ <key>language</key>
458
+ <dict>
459
+ <key>patterns</key>
460
+ <array>
461
+ <dict>
462
+ <key>begin</key>
463
+ <string>(?=&lt;&lt;&lt;\s*(HTML|XML|SQL|JAVASCRIPT|CSS)\s*$)</string>
464
+ <key>end</key>
465
+ <string>(?!&lt;?&lt;&lt;\s*(HTML|XML|SQL|JAVASCRIPT|CSS)\s*$)</string>
466
+ <key>name</key>
467
+ <string>string.unquoted.heredoc.php</string>
468
+ <key>patterns</key>
469
+ <array>
470
+ <dict>
471
+ <key>begin</key>
472
+ <string>(&lt;&lt;&lt;)\s*(HTML)\s*$\n?</string>
473
+ <key>beginCaptures</key>
474
+ <dict>
475
+ <key>0</key>
476
+ <dict>
477
+ <key>name</key>
478
+ <string>punctuation.section.embedded.begin.php</string>
479
+ </dict>
480
+ <key>1</key>
481
+ <dict>
482
+ <key>name</key>
483
+ <string>punctuation.definition.string.php</string>
484
+ </dict>
485
+ <key>2</key>
486
+ <dict>
487
+ <key>name</key>
488
+ <string>keyword.operator.heredoc.php</string>
489
+ </dict>
490
+ </dict>
491
+ <key>contentName</key>
492
+ <string>text.html</string>
493
+ <key>end</key>
494
+ <string>^(HTML)(;?)$\n?</string>
495
+ <key>endCaptures</key>
496
+ <dict>
497
+ <key>0</key>
498
+ <dict>
499
+ <key>name</key>
500
+ <string>punctuation.section.embedded.end.php</string>
501
+ </dict>
502
+ <key>1</key>
503
+ <dict>
504
+ <key>name</key>
505
+ <string>keyword.operator.heredoc.php</string>
506
+ </dict>
507
+ <key>2</key>
508
+ <dict>
509
+ <key>name</key>
510
+ <string>punctuation.definition.string.php</string>
511
+ </dict>
512
+ </dict>
513
+ <key>name</key>
514
+ <string>meta.embedded.html</string>
515
+ <key>patterns</key>
516
+ <array>
517
+ <dict>
518
+ <key>include</key>
519
+ <string>text.html.basic</string>
520
+ </dict>
521
+ <dict>
522
+ <key>include</key>
523
+ <string>#interpolation</string>
524
+ </dict>
525
+ </array>
526
+ </dict>
527
+ <dict>
528
+ <key>begin</key>
529
+ <string>(&lt;&lt;&lt;)\s*(XML)\s*$\n?</string>
530
+ <key>beginCaptures</key>
531
+ <dict>
532
+ <key>0</key>
533
+ <dict>
534
+ <key>name</key>
535
+ <string>punctuation.section.embedded.begin.php</string>
536
+ </dict>
537
+ <key>1</key>
538
+ <dict>
539
+ <key>name</key>
540
+ <string>punctuation.definition.string.php</string>
541
+ </dict>
542
+ <key>2</key>
543
+ <dict>
544
+ <key>name</key>
545
+ <string>keyword.operator.heredoc.php</string>
546
+ </dict>
547
+ </dict>
548
+ <key>contentName</key>
549
+ <string>text.xml</string>
550
+ <key>end</key>
551
+ <string>^(XML)(;?)$\n?</string>
552
+ <key>endCaptures</key>
553
+ <dict>
554
+ <key>0</key>
555
+ <dict>
556
+ <key>name</key>
557
+ <string>punctuation.section.embedded.end.php</string>
558
+ </dict>
559
+ <key>1</key>
560
+ <dict>
561
+ <key>name</key>
562
+ <string>keyword.operator.heredoc.php</string>
563
+ </dict>
564
+ <key>2</key>
565
+ <dict>
566
+ <key>name</key>
567
+ <string>punctuation.definition.string.php</string>
568
+ </dict>
569
+ </dict>
570
+ <key>name</key>
571
+ <string>meta.embedded.xml</string>
572
+ <key>patterns</key>
573
+ <array>
574
+ <dict>
575
+ <key>include</key>
576
+ <string>text.xml</string>
577
+ </dict>
578
+ <dict>
579
+ <key>include</key>
580
+ <string>#interpolation</string>
581
+ </dict>
582
+ </array>
583
+ </dict>
584
+ <dict>
585
+ <key>begin</key>
586
+ <string>(&lt;&lt;&lt;)\s*(SQL)\s*$\n?</string>
587
+ <key>beginCaptures</key>
588
+ <dict>
589
+ <key>0</key>
590
+ <dict>
591
+ <key>name</key>
592
+ <string>punctuation.section.embedded.begin.php</string>
593
+ </dict>
594
+ <key>1</key>
595
+ <dict>
596
+ <key>name</key>
597
+ <string>punctuation.definition.string.php</string>
598
+ </dict>
599
+ <key>2</key>
600
+ <dict>
601
+ <key>name</key>
602
+ <string>keyword.operator.heredoc.php</string>
603
+ </dict>
604
+ </dict>
605
+ <key>contentName</key>
606
+ <string>source.sql</string>
607
+ <key>end</key>
608
+ <string>^(SQL)(;?)$\n?</string>
609
+ <key>endCaptures</key>
610
+ <dict>
611
+ <key>0</key>
612
+ <dict>
613
+ <key>name</key>
614
+ <string>punctuation.section.embedded.end.php</string>
615
+ </dict>
616
+ <key>1</key>
617
+ <dict>
618
+ <key>name</key>
619
+ <string>keyword.operator.heredoc.php</string>
620
+ </dict>
621
+ <key>2</key>
622
+ <dict>
623
+ <key>name</key>
624
+ <string>punctuation.definition.string.php</string>
625
+ </dict>
626
+ </dict>
627
+ <key>name</key>
628
+ <string>meta.embedded.sql</string>
629
+ <key>patterns</key>
630
+ <array>
631
+ <dict>
632
+ <key>include</key>
633
+ <string>source.sql</string>
634
+ </dict>
635
+ <dict>
636
+ <key>include</key>
637
+ <string>#interpolation</string>
638
+ </dict>
639
+ </array>
640
+ </dict>
641
+ <dict>
642
+ <key>begin</key>
643
+ <string>(&lt;&lt;&lt;)\s*(JAVASCRIPT)\s*$\n?</string>
644
+ <key>beginCaptures</key>
645
+ <dict>
646
+ <key>0</key>
647
+ <dict>
648
+ <key>name</key>
649
+ <string>punctuation.section.embedded.begin.php</string>
650
+ </dict>
651
+ <key>1</key>
652
+ <dict>
653
+ <key>name</key>
654
+ <string>punctuation.definition.string.php</string>
655
+ </dict>
656
+ <key>2</key>
657
+ <dict>
658
+ <key>name</key>
659
+ <string>keyword.operator.heredoc.php</string>
660
+ </dict>
661
+ </dict>
662
+ <key>contentName</key>
663
+ <string>source.js</string>
664
+ <key>end</key>
665
+ <string>^(JAVASCRIPT)(;?)$\n?</string>
666
+ <key>endCaptures</key>
667
+ <dict>
668
+ <key>0</key>
669
+ <dict>
670
+ <key>name</key>
671
+ <string>punctuation.section.embedded.end.php</string>
672
+ </dict>
673
+ <key>1</key>
674
+ <dict>
675
+ <key>name</key>
676
+ <string>keyword.operator.heredoc.php</string>
677
+ </dict>
678
+ <key>2</key>
679
+ <dict>
680
+ <key>name</key>
681
+ <string>punctuation.definition.string.php</string>
682
+ </dict>
683
+ </dict>
684
+ <key>name</key>
685
+ <string>meta.embedded.js</string>
686
+ <key>patterns</key>
687
+ <array>
688
+ <dict>
689
+ <key>include</key>
690
+ <string>source.js</string>
691
+ </dict>
692
+ <dict>
693
+ <key>include</key>
694
+ <string>#interpolation</string>
695
+ </dict>
696
+ </array>
697
+ </dict>
698
+ <dict>
699
+ <key>begin</key>
700
+ <string>(&lt;&lt;&lt;)\s*(CSS)\s*$\n?</string>
701
+ <key>beginCaptures</key>
702
+ <dict>
703
+ <key>0</key>
704
+ <dict>
705
+ <key>name</key>
706
+ <string>punctuation.section.embedded.begin.php</string>
707
+ </dict>
708
+ <key>1</key>
709
+ <dict>
710
+ <key>name</key>
711
+ <string>punctuation.definition.string.php</string>
712
+ </dict>
713
+ <key>2</key>
714
+ <dict>
715
+ <key>name</key>
716
+ <string>keyword.operator.heredoc.php</string>
717
+ </dict>
718
+ </dict>
719
+ <key>contentName</key>
720
+ <string>source.css</string>
721
+ <key>end</key>
722
+ <string>^(CSS)(;?)$\n?</string>
723
+ <key>endCaptures</key>
724
+ <dict>
725
+ <key>0</key>
726
+ <dict>
727
+ <key>name</key>
728
+ <string>punctuation.section.embedded.end.php</string>
729
+ </dict>
730
+ <key>1</key>
731
+ <dict>
732
+ <key>name</key>
733
+ <string>keyword.operator.heredoc.php</string>
734
+ </dict>
735
+ <key>2</key>
736
+ <dict>
737
+ <key>name</key>
738
+ <string>punctuation.definition.string.php</string>
739
+ </dict>
740
+ </dict>
741
+ <key>name</key>
742
+ <string>meta.embedded.css</string>
743
+ <key>patterns</key>
744
+ <array>
745
+ <dict>
746
+ <key>include</key>
747
+ <string>source.css</string>
748
+ </dict>
749
+ <dict>
750
+ <key>include</key>
751
+ <string>#interpolation</string>
752
+ </dict>
753
+ </array>
754
+ </dict>
755
+ </array>
756
+ </dict>
757
+ <dict>
758
+ <key>begin</key>
759
+ <string>/\*\*(?:#@\+)?\s*$</string>
760
+ <key>captures</key>
761
+ <dict>
762
+ <key>0</key>
763
+ <dict>
764
+ <key>name</key>
765
+ <string>punctuation.definition.comment.php</string>
766
+ </dict>
767
+ </dict>
768
+ <key>comment</key>
769
+ <string>This now only highlights a docblock if the first line contains only /**
770
+ - this is to stop highlighting everything as invalid when people do comment banners with /******** ...
771
+ - Now matches /**#@+ too - used for docblock templates: http://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblocktemplate</string>
772
+ <key>end</key>
773
+ <string>\*/</string>
774
+ <key>name</key>
775
+ <string>comment.block.documentation.phpdoc.php</string>
776
+ <key>patterns</key>
777
+ <array>
778
+ <dict>
779
+ <key>include</key>
780
+ <string>#php_doc</string>
781
+ </dict>
782
+ </array>
783
+ </dict>
784
+ <dict>
785
+ <key>begin</key>
786
+ <string>/\*</string>
787
+ <key>captures</key>
788
+ <dict>
789
+ <key>0</key>
790
+ <dict>
791
+ <key>name</key>
792
+ <string>punctuation.definition.comment.php</string>
793
+ </dict>
794
+ </dict>
795
+ <key>end</key>
796
+ <string>\*/</string>
797
+ <key>name</key>
798
+ <string>comment.block.php</string>
799
+ </dict>
800
+ <dict>
801
+ <key>captures</key>
802
+ <dict>
803
+ <key>1</key>
804
+ <dict>
805
+ <key>name</key>
806
+ <string>punctuation.definition.comment.php</string>
807
+ </dict>
808
+ </dict>
809
+ <key>match</key>
810
+ <string>(//).*?($\n?|(?=\?&gt;))</string>
811
+ <key>name</key>
812
+ <string>comment.line.double-slash.php</string>
813
+ </dict>
814
+ <dict>
815
+ <key>captures</key>
816
+ <dict>
817
+ <key>1</key>
818
+ <dict>
819
+ <key>name</key>
820
+ <string>punctuation.definition.comment.php</string>
821
+ </dict>
822
+ </dict>
823
+ <key>match</key>
824
+ <string>(#).*?($\n?|(?=\?&gt;))</string>
825
+ <key>name</key>
826
+ <string>comment.line.number-sign.php</string>
827
+ </dict>
828
+ <dict>
829
+ <key>begin</key>
830
+ <string>^(?i)\s*(interface)\s+([a-z0-9_]+)\s*(extends)?\s*</string>
831
+ <key>beginCaptures</key>
832
+ <dict>
833
+ <key>1</key>
834
+ <dict>
835
+ <key>name</key>
836
+ <string>storage.type.interface.php</string>
837
+ </dict>
838
+ <key>2</key>
839
+ <dict>
840
+ <key>name</key>
841
+ <string>entity.name.type.interface.php</string>
842
+ </dict>
843
+ <key>3</key>
844
+ <dict>
845
+ <key>name</key>
846
+ <string>storage.modifier.extends.php</string>
847
+ </dict>
848
+ </dict>
849
+ <key>end</key>
850
+ <string>$</string>
851
+ <key>name</key>
852
+ <string>meta.interface.php</string>
853
+ <key>patterns</key>
854
+ <array>
855
+ <dict>
856
+ <key>match</key>
857
+ <string>[a-zA-Z0-9_]+</string>
858
+ <key>name</key>
859
+ <string>entity.other.inherited-class.php</string>
860
+ </dict>
861
+ </array>
862
+ </dict>
863
+ <dict>
864
+ <key>begin</key>
865
+ <string>(?i)^\s*(abstract|final)?\s*(class)\s+([a-z0-9_]+)\s*</string>
866
+ <key>beginCaptures</key>
867
+ <dict>
868
+ <key>1</key>
869
+ <dict>
870
+ <key>name</key>
871
+ <string>storage.modifier.abstract.php</string>
872
+ </dict>
873
+ <key>2</key>
874
+ <dict>
875
+ <key>name</key>
876
+ <string>storage.type.class.php</string>
877
+ </dict>
878
+ <key>3</key>
879
+ <dict>
880
+ <key>name</key>
881
+ <string>entity.name.type.class.php</string>
882
+ </dict>
883
+ </dict>
884
+ <key>end</key>
885
+ <string>$</string>
886
+ <key>name</key>
887
+ <string>meta.class.php</string>
888
+ <key>patterns</key>
889
+ <array>
890
+ <dict>
891
+ <key>captures</key>
892
+ <dict>
893
+ <key>1</key>
894
+ <dict>
895
+ <key>name</key>
896
+ <string>storage.modifier.extends.php</string>
897
+ </dict>
898
+ <key>2</key>
899
+ <dict>
900
+ <key>name</key>
901
+ <string>entity.other.inherited-class.php</string>
902
+ </dict>
903
+ </dict>
904
+ <key>match</key>
905
+ <string>(?i:(extends))\s+([a-zA-Z0-9_]+)\s*</string>
906
+ </dict>
907
+ <dict>
908
+ <key>begin</key>
909
+ <string>(?i:(implements))\s+([a-zA-Z0-9_]+)\s*</string>
910
+ <key>beginCaptures</key>
911
+ <dict>
912
+ <key>1</key>
913
+ <dict>
914
+ <key>name</key>
915
+ <string>storage.modifier.implements.php</string>
916
+ </dict>
917
+ <key>2</key>
918
+ <dict>
919
+ <key>name</key>
920
+ <string>support.class.implements.php</string>
921
+ </dict>
922
+ </dict>
923
+ <key>end</key>
924
+ <string>(?=\s*\b(?i:(extends)))|$</string>
925
+ <key>patterns</key>
926
+ <array>
927
+ <dict>
928
+ <key>captures</key>
929
+ <dict>
930
+ <key>1</key>
931
+ <dict>
932
+ <key>name</key>
933
+ <string>support.class.implements.php</string>
934
+ </dict>
935
+ </dict>
936
+ <key>match</key>
937
+ <string>,\s*([a-zA-Z0-9_]+)\s*</string>
938
+ </dict>
939
+ </array>
940
+ </dict>
941
+ </array>
942
+ </dict>
943
+ <dict>
944
+ <key>match</key>
945
+ <string>\b(break|c(ase|ontinue)|d(e(clare|fault)|ie|o)|e(lse(if)?|nd(declare|for(each)?|if|switch|while)|xit)|for(each)?|if|return|switch|use|while)\b</string>
946
+ <key>name</key>
947
+ <string>keyword.control.php</string>
948
+ </dict>
949
+ <dict>
950
+ <key>begin</key>
951
+ <string>(?i)\b((?:require|include)(?:_once)?)\b\s*</string>
952
+ <key>beginCaptures</key>
953
+ <dict>
954
+ <key>1</key>
955
+ <dict>
956
+ <key>name</key>
957
+ <string>keyword.control.import.include.php</string>
958
+ </dict>
959
+ </dict>
960
+ <key>end</key>
961
+ <string>(?=\s|;|$)</string>
962
+ <key>name</key>
963
+ <string>meta.include.php</string>
964
+ <key>patterns</key>
965
+ <array>
966
+ <dict>
967
+ <key>include</key>
968
+ <string>#language</string>
969
+ </dict>
970
+ </array>
971
+ </dict>
972
+ <dict>
973
+ <key>captures</key>
974
+ <dict>
975
+ <key>1</key>
976
+ <dict>
977
+ <key>name</key>
978
+ <string>keyword.control.exception.php</string>
979
+ </dict>
980
+ <key>2</key>
981
+ <dict>
982
+ <key>name</key>
983
+ <string>support.class.php</string>
984
+ </dict>
985
+ <key>3</key>
986
+ <dict>
987
+ <key>name</key>
988
+ <string>variable.other.php</string>
989
+ </dict>
990
+ <key>4</key>
991
+ <dict>
992
+ <key>name</key>
993
+ <string>punctuation.definition.variable.php</string>
994
+ </dict>
995
+ </dict>
996
+ <key>match</key>
997
+ <string>\b(catch)\b\s*\(\s*([A-Za-z_][A-Za-z_0-9]*)\s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)\s*\)</string>
998
+ <key>name</key>
999
+ <string>meta.catch.php</string>
1000
+ </dict>
1001
+ <dict>
1002
+ <key>match</key>
1003
+ <string>\b(catch|try|throw|exception)\b</string>
1004
+ <key>name</key>
1005
+ <string>keyword.control.exception.php</string>
1006
+ </dict>
1007
+ <dict>
1008
+ <key>begin</key>
1009
+ <string>(?:^\s*)((?:(?:final|abstract|public|private|protected|static)\s+)*)(function)(?:\s+|(\s*&amp;\s*))(?:(__(?:call|(?:con|de)struct|get|(?:is|un)?set|tostring|clone|set_state|sleep|wakeup|autoload))|([a-zA-Z0-9_]+))\s*(\()</string>
1010
+ <key>beginCaptures</key>
1011
+ <dict>
1012
+ <key>1</key>
1013
+ <dict>
1014
+ <key>name</key>
1015
+ <string>storage.modifier.php</string>
1016
+ </dict>
1017
+ <key>2</key>
1018
+ <dict>
1019
+ <key>name</key>
1020
+ <string>storage.type.function.php</string>
1021
+ </dict>
1022
+ <key>3</key>
1023
+ <dict>
1024
+ <key>name</key>
1025
+ <string>storage.modifier.reference.php</string>
1026
+ </dict>
1027
+ <key>4</key>
1028
+ <dict>
1029
+ <key>name</key>
1030
+ <string>support.function.magic.php</string>
1031
+ </dict>
1032
+ <key>5</key>
1033
+ <dict>
1034
+ <key>name</key>
1035
+ <string>entity.name.function.php</string>
1036
+ </dict>
1037
+ <key>6</key>
1038
+ <dict>
1039
+ <key>name</key>
1040
+ <string>punctuation.definition.parameters.begin.php</string>
1041
+ </dict>
1042
+ </dict>
1043
+ <key>contentName</key>
1044
+ <string>meta.function.arguments.php</string>
1045
+ <key>end</key>
1046
+ <string>\)</string>
1047
+ <key>endCaptures</key>
1048
+ <dict>
1049
+ <key>1</key>
1050
+ <dict>
1051
+ <key>name</key>
1052
+ <string>punctuation.definition.parameters.end.php</string>
1053
+ </dict>
1054
+ </dict>
1055
+ <key>name</key>
1056
+ <string>meta.function.php</string>
1057
+ <key>patterns</key>
1058
+ <array>
1059
+ <dict>
1060
+ <key>begin</key>
1061
+ <string>(?x)
1062
+ \s*(array) # Typehint
1063
+ \s*(&amp;)? # Reference
1064
+ \s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*) # The variable name
1065
+ \s*(=) # A default value
1066
+ \s*(array)\s*(\()
1067
+ </string>
1068
+ <key>beginCaptures</key>
1069
+ <dict>
1070
+ <key>1</key>
1071
+ <dict>
1072
+ <key>name</key>
1073
+ <string>storage.type.php</string>
1074
+ </dict>
1075
+ <key>2</key>
1076
+ <dict>
1077
+ <key>name</key>
1078
+ <string>storage.modifier.php</string>
1079
+ </dict>
1080
+ <key>3</key>
1081
+ <dict>
1082
+ <key>name</key>
1083
+ <string>variable.other.php</string>
1084
+ </dict>
1085
+ <key>4</key>
1086
+ <dict>
1087
+ <key>name</key>
1088
+ <string>punctuation.definition.variable.php</string>
1089
+ </dict>
1090
+ <key>5</key>
1091
+ <dict>
1092
+ <key>name</key>
1093
+ <string>keyword.operator.assignment.php</string>
1094
+ </dict>
1095
+ <key>6</key>
1096
+ <dict>
1097
+ <key>name</key>
1098
+ <string>support.function.construct.php</string>
1099
+ </dict>
1100
+ <key>7</key>
1101
+ <dict>
1102
+ <key>name</key>
1103
+ <string>punctuation.definition.array.begin.php</string>
1104
+ </dict>
1105
+ </dict>
1106
+ <key>contentName</key>
1107
+ <string>meta.array.php</string>
1108
+ <key>end</key>
1109
+ <string>\)</string>
1110
+ <key>endCaptures</key>
1111
+ <dict>
1112
+ <key>0</key>
1113
+ <dict>
1114
+ <key>name</key>
1115
+ <string>punctuation.definition.array.end.php</string>
1116
+ </dict>
1117
+ </dict>
1118
+ <key>name</key>
1119
+ <string>meta.function.argument.array.php</string>
1120
+ <key>patterns</key>
1121
+ <array>
1122
+ <dict>
1123
+ <key>include</key>
1124
+ <string>#strings</string>
1125
+ </dict>
1126
+ <dict>
1127
+ <key>include</key>
1128
+ <string>#numbers</string>
1129
+ </dict>
1130
+ </array>
1131
+ </dict>
1132
+ <dict>
1133
+ <key>captures</key>
1134
+ <dict>
1135
+ <key>1</key>
1136
+ <dict>
1137
+ <key>name</key>
1138
+ <string>storage.type.php</string>
1139
+ </dict>
1140
+ <key>2</key>
1141
+ <dict>
1142
+ <key>name</key>
1143
+ <string>storage.modifier.php</string>
1144
+ </dict>
1145
+ <key>3</key>
1146
+ <dict>
1147
+ <key>name</key>
1148
+ <string>variable.other.php</string>
1149
+ </dict>
1150
+ <key>4</key>
1151
+ <dict>
1152
+ <key>name</key>
1153
+ <string>punctuation.definition.variable.php</string>
1154
+ </dict>
1155
+ <key>5</key>
1156
+ <dict>
1157
+ <key>name</key>
1158
+ <string>keyword.operator.assignment.php</string>
1159
+ </dict>
1160
+ <key>6</key>
1161
+ <dict>
1162
+ <key>name</key>
1163
+ <string>constant.language.php</string>
1164
+ </dict>
1165
+ <key>7</key>
1166
+ <dict>
1167
+ <key>name</key>
1168
+ <string>invalid.illegal.non-null-typehinted.php</string>
1169
+ </dict>
1170
+ </dict>
1171
+ <key>match</key>
1172
+ <string>(?x)
1173
+ \s*(array) # Typehint
1174
+ \s*(&amp;)? # Reference
1175
+ \s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*) # The variable name
1176
+ (?:
1177
+ \s*(=) # A default value
1178
+ \s*(?i:
1179
+ (NULL)
1180
+ |
1181
+ (\S.*?)
1182
+ )?
1183
+ )?
1184
+ \s*(?=,|\)) # A closing parentheses (end of argument list) or a comma
1185
+ </string>
1186
+ <key>name</key>
1187
+ <string>meta.function.argument.array.php</string>
1188
+ </dict>
1189
+ <dict>
1190
+ <key>captures</key>
1191
+ <dict>
1192
+ <key>1</key>
1193
+ <dict>
1194
+ <key>name</key>
1195
+ <string>support.class.php</string>
1196
+ </dict>
1197
+ <key>2</key>
1198
+ <dict>
1199
+ <key>name</key>
1200
+ <string>storage.modifier.php</string>
1201
+ </dict>
1202
+ <key>3</key>
1203
+ <dict>
1204
+ <key>name</key>
1205
+ <string>variable.other.php</string>
1206
+ </dict>
1207
+ <key>4</key>
1208
+ <dict>
1209
+ <key>name</key>
1210
+ <string>punctuation.definition.variable.php</string>
1211
+ </dict>
1212
+ <key>5</key>
1213
+ <dict>
1214
+ <key>name</key>
1215
+ <string>keyword.operator.assignment.php</string>
1216
+ </dict>
1217
+ <key>6</key>
1218
+ <dict>
1219
+ <key>name</key>
1220
+ <string>constant.language.php</string>
1221
+ </dict>
1222
+ <key>7</key>
1223
+ <dict>
1224
+ <key>name</key>
1225
+ <string>invalid.illegal.non-null-typehinted.php</string>
1226
+ </dict>
1227
+ </dict>
1228
+ <key>match</key>
1229
+ <string>(?x)
1230
+ \s*([A-Za-z_][A-Za-z_0-9]*) # Typehinted class name
1231
+ \s*(&amp;)? # Reference
1232
+ \s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*) # The variable name
1233
+ (?:
1234
+ \s*(=) # A default value
1235
+ \s*(?i:
1236
+ (NULL)
1237
+ |
1238
+ (\S.*?)
1239
+ )?
1240
+ )?
1241
+ \s*(?=,|\)) # A closing parentheses (end of argument list) or a comma
1242
+ </string>
1243
+ <key>name</key>
1244
+ <string>meta.function.argument.typehinted.php</string>
1245
+ </dict>
1246
+ <dict>
1247
+ <key>captures</key>
1248
+ <dict>
1249
+ <key>1</key>
1250
+ <dict>
1251
+ <key>name</key>
1252
+ <string>storage.modifier.php</string>
1253
+ </dict>
1254
+ <key>2</key>
1255
+ <dict>
1256
+ <key>name</key>
1257
+ <string>variable.other.php</string>
1258
+ </dict>
1259
+ <key>3</key>
1260
+ <dict>
1261
+ <key>name</key>
1262
+ <string>punctuation.definition.variable.php</string>
1263
+ </dict>
1264
+ </dict>
1265
+ <key>match</key>
1266
+ <string>(\s*&amp;)?\s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)\s*(?=,|\))</string>
1267
+ <key>name</key>
1268
+ <string>meta.function.argument.no-default.php</string>
1269
+ </dict>
1270
+ <dict>
1271
+ <key>begin</key>
1272
+ <string>(\s*&amp;)?\s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\s*(=)\s*)\s*</string>
1273
+ <key>captures</key>
1274
+ <dict>
1275
+ <key>1</key>
1276
+ <dict>
1277
+ <key>name</key>
1278
+ <string>storage.modifier.php</string>
1279
+ </dict>
1280
+ <key>2</key>
1281
+ <dict>
1282
+ <key>name</key>
1283
+ <string>variable.other.php</string>
1284
+ </dict>
1285
+ <key>3</key>
1286
+ <dict>
1287
+ <key>name</key>
1288
+ <string>punctuation.definition.variable.php</string>
1289
+ </dict>
1290
+ <key>4</key>
1291
+ <dict>
1292
+ <key>name</key>
1293
+ <string>keyword.operator.assignment.php</string>
1294
+ </dict>
1295
+ </dict>
1296
+ <key>end</key>
1297
+ <string>(?=,|\))</string>
1298
+ <key>name</key>
1299
+ <string>meta.function.argument.default.php</string>
1300
+ <key>patterns</key>
1301
+ <array>
1302
+ <dict>
1303
+ <key>include</key>
1304
+ <string>#parameter-default-types</string>
1305
+ </dict>
1306
+ </array>
1307
+ </dict>
1308
+ <dict>
1309
+ <key>begin</key>
1310
+ <string>/\*</string>
1311
+ <key>captures</key>
1312
+ <dict>
1313
+ <key>0</key>
1314
+ <dict>
1315
+ <key>name</key>
1316
+ <string>punctuation.definition.comment.php</string>
1317
+ </dict>
1318
+ </dict>
1319
+ <key>end</key>
1320
+ <string>\*/</string>
1321
+ <key>name</key>
1322
+ <string>comment.block.php</string>
1323
+ </dict>
1324
+ </array>
1325
+ </dict>
1326
+ <dict>
1327
+ <key>match</key>
1328
+ <string>(?i)\b(real|double|float|int(eger)?|bool(ean)?|string|class|clone|var|function|interface|parent|self|object)\b</string>
1329
+ <key>name</key>
1330
+ <string>storage.type.php</string>
1331
+ </dict>
1332
+ <dict>
1333
+ <key>match</key>
1334
+ <string>(?i)\b(global|abstract|const|extends|implements|final|p(r(ivate|otected)|ublic)|static)\b</string>
1335
+ <key>name</key>
1336
+ <string>storage.modifier.php</string>
1337
+ </dict>
1338
+ <dict>
1339
+ <key>include</key>
1340
+ <string>#object</string>
1341
+ </dict>
1342
+ <dict>
1343
+ <key>captures</key>
1344
+ <dict>
1345
+ <key>1</key>
1346
+ <dict>
1347
+ <key>name</key>
1348
+ <string>keyword.operator.class.php</string>
1349
+ </dict>
1350
+ <key>2</key>
1351
+ <dict>
1352
+ <key>name</key>
1353
+ <string>meta.function-call.static.php</string>
1354
+ </dict>
1355
+ <key>3</key>
1356
+ <dict>
1357
+ <key>name</key>
1358
+ <string>variable.other.class.php</string>
1359
+ </dict>
1360
+ <key>4</key>
1361
+ <dict>
1362
+ <key>name</key>
1363
+ <string>punctuation.definition.variable.php</string>
1364
+ </dict>
1365
+ <key>5</key>
1366
+ <dict>
1367
+ <key>name</key>
1368
+ <string>constant.other.class.php</string>
1369
+ </dict>
1370
+ </dict>
1371
+ <key>match</key>
1372
+ <string>(?x)(::)
1373
+ (?:
1374
+ ([A-Za-z_][A-Za-z_0-9]*)\s*\(
1375
+ |
1376
+ ((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
1377
+ |
1378
+ ([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
1379
+ )?</string>
1380
+ </dict>
1381
+ <dict>
1382
+ <key>include</key>
1383
+ <string>#support</string>
1384
+ </dict>
1385
+ <dict>
1386
+ <key>begin</key>
1387
+ <string>(&lt;&lt;&lt;)\s*([a-zA-Z_]+[a-zA-Z0-9_]*)</string>
1388
+ <key>beginCaptures</key>
1389
+ <dict>
1390
+ <key>1</key>
1391
+ <dict>
1392
+ <key>name</key>
1393
+ <string>punctuation.definition.string.php</string>
1394
+ </dict>
1395
+ <key>2</key>
1396
+ <dict>
1397
+ <key>name</key>
1398
+ <string>keyword.operator.heredoc.php</string>
1399
+ </dict>
1400
+ </dict>
1401
+ <key>end</key>
1402
+ <string>^(\2)(;?)$</string>
1403
+ <key>endCaptures</key>
1404
+ <dict>
1405
+ <key>1</key>
1406
+ <dict>
1407
+ <key>name</key>
1408
+ <string>keyword.operator.heredoc.php</string>
1409
+ </dict>
1410
+ <key>2</key>
1411
+ <dict>
1412
+ <key>name</key>
1413
+ <string>punctuation.definition.string.php</string>
1414
+ </dict>
1415
+ </dict>
1416
+ <key>name</key>
1417
+ <string>string.unquoted.heredoc.php</string>
1418
+ <key>patterns</key>
1419
+ <array>
1420
+ <dict>
1421
+ <key>include</key>
1422
+ <string>#interpolation</string>
1423
+ </dict>
1424
+ </array>
1425
+ </dict>
1426
+ <dict>
1427
+ <key>match</key>
1428
+ <string>=&gt;</string>
1429
+ <key>name</key>
1430
+ <string>keyword.operator.key.php</string>
1431
+ </dict>
1432
+ <dict>
1433
+ <key>match</key>
1434
+ <string>&amp;(?=\s*(\$|new|[A-Za-z_][A-Za-z_0-9]+(?=\s*\()))</string>
1435
+ <key>name</key>
1436
+ <string>storage.modifier.reference.php</string>
1437
+ </dict>
1438
+ <dict>
1439
+ <key>match</key>
1440
+ <string>;</string>
1441
+ <key>name</key>
1442
+ <string>punctuation.terminator.expression.php</string>
1443
+ </dict>
1444
+ <dict>
1445
+ <key>match</key>
1446
+ <string>(@)</string>
1447
+ <key>name</key>
1448
+ <string>keyword.operator.error-control.php</string>
1449
+ </dict>
1450
+ <dict>
1451
+ <key>match</key>
1452
+ <string>(\-\-|\+\+)</string>
1453
+ <key>name</key>
1454
+ <string>keyword.operator.increment-decrement.php</string>
1455
+ </dict>
1456
+ <dict>
1457
+ <key>match</key>
1458
+ <string>(\-|\+|\*|/|%)</string>
1459
+ <key>name</key>
1460
+ <string>keyword.operator.arithmetic.php</string>
1461
+ </dict>
1462
+ <dict>
1463
+ <key>match</key>
1464
+ <string>(?i)(!|&amp;&amp;|\|\|)|\b(and|or|xor|as)\b</string>
1465
+ <key>name</key>
1466
+ <string>keyword.operator.logical.php</string>
1467
+ </dict>
1468
+ <dict>
1469
+ <key>match</key>
1470
+ <string>&lt;&lt;|&gt;&gt;|~|\^|&amp;|\|</string>
1471
+ <key>name</key>
1472
+ <string>keyword.operator.bitwise.php</string>
1473
+ </dict>
1474
+ <dict>
1475
+ <key>match</key>
1476
+ <string>(===|==|!==|!=|&lt;=|&gt;=|&lt;&gt;|&lt;|&gt;)</string>
1477
+ <key>name</key>
1478
+ <string>keyword.operator.comparison.php</string>
1479
+ </dict>
1480
+ <dict>
1481
+ <key>match</key>
1482
+ <string>(\.=|\.)</string>
1483
+ <key>name</key>
1484
+ <string>keyword.operator.string.php</string>
1485
+ </dict>
1486
+ <dict>
1487
+ <key>match</key>
1488
+ <string>=</string>
1489
+ <key>name</key>
1490
+ <string>keyword.operator.assignment.php</string>
1491
+ </dict>
1492
+ <dict>
1493
+ <key>captures</key>
1494
+ <dict>
1495
+ <key>1</key>
1496
+ <dict>
1497
+ <key>name</key>
1498
+ <string>keyword.operator.type.php</string>
1499
+ </dict>
1500
+ <key>2</key>
1501
+ <dict>
1502
+ <key>name</key>
1503
+ <string>support.class.php</string>
1504
+ </dict>
1505
+ </dict>
1506
+ <key>match</key>
1507
+ <string>(?i)\b(instanceof)\b(?:\s+(\w+))?</string>
1508
+ </dict>
1509
+ <dict>
1510
+ <key>include</key>
1511
+ <string>#numbers</string>
1512
+ </dict>
1513
+ <dict>
1514
+ <key>include</key>
1515
+ <string>#strings</string>
1516
+ </dict>
1517
+ <dict>
1518
+ <key>include</key>
1519
+ <string>#string-backtick</string>
1520
+ </dict>
1521
+ <dict>
1522
+ <key>include</key>
1523
+ <string>#function-call</string>
1524
+ </dict>
1525
+ <dict>
1526
+ <key>include</key>
1527
+ <string>#variables</string>
1528
+ </dict>
1529
+ <dict>
1530
+ <key>captures</key>
1531
+ <dict>
1532
+ <key>1</key>
1533
+ <dict>
1534
+ <key>name</key>
1535
+ <string>keyword.operator.php</string>
1536
+ </dict>
1537
+ <key>2</key>
1538
+ <dict>
1539
+ <key>name</key>
1540
+ <string>variable.other.property.php</string>
1541
+ </dict>
1542
+ </dict>
1543
+ <key>match</key>
1544
+ <string>(?&lt;=[a-zA-Z0-9_\x{7f}-\x{ff}])(-&gt;)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?)\b</string>
1545
+ </dict>
1546
+ <dict>
1547
+ <key>include</key>
1548
+ <string>#instantiation</string>
1549
+ </dict>
1550
+ <dict>
1551
+ <key>include</key>
1552
+ <string>#constants</string>
1553
+ </dict>
1554
+ </array>
1555
+ </dict>
1556
+ <key>numbers</key>
1557
+ <dict>
1558
+ <key>match</key>
1559
+ <string>\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b</string>
1560
+ <key>name</key>
1561
+ <string>constant.numeric.php</string>
1562
+ </dict>
1563
+ <key>object</key>
1564
+ <dict>
1565
+ <key>captures</key>
1566
+ <dict>
1567
+ <key>1</key>
1568
+ <dict>
1569
+ <key>name</key>
1570
+ <string>keyword.operator.class.php</string>
1571
+ </dict>
1572
+ <key>2</key>
1573
+ <dict>
1574
+ <key>name</key>
1575
+ <string>meta.function-call.object.php</string>
1576
+ </dict>
1577
+ <key>3</key>
1578
+ <dict>
1579
+ <key>name</key>
1580
+ <string>variable.other.property.php</string>
1581
+ </dict>
1582
+ <key>4</key>
1583
+ <dict>
1584
+ <key>name</key>
1585
+ <string>punctuation.definition.variable.php</string>
1586
+ </dict>
1587
+ </dict>
1588
+ <key>match</key>
1589
+ <string>(?x)(-&gt;)
1590
+ (?:
1591
+ ([A-Za-z_][A-Za-z_0-9]*)\s*\(
1592
+ |
1593
+ ((\$+)?[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
1594
+ )?</string>
1595
+ </dict>
1596
+ <key>parameter-default-types</key>
1597
+ <dict>
1598
+ <key>patterns</key>
1599
+ <array>
1600
+ <dict>
1601
+ <key>include</key>
1602
+ <string>#strings</string>
1603
+ </dict>
1604
+ <dict>
1605
+ <key>include</key>
1606
+ <string>#numbers</string>
1607
+ </dict>
1608
+ <dict>
1609
+ <key>include</key>
1610
+ <string>#string-backtick</string>
1611
+ </dict>
1612
+ <dict>
1613
+ <key>include</key>
1614
+ <string>#variables</string>
1615
+ </dict>
1616
+ <dict>
1617
+ <key>match</key>
1618
+ <string>=&gt;</string>
1619
+ <key>name</key>
1620
+ <string>keyword.operator.key.php</string>
1621
+ </dict>
1622
+ <dict>
1623
+ <key>match</key>
1624
+ <string>=</string>
1625
+ <key>name</key>
1626
+ <string>keyword.operator.assignment.php</string>
1627
+ </dict>
1628
+ <dict>
1629
+ <key>match</key>
1630
+ <string>&amp;(?=\s*\$)</string>
1631
+ <key>name</key>
1632
+ <string>storage.modifier.reference.php</string>
1633
+ </dict>
1634
+ <dict>
1635
+ <key>begin</key>
1636
+ <string>(array)\s*(\()</string>
1637
+ <key>beginCaptures</key>
1638
+ <dict>
1639
+ <key>1</key>
1640
+ <dict>
1641
+ <key>name</key>
1642
+ <string>support.function.construct.php</string>
1643
+ </dict>
1644
+ <key>2</key>
1645
+ <dict>
1646
+ <key>name</key>
1647
+ <string>punctuation.definition.array.begin.php</string>
1648
+ </dict>
1649
+ </dict>
1650
+ <key>end</key>
1651
+ <string>\)</string>
1652
+ <key>endCaptures</key>
1653
+ <dict>
1654
+ <key>0</key>
1655
+ <dict>
1656
+ <key>name</key>
1657
+ <string>punctuation.definition.array.end.php</string>
1658
+ </dict>
1659
+ </dict>
1660
+ <key>name</key>
1661
+ <string>meta.array.php</string>
1662
+ <key>patterns</key>
1663
+ <array>
1664
+ <dict>
1665
+ <key>include</key>
1666
+ <string>#parameter-default-types</string>
1667
+ </dict>
1668
+ </array>
1669
+ </dict>
1670
+ <dict>
1671
+ <key>include</key>
1672
+ <string>#instantiation</string>
1673
+ </dict>
1674
+ <dict>
1675
+ <key>include</key>
1676
+ <string>#constants</string>
1677
+ </dict>
1678
+ </array>
1679
+ </dict>
1680
+ <key>php_doc</key>
1681
+ <dict>
1682
+ <key>patterns</key>
1683
+ <array>
1684
+ <dict>
1685
+ <key>comment</key>
1686
+ <string>PHPDocumentor only recognises lines with an asterisk as the first non-whitespaces character</string>
1687
+ <key>match</key>
1688
+ <string>^(?!\s*\*).*$\n?</string>
1689
+ <key>name</key>
1690
+ <string>invalid.illegal.missing-asterisk.phpdoc.php</string>
1691
+ </dict>
1692
+ <dict>
1693
+ <key>captures</key>
1694
+ <dict>
1695
+ <key>1</key>
1696
+ <dict>
1697
+ <key>name</key>
1698
+ <string>keyword.other.phpdoc.php</string>
1699
+ </dict>
1700
+ <key>3</key>
1701
+ <dict>
1702
+ <key>name</key>
1703
+ <string>storage.modifier.php</string>
1704
+ </dict>
1705
+ <key>4</key>
1706
+ <dict>
1707
+ <key>name</key>
1708
+ <string>invalid.illegal.wrong-access-type.phpdoc.php</string>
1709
+ </dict>
1710
+ </dict>
1711
+ <key>match</key>
1712
+ <string>^\s*\*\s*(@access)\s+((public|private|protected)|(.+))\s*$</string>
1713
+ </dict>
1714
+ <dict>
1715
+ <key>match</key>
1716
+ <string>((https?|s?ftp|ftps|file|smb|afp|nfs|(x-)?man|gopher|txmt)://|mailto:)[-:@a-zA-Z0-9_.~%+/?=&amp;#]+(?&lt;![.?:])</string>
1717
+ <key>name</key>
1718
+ <string>markup.underline.link.php</string>
1719
+ </dict>
1720
+ <dict>
1721
+ <key>captures</key>
1722
+ <dict>
1723
+ <key>1</key>
1724
+ <dict>
1725
+ <key>name</key>
1726
+ <string>keyword.other.phpdoc.php</string>
1727
+ </dict>
1728
+ <key>2</key>
1729
+ <dict>
1730
+ <key>name</key>
1731
+ <string>markup.underline.link.php</string>
1732
+ </dict>
1733
+ </dict>
1734
+ <key>match</key>
1735
+ <string>(@xlink)\s+(.+)\s*$</string>
1736
+ </dict>
1737
+ <dict>
1738
+ <key>match</key>
1739
+ <string>\@(a(bstract|uthor)|c(ategory|opyright)|example|global|internal|li(cense|nk)|pa(ckage|ram)|return|s(ee|ince|tatic|ubpackage)|t(hrows|odo)|v(ar|ersion)|uses|deprecated|final)\b</string>
1740
+ <key>name</key>
1741
+ <string>keyword.other.phpdoc.php</string>
1742
+ </dict>
1743
+ <dict>
1744
+ <key>captures</key>
1745
+ <dict>
1746
+ <key>1</key>
1747
+ <dict>
1748
+ <key>name</key>
1749
+ <string>keyword.other.phpdoc.php</string>
1750
+ </dict>
1751
+ </dict>
1752
+ <key>match</key>
1753
+ <string>\{(@(link)).+?\}</string>
1754
+ <key>name</key>
1755
+ <string>meta.tag.inline.phpdoc.php</string>
1756
+ </dict>
1757
+ </array>
1758
+ </dict>
1759
+ <key>regex-double-quoted</key>
1760
+ <dict>
1761
+ <key>begin</key>
1762
+ <string>(?x)"/ (?= (\\.|[^"/])++/[imsxeADSUXu]*" )</string>
1763
+ <key>beginCaptures</key>
1764
+ <dict>
1765
+ <key>0</key>
1766
+ <dict>
1767
+ <key>name</key>
1768
+ <string>punctuation.definition.string.begin.php</string>
1769
+ </dict>
1770
+ </dict>
1771
+ <key>end</key>
1772
+ <string>(/)([imsxeADSUXu]*)(")</string>
1773
+ <key>endCaptures</key>
1774
+ <dict>
1775
+ <key>0</key>
1776
+ <dict>
1777
+ <key>name</key>
1778
+ <string>punctuation.definition.string.end.php</string>
1779
+ </dict>
1780
+ </dict>
1781
+ <key>name</key>
1782
+ <string>string.regexp.double-quoted.php</string>
1783
+ <key>patterns</key>
1784
+ <array>
1785
+ <dict>
1786
+ <key>comment</key>
1787
+ <string>Escaped from the regexp – there can also be 2 backslashes (since 1 will escape the first)</string>
1788
+ <key>match</key>
1789
+ <string>(\\){1,2}[.$^\[\]{}]</string>
1790
+ <key>name</key>
1791
+ <string>constant.character.escape.regex.php</string>
1792
+ </dict>
1793
+ <dict>
1794
+ <key>include</key>
1795
+ <string>#interpolation</string>
1796
+ </dict>
1797
+ <dict>
1798
+ <key>captures</key>
1799
+ <dict>
1800
+ <key>1</key>
1801
+ <dict>
1802
+ <key>name</key>
1803
+ <string>punctuation.definition.arbitrary-repitition.php</string>
1804
+ </dict>
1805
+ <key>3</key>
1806
+ <dict>
1807
+ <key>name</key>
1808
+ <string>punctuation.definition.arbitrary-repitition.php</string>
1809
+ </dict>
1810
+ </dict>
1811
+ <key>match</key>
1812
+ <string>(\{)\d+(,\d+)?(\})</string>
1813
+ <key>name</key>
1814
+ <string>string.regexp.arbitrary-repitition.php</string>
1815
+ </dict>
1816
+ <dict>
1817
+ <key>begin</key>
1818
+ <string>\[(?:\^?\])?</string>
1819
+ <key>captures</key>
1820
+ <dict>
1821
+ <key>0</key>
1822
+ <dict>
1823
+ <key>name</key>
1824
+ <string>punctuation.definition.character-class.php</string>
1825
+ </dict>
1826
+ </dict>
1827
+ <key>end</key>
1828
+ <string>\]</string>
1829
+ <key>name</key>
1830
+ <string>string.regexp.character-class.php</string>
1831
+ <key>patterns</key>
1832
+ <array>
1833
+ <dict>
1834
+ <key>include</key>
1835
+ <string>#interpolation</string>
1836
+ </dict>
1837
+ </array>
1838
+ </dict>
1839
+ <dict>
1840
+ <key>match</key>
1841
+ <string>[$^+*]</string>
1842
+ <key>name</key>
1843
+ <string>keyword.operator.regexp.php</string>
1844
+ </dict>
1845
+ </array>
1846
+ </dict>
1847
+ <key>regex-single-quoted</key>
1848
+ <dict>
1849
+ <key>begin</key>
1850
+ <string>(?x)'/ (?= (\\.|[^'/])++/[imsxeADSUXu]*' )</string>
1851
+ <key>beginCaptures</key>
1852
+ <dict>
1853
+ <key>0</key>
1854
+ <dict>
1855
+ <key>name</key>
1856
+ <string>punctuation.definition.string.begin.php</string>
1857
+ </dict>
1858
+ </dict>
1859
+ <key>end</key>
1860
+ <string>(/)([imsxeADSUXu]*)(')</string>
1861
+ <key>endCaptures</key>
1862
+ <dict>
1863
+ <key>0</key>
1864
+ <dict>
1865
+ <key>name</key>
1866
+ <string>punctuation.definition.string.end.php</string>
1867
+ </dict>
1868
+ </dict>
1869
+ <key>name</key>
1870
+ <string>string.regexp.single-quoted.php</string>
1871
+ <key>patterns</key>
1872
+ <array>
1873
+ <dict>
1874
+ <key>captures</key>
1875
+ <dict>
1876
+ <key>1</key>
1877
+ <dict>
1878
+ <key>name</key>
1879
+ <string>punctuation.definition.arbitrary-repitition.php</string>
1880
+ </dict>
1881
+ <key>3</key>
1882
+ <dict>
1883
+ <key>name</key>
1884
+ <string>punctuation.definition.arbitrary-repitition.php</string>
1885
+ </dict>
1886
+ </dict>
1887
+ <key>match</key>
1888
+ <string>(\{)\d+(,\d+)?(\})</string>
1889
+ <key>name</key>
1890
+ <string>string.regexp.arbitrary-repitition.php</string>
1891
+ </dict>
1892
+ <dict>
1893
+ <key>comment</key>
1894
+ <string>Escaped from the regexp – there can also be 2 backslashes (since 1 will escape the first)</string>
1895
+ <key>match</key>
1896
+ <string>(\\){1,2}[.$^\[\]{}]</string>
1897
+ <key>name</key>
1898
+ <string>constant.character.escape.regex.php</string>
1899
+ </dict>
1900
+ <dict>
1901
+ <key>comment</key>
1902
+ <string>Escaped from the PHP string – there can also be 2 backslashes (since 1 will escape the first)</string>
1903
+ <key>match</key>
1904
+ <string>\\{1,2}[\\']</string>
1905
+ <key>name</key>
1906
+ <string>constant.character.escape.php</string>
1907
+ </dict>
1908
+ <dict>
1909
+ <key>begin</key>
1910
+ <string>\[(?:\^?\])?</string>
1911
+ <key>captures</key>
1912
+ <dict>
1913
+ <key>0</key>
1914
+ <dict>
1915
+ <key>name</key>
1916
+ <string>punctuation.definition.character-class.php</string>
1917
+ </dict>
1918
+ </dict>
1919
+ <key>end</key>
1920
+ <string>\]</string>
1921
+ <key>name</key>
1922
+ <string>string.regexp.character-class.php</string>
1923
+ <key>patterns</key>
1924
+ <array>
1925
+ <dict>
1926
+ <key>match</key>
1927
+ <string>\\[\\'\[\]]</string>
1928
+ <key>name</key>
1929
+ <string>constant.character.escape.php</string>
1930
+ </dict>
1931
+ </array>
1932
+ </dict>
1933
+ <dict>
1934
+ <key>match</key>
1935
+ <string>[$^+*]</string>
1936
+ <key>name</key>
1937
+ <string>keyword.operator.regexp.php</string>
1938
+ </dict>
1939
+ </array>
1940
+ </dict>
1941
+ <key>sql-string-double-quoted</key>
1942
+ <dict>
1943
+ <key>begin</key>
1944
+ <string>"\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\b)</string>
1945
+ <key>beginCaptures</key>
1946
+ <dict>
1947
+ <key>0</key>
1948
+ <dict>
1949
+ <key>name</key>
1950
+ <string>punctuation.definition.string.begin.php</string>
1951
+ </dict>
1952
+ </dict>
1953
+ <key>contentName</key>
1954
+ <string>source.sql.embedded.php</string>
1955
+ <key>end</key>
1956
+ <string>"</string>
1957
+ <key>endCaptures</key>
1958
+ <dict>
1959
+ <key>0</key>
1960
+ <dict>
1961
+ <key>name</key>
1962
+ <string>punctuation.definition.string.end.php</string>
1963
+ </dict>
1964
+ </dict>
1965
+ <key>name</key>
1966
+ <string>string.quoted.double.sql.php</string>
1967
+ <key>patterns</key>
1968
+ <array>
1969
+ <dict>
1970
+ <key>match</key>
1971
+ <string>#(\\"|[^"])*(?="|$\n?)</string>
1972
+ <key>name</key>
1973
+ <string>comment.line.number-sign.sql</string>
1974
+ </dict>
1975
+ <dict>
1976
+ <key>match</key>
1977
+ <string>--(\\"|[^"])*(?="|$\n?)</string>
1978
+ <key>name</key>
1979
+ <string>comment.line.double-dash.sql</string>
1980
+ </dict>
1981
+ <dict>
1982
+ <key>begin</key>
1983
+ <string>'(?=[^']*?")</string>
1984
+ <key>comment</key>
1985
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
1986
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
1987
+ <key>end</key>
1988
+ <string>(?=")</string>
1989
+ <key>name</key>
1990
+ <string>string.quoted.single.unclosed.sql</string>
1991
+ <key>patterns</key>
1992
+ <array>
1993
+ <dict>
1994
+ <key>match</key>
1995
+ <string>\\[\\']</string>
1996
+ <key>name</key>
1997
+ <string>constant.character.escape.php</string>
1998
+ </dict>
1999
+ </array>
2000
+ </dict>
2001
+ <dict>
2002
+ <key>begin</key>
2003
+ <string>`(?=[^`]*?")</string>
2004
+ <key>comment</key>
2005
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
2006
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
2007
+ <key>end</key>
2008
+ <string>(?=")</string>
2009
+ <key>name</key>
2010
+ <string>string.quoted.other.backtick.unclosed.sql</string>
2011
+ <key>patterns</key>
2012
+ <array>
2013
+ <dict>
2014
+ <key>match</key>
2015
+ <string>\\[\\']</string>
2016
+ <key>name</key>
2017
+ <string>constant.character.escape.php</string>
2018
+ </dict>
2019
+ </array>
2020
+ </dict>
2021
+ <dict>
2022
+ <key>begin</key>
2023
+ <string>\\"(?!([^\\"]|\\[^"])*\\")(?=(\\[^"]|.)*?")</string>
2024
+ <key>comment</key>
2025
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
2026
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
2027
+ <key>end</key>
2028
+ <string>(?=")</string>
2029
+ <key>name</key>
2030
+ <string>string.quoted.double.unclosed.sql</string>
2031
+ <key>patterns</key>
2032
+ <array>
2033
+ <dict>
2034
+ <key>match</key>
2035
+ <string>\\[\\']</string>
2036
+ <key>name</key>
2037
+ <string>constant.character.escape.php</string>
2038
+ </dict>
2039
+ </array>
2040
+ </dict>
2041
+ <dict>
2042
+ <key>begin</key>
2043
+ <string>\\"</string>
2044
+ <key>captures</key>
2045
+ <dict>
2046
+ <key>0</key>
2047
+ <dict>
2048
+ <key>name</key>
2049
+ <string>constant.character.escape.php</string>
2050
+ </dict>
2051
+ </dict>
2052
+ <key>end</key>
2053
+ <string>\\"</string>
2054
+ <key>name</key>
2055
+ <string>string.quoted.double.sql</string>
2056
+ <key>patterns</key>
2057
+ <array>
2058
+ <dict>
2059
+ <key>include</key>
2060
+ <string>#interpolation</string>
2061
+ </dict>
2062
+ </array>
2063
+ </dict>
2064
+ <dict>
2065
+ <key>begin</key>
2066
+ <string>`</string>
2067
+ <key>end</key>
2068
+ <string>`</string>
2069
+ <key>name</key>
2070
+ <string>string.quoted.other.backtick.sql</string>
2071
+ <key>patterns</key>
2072
+ <array>
2073
+ <dict>
2074
+ <key>include</key>
2075
+ <string>#interpolation</string>
2076
+ </dict>
2077
+ </array>
2078
+ </dict>
2079
+ <dict>
2080
+ <key>begin</key>
2081
+ <string>'</string>
2082
+ <key>end</key>
2083
+ <string>'</string>
2084
+ <key>name</key>
2085
+ <string>string.quoted.single.sql</string>
2086
+ <key>patterns</key>
2087
+ <array>
2088
+ <dict>
2089
+ <key>include</key>
2090
+ <string>#interpolation</string>
2091
+ </dict>
2092
+ </array>
2093
+ </dict>
2094
+ <dict>
2095
+ <key>match</key>
2096
+ <string>\\.</string>
2097
+ <key>name</key>
2098
+ <string>constant.character.escape.php</string>
2099
+ </dict>
2100
+ <dict>
2101
+ <key>include</key>
2102
+ <string>#interpolation</string>
2103
+ </dict>
2104
+ <dict>
2105
+ <key>include</key>
2106
+ <string>source.sql</string>
2107
+ </dict>
2108
+ </array>
2109
+ </dict>
2110
+ <key>sql-string-single-quoted</key>
2111
+ <dict>
2112
+ <key>begin</key>
2113
+ <string>'\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\b)</string>
2114
+ <key>beginCaptures</key>
2115
+ <dict>
2116
+ <key>0</key>
2117
+ <dict>
2118
+ <key>name</key>
2119
+ <string>punctuation.definition.string.begin.php</string>
2120
+ </dict>
2121
+ </dict>
2122
+ <key>contentName</key>
2123
+ <string>source.sql.embedded.php</string>
2124
+ <key>end</key>
2125
+ <string>'</string>
2126
+ <key>endCaptures</key>
2127
+ <dict>
2128
+ <key>0</key>
2129
+ <dict>
2130
+ <key>name</key>
2131
+ <string>punctuation.definition.string.end.php</string>
2132
+ </dict>
2133
+ </dict>
2134
+ <key>name</key>
2135
+ <string>string.quoted.single.sql.php</string>
2136
+ <key>patterns</key>
2137
+ <array>
2138
+ <dict>
2139
+ <key>match</key>
2140
+ <string>#(\\'|[^'])*(?='|$\n?)</string>
2141
+ <key>name</key>
2142
+ <string>comment.line.number-sign.sql</string>
2143
+ </dict>
2144
+ <dict>
2145
+ <key>match</key>
2146
+ <string>--(\\'|[^'])*(?='|$\n?)</string>
2147
+ <key>name</key>
2148
+ <string>comment.line.double-dash.sql</string>
2149
+ </dict>
2150
+ <dict>
2151
+ <key>begin</key>
2152
+ <string>\\'(?!([^\\']|\\[^'])*\\')(?=(\\[^']|.)*?')</string>
2153
+ <key>comment</key>
2154
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
2155
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
2156
+ <key>end</key>
2157
+ <string>(?=')</string>
2158
+ <key>name</key>
2159
+ <string>string.quoted.single.unclosed.sql</string>
2160
+ <key>patterns</key>
2161
+ <array>
2162
+ <dict>
2163
+ <key>match</key>
2164
+ <string>\\[\\']</string>
2165
+ <key>name</key>
2166
+ <string>constant.character.escape.php</string>
2167
+ </dict>
2168
+ </array>
2169
+ </dict>
2170
+ <dict>
2171
+ <key>begin</key>
2172
+ <string>`(?=[^`]*?')</string>
2173
+ <key>comment</key>
2174
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
2175
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
2176
+ <key>end</key>
2177
+ <string>(?=')</string>
2178
+ <key>name</key>
2179
+ <string>string.quoted.other.backtick.unclosed.sql</string>
2180
+ <key>patterns</key>
2181
+ <array>
2182
+ <dict>
2183
+ <key>match</key>
2184
+ <string>\\[\\']</string>
2185
+ <key>name</key>
2186
+ <string>constant.character.escape.php</string>
2187
+ </dict>
2188
+ </array>
2189
+ </dict>
2190
+ <dict>
2191
+ <key>begin</key>
2192
+ <string>"(?=[^"]*?')</string>
2193
+ <key>comment</key>
2194
+ <string>Unclosed strings must be captured to avoid them eating the remainder of the PHP script
2195
+ Sample case: $sql = "SELECT * FROM bar WHERE foo = '" . $variable . "'"</string>
2196
+ <key>end</key>
2197
+ <string>(?=')</string>
2198
+ <key>name</key>
2199
+ <string>string.quoted.double.unclosed.sql</string>
2200
+ <key>patterns</key>
2201
+ <array>
2202
+ <dict>
2203
+ <key>match</key>
2204
+ <string>\\[\\']</string>
2205
+ <key>name</key>
2206
+ <string>constant.character.escape.php</string>
2207
+ </dict>
2208
+ </array>
2209
+ </dict>
2210
+ <dict>
2211
+ <key>begin</key>
2212
+ <string>\\'</string>
2213
+ <key>captures</key>
2214
+ <dict>
2215
+ <key>0</key>
2216
+ <dict>
2217
+ <key>name</key>
2218
+ <string>constant.character.escape.php</string>
2219
+ </dict>
2220
+ </dict>
2221
+ <key>end</key>
2222
+ <string>\\'</string>
2223
+ <key>name</key>
2224
+ <string>string.quoted.single.sql</string>
2225
+ </dict>
2226
+ <dict>
2227
+ <key>match</key>
2228
+ <string>\\[\\']</string>
2229
+ <key>name</key>
2230
+ <string>constant.character.escape.php</string>
2231
+ </dict>
2232
+ <dict>
2233
+ <key>include</key>
2234
+ <string>source.sql</string>
2235
+ </dict>
2236
+ </array>
2237
+ </dict>
2238
+ <key>string-backtick</key>
2239
+ <dict>
2240
+ <key>begin</key>
2241
+ <string>`</string>
2242
+ <key>beginCaptures</key>
2243
+ <dict>
2244
+ <key>0</key>
2245
+ <dict>
2246
+ <key>name</key>
2247
+ <string>punctuation.definition.string.begin.php</string>
2248
+ </dict>
2249
+ </dict>
2250
+ <key>end</key>
2251
+ <string>`</string>
2252
+ <key>endCaptures</key>
2253
+ <dict>
2254
+ <key>0</key>
2255
+ <dict>
2256
+ <key>name</key>
2257
+ <string>punctuation.definition.string.end.php</string>
2258
+ </dict>
2259
+ </dict>
2260
+ <key>name</key>
2261
+ <string>string.interpolated.php</string>
2262
+ <key>patterns</key>
2263
+ <array>
2264
+ <dict>
2265
+ <key>match</key>
2266
+ <string>\\.</string>
2267
+ <key>name</key>
2268
+ <string>constant.character.escape.php</string>
2269
+ </dict>
2270
+ <dict>
2271
+ <key>include</key>
2272
+ <string>#interpolation</string>
2273
+ </dict>
2274
+ </array>
2275
+ </dict>
2276
+ <key>string-double-quoted</key>
2277
+ <dict>
2278
+ <key>begin</key>
2279
+ <string>"</string>
2280
+ <key>beginCaptures</key>
2281
+ <dict>
2282
+ <key>0</key>
2283
+ <dict>
2284
+ <key>name</key>
2285
+ <string>punctuation.definition.string.begin.php</string>
2286
+ </dict>
2287
+ </dict>
2288
+ <key>comment</key>
2289
+ <string>This contentName is just to allow the usage of “select scope” to select the string contents first, then the string with quotes</string>
2290
+ <key>contentName</key>
2291
+ <string>meta.string-contents.quoted.double.php</string>
2292
+ <key>end</key>
2293
+ <string>"</string>
2294
+ <key>endCaptures</key>
2295
+ <dict>
2296
+ <key>0</key>
2297
+ <dict>
2298
+ <key>name</key>
2299
+ <string>punctuation.definition.string.end.php</string>
2300
+ </dict>
2301
+ </dict>
2302
+ <key>name</key>
2303
+ <string>string.quoted.double.php</string>
2304
+ <key>patterns</key>
2305
+ <array>
2306
+ <dict>
2307
+ <key>include</key>
2308
+ <string>#interpolation</string>
2309
+ </dict>
2310
+ </array>
2311
+ </dict>
2312
+ <key>string-single-quoted</key>
2313
+ <dict>
2314
+ <key>begin</key>
2315
+ <string>'</string>
2316
+ <key>beginCaptures</key>
2317
+ <dict>
2318
+ <key>0</key>
2319
+ <dict>
2320
+ <key>name</key>
2321
+ <string>punctuation.definition.string.begin.php</string>
2322
+ </dict>
2323
+ </dict>
2324
+ <key>contentName</key>
2325
+ <string>meta.string-contents.quoted.single.php</string>
2326
+ <key>end</key>
2327
+ <string>'</string>
2328
+ <key>endCaptures</key>
2329
+ <dict>
2330
+ <key>0</key>
2331
+ <dict>
2332
+ <key>name</key>
2333
+ <string>punctuation.definition.string.end.php</string>
2334
+ </dict>
2335
+ </dict>
2336
+ <key>name</key>
2337
+ <string>string.quoted.single.php</string>
2338
+ <key>patterns</key>
2339
+ <array>
2340
+ <dict>
2341
+ <key>match</key>
2342
+ <string>\\[\\']</string>
2343
+ <key>name</key>
2344
+ <string>constant.character.escape.php</string>
2345
+ </dict>
2346
+ </array>
2347
+ </dict>
2348
+ <key>strings</key>
2349
+ <dict>
2350
+ <key>patterns</key>
2351
+ <array>
2352
+ <dict>
2353
+ <key>include</key>
2354
+ <string>#regex-double-quoted</string>
2355
+ </dict>
2356
+ <dict>
2357
+ <key>include</key>
2358
+ <string>#sql-string-double-quoted</string>
2359
+ </dict>
2360
+ <dict>
2361
+ <key>include</key>
2362
+ <string>#string-double-quoted</string>
2363
+ </dict>
2364
+ <dict>
2365
+ <key>include</key>
2366
+ <string>#regex-single-quoted</string>
2367
+ </dict>
2368
+ <dict>
2369
+ <key>include</key>
2370
+ <string>#sql-string-single-quoted</string>
2371
+ </dict>
2372
+ <dict>
2373
+ <key>include</key>
2374
+ <string>#string-single-quoted</string>
2375
+ </dict>
2376
+ </array>
2377
+ </dict>
2378
+ <key>support</key>
2379
+ <dict>
2380
+ <key>patterns</key>
2381
+ <array>
2382
+ <dict>
2383
+ <key>begin</key>
2384
+ <string>(array)(\()</string>
2385
+ <key>beginCaptures</key>
2386
+ <dict>
2387
+ <key>1</key>
2388
+ <dict>
2389
+ <key>name</key>
2390
+ <string>support.function.construct.php</string>
2391
+ </dict>
2392
+ <key>2</key>
2393
+ <dict>
2394
+ <key>name</key>
2395
+ <string>punctuation.definition.array.begin.php</string>
2396
+ </dict>
2397
+ </dict>
2398
+ <key>end</key>
2399
+ <string>\)</string>
2400
+ <key>endCaptures</key>
2401
+ <dict>
2402
+ <key>0</key>
2403
+ <dict>
2404
+ <key>name</key>
2405
+ <string>punctuation.definition.array.end.php</string>
2406
+ </dict>
2407
+ </dict>
2408
+ <key>name</key>
2409
+ <string>meta.array.php</string>
2410
+ <key>patterns</key>
2411
+ <array>
2412
+ <dict>
2413
+ <key>include</key>
2414
+ <string>#language</string>
2415
+ </dict>
2416
+ </array>
2417
+ </dict>
2418
+ <dict>
2419
+ <key>match</key>
2420
+ <string>(?i)\b(s(huffle|ort)|n(ext|at(sort|casesort))|c(o(unt|mpact)|urrent)|in_array|u(sort|ksort|asort)|prev|e(nd|xtract)|k(sort|ey|rsort)|a(sort|r(sort|ray_(s(hift|um|plice|earch|lice)|c(h(unk|ange_key_case)|o(unt_values|mbine))|intersect(_(u(key|assoc)|key|assoc))?|diff(_(u(key|assoc)|key|assoc))?|u(n(shift|ique)|intersect(_(uassoc|assoc))?|diff(_(uassoc|assoc))?)|p(op|ush|ad|roduct)|values|key(s|_exists)|f(il(ter|l(_keys)?)|lip)|walk(_recursive)?|r(e(duce|verse)|and)|m(ultisort|erge(_recursive)?|ap))))|r(sort|eset|ange)|m(in|ax))(?=\s*\()</string>
2421
+ <key>name</key>
2422
+ <string>support.function.array.php</string>
2423
+ </dict>
2424
+ <dict>
2425
+ <key>match</key>
2426
+ <string>(?i)\bassert(_options)?(?=\s*\()</string>
2427
+ <key>name</key>
2428
+ <string>support.function.assert.php</string>
2429
+ </dict>
2430
+ <dict>
2431
+ <key>match</key>
2432
+ <string>(?i)\bdom_attr_is_id(?=\s*\()</string>
2433
+ <key>name</key>
2434
+ <string>support.function.attr.php</string>
2435
+ </dict>
2436
+ <dict>
2437
+ <key>match</key>
2438
+ <string>(?i)\bbase64_(decode|encode)(?=\s*\()</string>
2439
+ <key>name</key>
2440
+ <string>support.function.base64.php</string>
2441
+ </dict>
2442
+ <dict>
2443
+ <key>match</key>
2444
+ <string>(?i)\b(highlight_(string|file)|s(ys_getloadavg|et_(include_path|magic_quotes_runtime)|leep)|c(on(stant|nection_(status|aborted))|all_user_(func(_array)?|method(_array)?))|time_(sleep_until|nanosleep)|i(s_uploaded_file|n(i_(set|restore|get(_all)?)|et_(ntop|pton))|p2long|gnore_user_abort|mport_request_variables)|u(sleep|nregister_tick_function)|error_(log|get_last)|p(hp_strip_whitespace|utenv|arse_ini_file|rint_r)|flush|long2ip|re(store_include_path|gister_(shutdown_function|tick_function))|get(servby(name|port)|opt|_(c(urrent_user|fg_var)|include_path|magic_quotes_(gpc|runtime))|protobyn(umber|ame)|env)|move_uploaded_file)(?=\s*\()</string>
2445
+ <key>name</key>
2446
+ <string>support.function.basic_functions.php</string>
2447
+ </dict>
2448
+ <dict>
2449
+ <key>match</key>
2450
+ <string>(?i)\bbc(s(cale|ub|qrt)|comp|div|pow(mod)?|add|m(od|ul))(?=\s*\()</string>
2451
+ <key>name</key>
2452
+ <string>support.function.bcmath.php</string>
2453
+ </dict>
2454
+ <dict>
2455
+ <key>match</key>
2456
+ <string>(?i)\bbirdstep_(c(o(nnect|mmit)|lose)|off_autocommit|exec|f(ieldn(um|ame)|etch|reeresult)|autocommit|r(ollback|esult))(?=\s*\()</string>
2457
+ <key>name</key>
2458
+ <string>support.function.birdstep.php</string>
2459
+ </dict>
2460
+ <dict>
2461
+ <key>match</key>
2462
+ <string>(?i)\bget_browser(?=\s*\()</string>
2463
+ <key>name</key>
2464
+ <string>support.function.browscap.php</string>
2465
+ </dict>
2466
+ <dict>
2467
+ <key>match</key>
2468
+ <string>(?i)\b(s(tr(nc(asecmp|mp)|c(asecmp|mp)|len)|et_e(rror_handler|xception_handler))|c(lass_exists|reate_function)|trigger_error|i(s_(subclass_of|a)|nterface_exists)|de(fine(d)?|bug_(print_backtrace|backtrace))|zend_version|property_exists|e(ach|rror_reporting|xtension_loaded)|func(tion_exists|_(num_args|get_arg(s)?))|leak|restore_e(rror_handler|xception_handler)|get_(class(_(vars|methods))?|included_files|de(clared_(classes|interfaces)|fined_(constants|vars|functions))|object_vars|extension_funcs|parent_class|loaded_extensions|resource_type)|method_exists)(?=\s*\()</string>
2469
+ <key>name</key>
2470
+ <string>support.function.builtin_functions.php</string>
2471
+ </dict>
2472
+ <dict>
2473
+ <key>match</key>
2474
+ <string>(?i)\bbz(compress|decompress|open|err(str|no|or)|read)(?=\s*\()</string>
2475
+ <key>name</key>
2476
+ <string>support.function.bz2.php</string>
2477
+ </dict>
2478
+ <dict>
2479
+ <key>match</key>
2480
+ <string>(?i)\b(jdtounix|unixtojd)(?=\s*\()</string>
2481
+ <key>name</key>
2482
+ <string>support.function.cal_unix.php</string>
2483
+ </dict>
2484
+ <dict>
2485
+ <key>match</key>
2486
+ <string>(?i)\b(cal_(to_jd|info|days_in_month|from_jd)|j(d(to(j(ulian|ewish)|french|gregorian)|dayofweek|monthname)|uliantojd|ewishtojd)|frenchtojd|gregoriantojd)(?=\s*\()</string>
2487
+ <key>name</key>
2488
+ <string>support.function.calendar.php</string>
2489
+ </dict>
2490
+ <dict>
2491
+ <key>match</key>
2492
+ <string>(?i)\bdom_characterdata_(substring_data|insert_data|delete_data|append_data|replace_data)(?=\s*\()</string>
2493
+ <key>name</key>
2494
+ <string>support.function.characterdata.php</string>
2495
+ </dict>
2496
+ <dict>
2497
+ <key>match</key>
2498
+ <string>(?i)\bcom_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)(?=\s*\()</string>
2499
+ <key>name</key>
2500
+ <string>support.function.com_com.php</string>
2501
+ </dict>
2502
+ <dict>
2503
+ <key>match</key>
2504
+ <string>(?i)\bvariant_(s(ub|et(_type)?)|n(ot|eg)|c(a(st|t)|mp)|i(nt|div|mp)|or|d(iv|ate_(to_timestamp|from_timestamp))|pow|eqv|fix|a(nd|dd|bs)|get_type|round|xor|m(od|ul))(?=\s*\()</string>
2505
+ <key>name</key>
2506
+ <string>support.function.com_variant.php</string>
2507
+ </dict>
2508
+ <dict>
2509
+ <key>match</key>
2510
+ <string>(?i)\bcrc32(?=\s*\()</string>
2511
+ <key>name</key>
2512
+ <string>support.function.crc32.php</string>
2513
+ </dict>
2514
+ <dict>
2515
+ <key>match</key>
2516
+ <string>(?i)\bcrypt(?=\s*\()</string>
2517
+ <key>name</key>
2518
+ <string>support.function.crypt.php</string>
2519
+ </dict>
2520
+ <dict>
2521
+ <key>match</key>
2522
+ <string>(?i)\bctype_(space|cntrl|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit)(?=\s*\()</string>
2523
+ <key>name</key>
2524
+ <string>support.function.ctype.php</string>
2525
+ </dict>
2526
+ <dict>
2527
+ <key>match</key>
2528
+ <string>(?i)\bconvert_cyr_string(?=\s*\()</string>
2529
+ <key>name</key>
2530
+ <string>support.function.cyr_convert.php</string>
2531
+ </dict>
2532
+ <dict>
2533
+ <key>match</key>
2534
+ <string>(?i)\bstrptime(?=\s*\()</string>
2535
+ <key>name</key>
2536
+ <string>support.function.datetime.php</string>
2537
+ </dict>
2538
+ <dict>
2539
+ <key>match</key>
2540
+ <string>(?i)\bdba_(handlers|sync|nextkey|close|insert|delete|op(timize|en)|exists|popen|key_split|f(irstkey|etch)|list|replace)(?=\s*\()</string>
2541
+ <key>name</key>
2542
+ <string>support.function.dba.php</string>
2543
+ </dict>
2544
+ <dict>
2545
+ <key>match</key>
2546
+ <string>(?i)\bdbase_(num(fields|records)|c(lose|reate)|delete_record|open|pack|add_record|get_(header_info|record(_with_names)?)|replace_record)(?=\s*\()</string>
2547
+ <key>name</key>
2548
+ <string>support.function.dbase.php</string>
2549
+ </dict>
2550
+ <dict>
2551
+ <key>match</key>
2552
+ <string>(?i)\b(scandir|c(h(dir|root)|losedir)|dir|opendir|re(addir|winddir)|g(etcwd|lob))(?=\s*\()</string>
2553
+ <key>name</key>
2554
+ <string>support.function.dir.php</string>
2555
+ </dict>
2556
+ <dict>
2557
+ <key>match</key>
2558
+ <string>(?i)\bdl(?=\s*\()</string>
2559
+ <key>name</key>
2560
+ <string>support.function.dl.php</string>
2561
+ </dict>
2562
+ <dict>
2563
+ <key>match</key>
2564
+ <string>(?i)\b(dns_(check_record|get_(record|mx))|gethostby(name(l)?|addr))(?=\s*\()</string>
2565
+ <key>name</key>
2566
+ <string>support.function.dns.php</string>
2567
+ </dict>
2568
+ <dict>
2569
+ <key>match</key>
2570
+ <string>(?i)\bdom_document_(s(chema_validate(_file)?|ave(_html(_file)?|xml)?)|normalize_document|create_(c(datasection|omment)|text_node|document_fragment|processing_instruction|e(ntity_reference|lement(_ns)?)|attribute(_ns)?)|import_node|validate|load(_html(_file)?|xml)?|adopt_node|re(name_node|laxNG_validate_(file|xml))|get_element(s_by_tag_name(_ns)?|_by_id)|xinclude)(?=\s*\()</string>
2571
+ <key>name</key>
2572
+ <string>support.function.document.php</string>
2573
+ </dict>
2574
+ <dict>
2575
+ <key>match</key>
2576
+ <string>(?i)\bdom_domconfiguration_(set_parameter|can_set_parameter|get_parameter)(?=\s*\()</string>
2577
+ <key>name</key>
2578
+ <string>support.function.domconfiguration.php</string>
2579
+ </dict>
2580
+ <dict>
2581
+ <key>match</key>
2582
+ <string>(?i)\bdom_domerrorhandler_handle_error(?=\s*\()</string>
2583
+ <key>name</key>
2584
+ <string>support.function.domerrorhandler.php</string>
2585
+ </dict>
2586
+ <dict>
2587
+ <key>match</key>
2588
+ <string>(?i)\bdom_domimplementation_(has_feature|create_document(_type)?|get_feature)(?=\s*\()</string>
2589
+ <key>name</key>
2590
+ <string>support.function.domimplementation.php</string>
2591
+ </dict>
2592
+ <dict>
2593
+ <key>match</key>
2594
+ <string>(?i)\bdom_domimplementationlist_item(?=\s*\()</string>
2595
+ <key>name</key>
2596
+ <string>support.function.domimplementationlist.php</string>
2597
+ </dict>
2598
+ <dict>
2599
+ <key>match</key>
2600
+ <string>(?i)\bdom_domimplementationsource_get_domimplementation(s)?(?=\s*\()</string>
2601
+ <key>name</key>
2602
+ <string>support.function.domimplementationsource.php</string>
2603
+ </dict>
2604
+ <dict>
2605
+ <key>match</key>
2606
+ <string>(?i)\bdom_domstringlist_item(?=\s*\()</string>
2607
+ <key>name</key>
2608
+ <string>support.function.domstringlist.php</string>
2609
+ </dict>
2610
+ <dict>
2611
+ <key>match</key>
2612
+ <string>(?i)\beaster_da(ys|te)(?=\s*\()</string>
2613
+ <key>name</key>
2614
+ <string>support.function.easter.php</string>
2615
+ </dict>
2616
+ <dict>
2617
+ <key>match</key>
2618
+ <string>(?i)\bdom_element_(has_attribute(_ns)?|set_(id_attribute(_n(s|ode))?|attribute(_n(s|ode(_ns)?))?)|remove_attribute(_n(s|ode))?|get_(elements_by_tag_name(_ns)?|attribute(_n(s|ode(_ns)?))?))(?=\s*\()</string>
2619
+ <key>name</key>
2620
+ <string>support.function.element.php</string>
2621
+ </dict>
2622
+ <dict>
2623
+ <key>match</key>
2624
+ <string>(?i)\b(s(hell_exec|ystem)|p(assthru|roc_nice)|e(scapeshell(cmd|arg)|xec))(?=\s*\()</string>
2625
+ <key>name</key>
2626
+ <string>support.function.exec.php</string>
2627
+ </dict>
2628
+ <dict>
2629
+ <key>match</key>
2630
+ <string>(?i)\bexif_(imagetype|t(humbnail|agname)|read_data)(?=\s*\()</string>
2631
+ <key>name</key>
2632
+ <string>support.function.exif.php</string>
2633
+ </dict>
2634
+ <dict>
2635
+ <key>match</key>
2636
+ <string>(?i)\bfdf_(header|s(et_(s(tatus|ubmit_form_action)|target_frame|o(n_import_javascript|pt)|javascript_action|encoding|v(ersion|alue)|f(ile|lags)|ap)|ave(_string)?)|next_field_name|c(lose|reate)|open(_string)?|e(num_values|rr(no|or))|add_(template|doc_javascript)|remove_item|get_(status|opt|encoding|v(ersion|alue)|f(ile|lags)|a(ttachment|p)))(?=\s*\()</string>
2637
+ <key>name</key>
2638
+ <string>support.function.fdf.php</string>
2639
+ </dict>
2640
+ <dict>
2641
+ <key>match</key>
2642
+ <string>(?i)\b(sys_get_temp_dir|copy|t(empnam|mpfile)|u(nlink|mask)|p(close|open)|f(s(canf|tat|eek)|nmatch|close|t(ell|runcate)|ile(_(put_contents|get_contents))?|open|p(utcsv|assthru)|eof|flush|write|lock|read|get(s(s)?|c(sv)?))|r(e(name|a(dfile|lpath)|wind)|mdir)|get_meta_tags|mkdir)(?=\s*\()</string>
2643
+ <key>name</key>
2644
+ <string>support.function.file.php</string>
2645
+ </dict>
2646
+ <dict>
2647
+ <key>match</key>
2648
+ <string>(?i)\b(stat|c(h(own|grp|mod)|learstatcache)|is_(dir|executable|file|link|writable|readable)|touch|disk_(total_space|free_space)|file(size|ctime|type|inode|owner|_exists|perms|atime|group|mtime)|l(stat|chgrp))(?=\s*\()</string>
2649
+ <key>name</key>
2650
+ <string>support.function.filestat.php</string>
2651
+ </dict>
2652
+ <dict>
2653
+ <key>match</key>
2654
+ <string>(?i)\bfilter_(has_var|input(_array)?|var(_array)?)(?=\s*\()</string>
2655
+ <key>name</key>
2656
+ <string>support.function.filter.php</string>
2657
+ </dict>
2658
+ <dict>
2659
+ <key>match</key>
2660
+ <string>(?i)\b(sprintf|printf|v(sprintf|printf|fprintf)|fprintf)(?=\s*\()</string>
2661
+ <key>name</key>
2662
+ <string>support.function.formatted_print.php</string>
2663
+ </dict>
2664
+ <dict>
2665
+ <key>match</key>
2666
+ <string>(?i)\b(pfsockopen|fsockopen)(?=\s*\()</string>
2667
+ <key>name</key>
2668
+ <string>support.function.fsock.php</string>
2669
+ </dict>
2670
+ <dict>
2671
+ <key>match</key>
2672
+ <string>(?i)\bftok(?=\s*\()</string>
2673
+ <key>name</key>
2674
+ <string>support.function.ftok.php</string>
2675
+ </dict>
2676
+ <dict>
2677
+ <key>match</key>
2678
+ <string>(?i)\b(image(s(y|tring(up)?|et(style|t(hickness|ile)|pixel|brush)|avealpha|x)|c(har(up)?|o(nvolution|py(res(ized|ampled)|merge(gray)?)?|lor(s(total|et|forindex)|closest(hwb|alpha)?|transparent|deallocate|exact(alpha)?|a(t|llocate(alpha)?)|resolve(alpha)?|match))|reate(truecolor|from(string|jpeg|png|wbmp|g(if|d(2(part)?)?)|x(pm|bm)))?)|2wbmp|t(ypes|tf(text|bbox)|ruecolortopalette)|i(struecolor|nterlace)|d(estroy|ashedline)|jpeg|ellipse|p(s(slantfont|copyfont|text|e(ncodefont|xtendfont)|freefont|loadfont|bbox)|ng|olygon|alettecopy)|f(t(text|bbox)|il(ter|l(toborder|ed(polygon|ellipse|arc|rectangle))?)|ont(height|width))|wbmp|a(ntialias|lphablending|rc)|l(ine|oadfont|ayereffect)|r(otate|ectangle)|g(if|d(2)?|ammacorrect|rab(screen|window))|xbm)|jpeg2wbmp|png2wbmp|gd_info)(?=\s*\()</string>
2679
+ <key>name</key>
2680
+ <string>support.function.gd.php</string>
2681
+ </dict>
2682
+ <dict>
2683
+ <key>match</key>
2684
+ <string>(?i)\b(ngettext|textdomain|d(ngettext|c(ngettext|gettext)|gettext)|gettext|bind(textdomain|_textdomain_codeset))(?=\s*\()</string>
2685
+ <key>name</key>
2686
+ <string>support.function.gettext.php</string>
2687
+ </dict>
2688
+ <dict>
2689
+ <key>match</key>
2690
+ <string>(?i)\bgmp_(hamdist|s(can(1|0)|ign|trval|ub|etbit|qrt(rem)?)|c(om|lrbit|mp)|ne(g|xtprime)|in(tval|it|vert)|or|div(_(q(r)?|r)|exact)|jacobi|p(o(pcount|w(m)?)|erfect_square|rob_prime)|fact|legendre|a(nd|dd|bs)|random|gcd(ext)?|xor|m(od|ul))(?=\s*\()</string>
2691
+ <key>name</key>
2692
+ <string>support.function.gmp.php</string>
2693
+ </dict>
2694
+ <dict>
2695
+ <key>match</key>
2696
+ <string>(?i)\bhash(_(hmac(_file)?|init|update(_(stream|file))?|fi(nal|le)|algos))?(?=\s*\()</string>
2697
+ <key>name</key>
2698
+ <string>support.function.hash.php</string>
2699
+ </dict>
2700
+ <dict>
2701
+ <key>match</key>
2702
+ <string>(?i)\bmd5(_file)?(?=\s*\()</string>
2703
+ <key>name</key>
2704
+ <string>support.function.hash_md.php</string>
2705
+ </dict>
2706
+ <dict>
2707
+ <key>match</key>
2708
+ <string>(?i)\bsha1(_file)?(?=\s*\()</string>
2709
+ <key>name</key>
2710
+ <string>support.function.hash_sha.php</string>
2711
+ </dict>
2712
+ <dict>
2713
+ <key>match</key>
2714
+ <string>(?i)\b(set(cookie|rawcookie)|header(s_(sent|list))?)(?=\s*\()</string>
2715
+ <key>name</key>
2716
+ <string>support.function.head.php</string>
2717
+ </dict>
2718
+ <dict>
2719
+ <key>match</key>
2720
+ <string>(?i)\b(html(specialchars(_decode)?|_entity_decode|entities)|get_html_translation_table)(?=\s*\()</string>
2721
+ <key>name</key>
2722
+ <string>support.function.html.php</string>
2723
+ </dict>
2724
+ <dict>
2725
+ <key>match</key>
2726
+ <string>(?i)\bhttp_build_query(?=\s*\()</string>
2727
+ <key>name</key>
2728
+ <string>support.function.http.php</string>
2729
+ </dict>
2730
+ <dict>
2731
+ <key>match</key>
2732
+ <string>(?i)\bibase_blob_(c(ancel|lose|reate)|i(nfo|mport)|open|echo|add|get)(?=\s*\()</string>
2733
+ <key>name</key>
2734
+ <string>support.function.ibase_blobs.php</string>
2735
+ </dict>
2736
+ <dict>
2737
+ <key>match</key>
2738
+ <string>(?i)\bibase_(set_event_handler|free_event_handler|wait_event)(?=\s*\()</string>
2739
+ <key>name</key>
2740
+ <string>support.function.ibase_events.php</string>
2741
+ </dict>
2742
+ <dict>
2743
+ <key>match</key>
2744
+ <string>(?i)\bibase_(n(um_(params|fields|rows)|ame_result)|execute|p(aram_info|repare)|f(ield_info|etch_(object|assoc|row)|ree_(query|result))|query|affected_rows)(?=\s*\()</string>
2745
+ <key>name</key>
2746
+ <string>support.function.ibase_query.php</string>
2747
+ </dict>
2748
+ <dict>
2749
+ <key>match</key>
2750
+ <string>(?i)\bibase_(serv(ice_(detach|attach)|er_info)|d(elete_user|b_info)|add_user|restore|backup|m(odify_user|aintain_db))(?=\s*\()</string>
2751
+ <key>name</key>
2752
+ <string>support.function.ibase_service.php</string>
2753
+ </dict>
2754
+ <dict>
2755
+ <key>match</key>
2756
+ <string>(?i)\b(iconv(_(s(tr(pos|len|rpos)|ubstr|et_encoding)|get_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)(?=\s*\()</string>
2757
+ <key>name</key>
2758
+ <string>support.function.iconv.php</string>
2759
+ </dict>
2760
+ <dict>
2761
+ <key>match</key>
2762
+ <string>(?i)\b(image_type_to_(extension|mime_type)|getimagesize)(?=\s*\()</string>
2763
+ <key>name</key>
2764
+ <string>support.function.image.php</string>
2765
+ </dict>
2766
+ <dict>
2767
+ <key>match</key>
2768
+ <string>(?i)\b(zend_logo_guid|php(credits|info|_(sapi_name|ini_scanned_files|uname|egg_logo_guid|logo_guid|real_logo_guid)|version))(?=\s*\()</string>
2769
+ <key>name</key>
2770
+ <string>support.function.info.php</string>
2771
+ </dict>
2772
+ <dict>
2773
+ <key>match</key>
2774
+ <string>(?i)\bibase_(c(o(nnect|mmit(_ret)?)|lose)|trans|drop_db|pconnect|err(code|msg)|gen_id|rollback(_ret)?)(?=\s*\()</string>
2775
+ <key>name</key>
2776
+ <string>support.function.interbase.php</string>
2777
+ </dict>
2778
+ <dict>
2779
+ <key>match</key>
2780
+ <string>(?i)\bcurl_(setopt(_array)?|c(opy_handle|lose)|init|e(rr(no|or)|xec)|version|getinfo)(?=\s*\()</string>
2781
+ <key>name</key>
2782
+ <string>support.function.interface.php</string>
2783
+ </dict>
2784
+ <dict>
2785
+ <key>match</key>
2786
+ <string>(?i)\biptc(parse|embed)(?=\s*\()</string>
2787
+ <key>name</key>
2788
+ <string>support.function.iptc.php</string>
2789
+ </dict>
2790
+ <dict>
2791
+ <key>match</key>
2792
+ <string>(?i)\bjson_(decode|encode)(?=\s*\()</string>
2793
+ <key>name</key>
2794
+ <string>support.function.json.php</string>
2795
+ </dict>
2796
+ <dict>
2797
+ <key>match</key>
2798
+ <string>(?i)\blcg_value(?=\s*\()</string>
2799
+ <key>name</key>
2800
+ <string>support.function.lcg.php</string>
2801
+ </dict>
2802
+ <dict>
2803
+ <key>match</key>
2804
+ <string>(?i)\bldap_(s(tart_tls|ort|e(t_(option|rebind_proc)|arch)|asl_bind)|next_(entry|attribute|reference)|co(nnect|unt_entries|mpare)|t61_to_8859|8859_to_t61|d(n2ufn|elete)|unbind|parse_re(sult|ference)|e(rr(no|2str|or)|xplode_dn)|f(irst_(entry|attribute|reference)|ree_result)|add|list|get_(option|dn|entries|values_len|attributes)|re(name|ad)|mod_(del|add|replace)|bind)(?=\s*\()</string>
2805
+ <key>name</key>
2806
+ <string>support.function.ldap.php</string>
2807
+ </dict>
2808
+ <dict>
2809
+ <key>match</key>
2810
+ <string>(?i)\blevenshtein(?=\s*\()</string>
2811
+ <key>name</key>
2812
+ <string>support.function.levenshtein.php</string>
2813
+ </dict>
2814
+ <dict>
2815
+ <key>match</key>
2816
+ <string>(?i)\blibxml_(set_streams_context|clear_errors|use_internal_errors|get_(errors|last_error))(?=\s*\()</string>
2817
+ <key>name</key>
2818
+ <string>support.function.libxml.php</string>
2819
+ </dict>
2820
+ <dict>
2821
+ <key>match</key>
2822
+ <string>(?i)\b(symlink|link(info)?|readlink)(?=\s*\()</string>
2823
+ <key>name</key>
2824
+ <string>support.function.link.php</string>
2825
+ </dict>
2826
+ <dict>
2827
+ <key>match</key>
2828
+ <string>(?i)\b(ezmlm_hash|mail)(?=\s*\()</string>
2829
+ <key>name</key>
2830
+ <string>support.function.mail.php</string>
2831
+ </dict>
2832
+ <dict>
2833
+ <key>match</key>
2834
+ <string>(?i)\bset_time_limit(?=\s*\()</string>
2835
+ <key>name</key>
2836
+ <string>support.function.main.php</string>
2837
+ </dict>
2838
+ <dict>
2839
+ <key>match</key>
2840
+ <string>(?i)\b(h(ypot|exdec)|s(in(h)?|qrt)|number_format|c(os(h)?|eil)|is_(nan|infinite|finite)|tan(h)?|octdec|de(c(hex|oct|bin)|g2rad)|exp(m1)?|p(i|ow)|f(loor|mod)|log(1(p|0))?|a(sin(h)?|cos(h)?|tan(h|2)?|bs)|r(ound|ad2deg)|b(indec|ase_convert))(?=\s*\()</string>
2841
+ <key>name</key>
2842
+ <string>support.function.math.php</string>
2843
+ </dict>
2844
+ <dict>
2845
+ <key>match</key>
2846
+ <string>(?i)\bmb_(s(tr(str|cut|to(upper|lower)|i(str|pos|mwidth)|pos|width|len|r(chr|i(chr|pos)|pos))|ubst(itute_character|r(_count)?)|end_mail)|http_(input|output)|c(heck_encoding|onvert_(case|encoding|variables|kana))|internal_encoding|output_handler|de(code_(numericentity|mimeheader)|tect_(order|encoding))|encode_(numericentity|mimeheader)|p(arse_str|referred_mime_name)|l(ist_(encodings(_alias_names)?|mime_names)|anguage)|get_info)(?=\s*\()</string>
2847
+ <key>name</key>
2848
+ <string>support.function.mbstring.php</string>
2849
+ </dict>
2850
+ <dict>
2851
+ <key>match</key>
2852
+ <string>(?i)\bm(crypt_(c(fb|reate_iv|bc)|ofb|decrypt|e(cb|nc(_(self_test|is_block_(algorithm(_mode)?|mode)|get_(supported_key_sizes|iv_size|key_size|algorithms_name|modes_name|block_size))|rypt))|list_(algorithms|modes)|ge(neric(_(init|deinit))?|t_(cipher_name|iv_size|key_size|block_size))|module_(self_test|close|is_block_(algorithm(_mode)?|mode)|open|get_(supported_key_sizes|algo_(key_size|block_size))))|decrypt_generic)(?=\s*\()</string>
2853
+ <key>name</key>
2854
+ <string>support.function.mcrypt.php</string>
2855
+ </dict>
2856
+ <dict>
2857
+ <key>match</key>
2858
+ <string>(?i)\bmd5(_file)?(?=\s*\()</string>
2859
+ <key>name</key>
2860
+ <string>support.function.md5.php</string>
2861
+ </dict>
2862
+ <dict>
2863
+ <key>match</key>
2864
+ <string>(?i)\bmetaphone(?=\s*\()</string>
2865
+ <key>name</key>
2866
+ <string>support.function.metaphone.php</string>
2867
+ </dict>
2868
+ <dict>
2869
+ <key>match</key>
2870
+ <string>(?i)\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?(?=\s*\()</string>
2871
+ <key>name</key>
2872
+ <string>support.function.mhash.php</string>
2873
+ </dict>
2874
+ <dict>
2875
+ <key>match</key>
2876
+ <string>(?i)\b(get(timeofday|rusage)|microtime)(?=\s*\()</string>
2877
+ <key>name</key>
2878
+ <string>support.function.microtime.php</string>
2879
+ </dict>
2880
+ <dict>
2881
+ <key>match</key>
2882
+ <string>(?i)\bmime_content_type(?=\s*\()</string>
2883
+ <key>name</key>
2884
+ <string>support.function.mime_magic.php</string>
2885
+ </dict>
2886
+ <dict>
2887
+ <key>match</key>
2888
+ <string>(?i)\b(swf(prebuiltclip_init|videostream_init)|ming_(set(scale|cubicthreshold)|use(swfversion|constants)|keypress))(?=\s*\()</string>
2889
+ <key>name</key>
2890
+ <string>support.function.ming.php</string>
2891
+ </dict>
2892
+ <dict>
2893
+ <key>match</key>
2894
+ <string>(?i)\bcurl_multi_(select|close|in(it|fo_read)|exec|add_handle|getcontent|remove_handle)(?=\s*\()</string>
2895
+ <key>name</key>
2896
+ <string>support.function.multi.php</string>
2897
+ </dict>
2898
+ <dict>
2899
+ <key>match</key>
2900
+ <string>(?i)\bmysqli_(s(sl_set|t(ore_result|at|mt_(s(tore_result|end_long_data|qlstate)|num_rows|close|in(sert_id|it)|data_seek|p(aram_count|repare)|e(rr(no|or)|xecute)|f(ield_count|etch|ree_result)|a(ttr_(set|get)|ffected_rows)|res(ult_metadata|et)|bind_(param|result)))|e(t_local_infile_(handler|default)|lect_db)|qlstate)|n(um_(fields|rows)|ext_result)|c(ha(nge_user|racter_set_name)|ommit|lose)|thread_(safe|id)|in(sert_id|it|fo)|options|d(ump_debug_info|ebug|ata_seek)|use_result|p(ing|repare)|err(no|or)|kill|f(ield_(seek|count|tell)|etch_(field(s|_direct)?|lengths|row)|ree_result)|warning_count|a(utocommit|ffected_rows)|r(ollback|eal_(connect|escape_string|query))|get_(server_(info|version)|host_info|client_(info|version)|proto_info)|more_results)(?=\s*\()</string>
2901
+ <key>name</key>
2902
+ <string>support.function.mysqli_api.php</string>
2903
+ </dict>
2904
+ <dict>
2905
+ <key>match</key>
2906
+ <string>(?i)\bmysqli_embedded_server_(start|end)(?=\s*\()</string>
2907
+ <key>name</key>
2908
+ <string>support.function.mysqli_embedded.php</string>
2909
+ </dict>
2910
+ <dict>
2911
+ <key>match</key>
2912
+ <string>(?i)\bmysqli_(s(tmt_get_warnings|et_charset)|connect(_err(no|or))?|query|fetch_(object|a(ssoc|rray))|get_(charset|warnings)|multi_query)(?=\s*\()</string>
2913
+ <key>name</key>
2914
+ <string>support.function.mysqli_nonapi.php</string>
2915
+ </dict>
2916
+ <dict>
2917
+ <key>match</key>
2918
+ <string>(?i)\bmysqli_(s(end_query|lave_query)|disable_r(pl_parse|eads_from_master)|enable_r(pl_parse|eads_from_master)|rpl_(p(arse_enabled|robe)|query_type)|master_query)(?=\s*\()</string>
2919
+ <key>name</key>
2920
+ <string>support.function.mysqli_repl.php</string>
2921
+ </dict>
2922
+ <dict>
2923
+ <key>match</key>
2924
+ <string>(?i)\bmysqli_report(?=\s*\()</string>
2925
+ <key>name</key>
2926
+ <string>support.function.mysqli_report.php</string>
2927
+ </dict>
2928
+ <dict>
2929
+ <key>match</key>
2930
+ <string>(?i)\bdom_namednodemap_(set_named_item(_ns)?|item|remove_named_item(_ns)?|get_named_item(_ns)?)(?=\s*\()</string>
2931
+ <key>name</key>
2932
+ <string>support.function.namednodemap.php</string>
2933
+ </dict>
2934
+ <dict>
2935
+ <key>match</key>
2936
+ <string>(?i)\bdom_namelist_get_name(space_uri)?(?=\s*\()</string>
2937
+ <key>name</key>
2938
+ <string>support.function.namelist.php</string>
2939
+ </dict>
2940
+ <dict>
2941
+ <key>match</key>
2942
+ <string>(?i)\bncurses_(s(how_panel|cr(_(set|init|dump|restore)|l)|ta(nd(out|end)|rt_color)|lk_(set|noutrefresh|c(olor|lear)|init|touch|attr(set|o(n|ff))?|re(store|fresh))|avetty)|h(ide_panel|line|a(s_(colors|i(c|l)|key)|lfdelay))|n(o(nl|cbreak|echo|qiflush|raw)|ew(_panel|pad|win)|apms|l)|c(olor_(set|content)|urs_set|l(ear|rto(eol|bot))|an_change_color|break)|t(ypeahead|imeout|op_panel|erm(name|attrs))|i(sendwin|n(s(str|ch|tr|delln|ertln)|ch|it(_(color|pair))?))|d(oupdate|e(f(ine_key|_(shell_mode|prog_mode))|l(ch|_panel|eteln|ay_output|win)))|u(se_(default_colors|e(nv|xtended_names))|nget(ch|mouse)|pdate_panels)|p(noutrefresh|utp|a(nel_(window|above|below)|ir_content)|refresh)|e(cho(char)?|nd|rase(char)?)|v(idattr|line)|k(illchar|ey(ok|pad))|qiflush|f(ilter|l(ushinp|ash))|longname|w(stand(out|end)|hline|noutrefresh|c(olor_set|lear)|erase|vline|a(ttr(set|o(n|ff))|dd(str|ch))|getch|refresh|mo(use_trafo|ve)|border)|a(ssume_default_colors|ttr(set|o(n|ff))|dd(str|nstr|ch(str|nstr)?))|r(e(set(ty|_(shell_mode|prog_mode))|place_panel|fresh)|aw)|get(yx|ch|m(ouse|axyx))|b(o(ttom_panel|rder)|eep|kgd(set)?|audrate)|m(o(use(interval|_trafo|mask)|ve(_panel)?)|eta|v(hline|cur|inch|delch|vline|waddstr|add(str|nstr|ch(str|nstr)?)|getch)))(?=\s*\()</string>
2943
+ <key>name</key>
2944
+ <string>support.function.ncurses_functions.php</string>
2945
+ </dict>
2946
+ <dict>
2947
+ <key>match</key>
2948
+ <string>(?i)\bdom_node_(set_user_data|has_(child_nodes|attributes)|normalize|c(ompare_document_position|lone_node)|i(s_(s(upported|ame_node)|default_namespace|equal_node)|nsert_before)|lookup_(namespace_uri|prefix)|append_child|get_(user_data|feature)|re(place_child|move_child))(?=\s*\()</string>
2949
+ <key>name</key>
2950
+ <string>support.function.node.php</string>
2951
+ </dict>
2952
+ <dict>
2953
+ <key>match</key>
2954
+ <string>(?i)\bdom_nodelist_item(?=\s*\()</string>
2955
+ <key>name</key>
2956
+ <string>support.function.nodelist.php</string>
2957
+ </dict>
2958
+ <dict>
2959
+ <key>match</key>
2960
+ <string>(?i)\bnsapi_(virtual|re(sponse_headers|quest_headers))(?=\s*\()</string>
2961
+ <key>name</key>
2962
+ <string>support.function.nsapi.php</string>
2963
+ </dict>
2964
+ <dict>
2965
+ <key>match</key>
2966
+ <string>(?i)\boci(setbufferinglob|_(s(tatement_type|e(t_prefetch|rver_version))|c(o(nnect|llection_(size|trim|element_(assign|get)|a(ssign|ppend)|max)|mmit)|lose|ancel)|n(um_(fields|rows)|ew_(c(o(nnect|llection)|ursor)|descriptor))|internal_debug|define_by_name|p(connect|a(ssword_change|rse))|e(rror|xecute)|f(ield_(s(cale|ize)|name|is_null|type(_raw)?|precision)|etch(_(object|a(ssoc|ll|rray)|row))?|ree_(statement|collection|descriptor))|lob_(s(ize|eek|ave)|c(opy|lose)|t(ell|runcate)|i(s_equal|mport)|e(of|rase|xport)|flush|append|write(_temporary)?|load|re(wind|ad))|r(ollback|esult)|bind_(array_by_name|by_name))|fetchinto|getbufferinglob)(?=\s*\()</string>
2967
+ <key>name</key>
2968
+ <string>support.function.oci8_interface.php</string>
2969
+ </dict>
2970
+ <dict>
2971
+ <key>match</key>
2972
+ <string>(?i)\bopenssl_(s(ign|eal)|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|open|error_string|p(ublic_(decrypt|encrypt)|k(cs(12_(export(_to_file)?|read)|7_(sign|decrypt|encrypt|verify))|ey_(new|export(_to_file)?|free|get_(details|p(ublic|rivate))))|rivate_(decrypt|encrypt))|verify|x509_(check(_private_key|purpose)|parse|export(_to_file)?|free|read))(?=\s*\()</string>
2973
+ <key>name</key>
2974
+ <string>support.function.openssl.php</string>
2975
+ </dict>
2976
+ <dict>
2977
+ <key>match</key>
2978
+ <string>(?i)\bo(utput_(add_rewrite_var|reset_rewrite_vars)|b_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|get_(status|c(ontents|lean)|flush|le(ngth|vel))))(?=\s*\()</string>
2979
+ <key>name</key>
2980
+ <string>support.function.output.php</string>
2981
+ </dict>
2982
+ <dict>
2983
+ <key>match</key>
2984
+ <string>(?i)\b(unpack|pack)(?=\s*\()</string>
2985
+ <key>name</key>
2986
+ <string>support.function.pack.php</string>
2987
+ </dict>
2988
+ <dict>
2989
+ <key>match</key>
2990
+ <string>(?i)\bget(lastmod|my(inode|uid|pid|gid))(?=\s*\()</string>
2991
+ <key>name</key>
2992
+ <string>support.function.pageinfo.php</string>
2993
+ </dict>
2994
+ <dict>
2995
+ <key>match</key>
2996
+ <string>(?i)\bpcntl_(s(ignal|etpriority)|exec|fork|w(stopsig|termsig|if(s(ignaled|topped)|exited)|exitstatus|ait(pid)?)|alarm|getpriority)(?=\s*\()</string>
2997
+ <key>name</key>
2998
+ <string>support.function.pcntl.php</string>
2999
+ </dict>
3000
+ <dict>
3001
+ <key>match</key>
3002
+ <string>(?i)\bpdo_drivers(?=\s*\()</string>
3003
+ <key>name</key>
3004
+ <string>support.function.pdo.php</string>
3005
+ </dict>
3006
+ <dict>
3007
+ <key>match</key>
3008
+ <string>(?i)\bpdo_drivers(?=\s*\()</string>
3009
+ <key>name</key>
3010
+ <string>support.function.pdo_dbh.php</string>
3011
+ </dict>
3012
+ <dict>
3013
+ <key>match</key>
3014
+ <string>(?i)\bpg_(se(nd_(execute|prepare|query(_params)?)|t_(client_encoding|error_verbosity)|lect)|host|num_(fields|rows)|c(o(n(nect(ion_(status|reset|busy))?|vert)|py_(to|from))|ancel_query|l(ient_encoding|ose))|insert|t(ty|ra(nsaction_status|ce))|options|d(elete|bname)|u(n(trace|escape_bytea)|pdate)|e(scape_(string|bytea)|nd_copy|xecute)|p(connect|ing|ort|ut_line|arameter_status|repare)|version|f(ield_(size|n(um|ame)|is_null|t(ype(_oid)?|able)|prtlen)|etch_(object|a(ssoc|ll(_columns)?|rray)|r(ow|esult))|ree_result)|query(_params)?|affected_rows|l(o_(seek|c(lose|reate)|tell|import|open|unlink|export|write|read(_all)?)|ast_(notice|oid|error))|get_(notify|pid|result)|result_(s(tatus|eek)|error(_field)?)|meta_data)(?=\s*\()</string>
3015
+ <key>name</key>
3016
+ <string>support.function.pgsql.php</string>
3017
+ </dict>
3018
+ <dict>
3019
+ <key>match</key>
3020
+ <string>(?i)\b(virtual|apache_(setenv|note|child_terminate|lookup_uri|get_(version|modules)|re(s(et_timeout|ponse_headers)|quest_(s(ome_auth_required|ub_req_(lookup_(uri|file)|method_uri)|e(t_(etag|last_modified)|rver_port)|atisfies)|headers(_(in|out))?|is_initial_req|discard_request_body|update_mtime|err_headers_out|log_error|auth_(name|type)|r(un|emote_host)|meets_conditions)))|getallheaders)(?=\s*\()</string>
3021
+ <key>name</key>
3022
+ <string>support.function.php_apache.php</string>
3023
+ </dict>
3024
+ <dict>
3025
+ <key>match</key>
3026
+ <string>(?i)\b(str(totime|ftime)|checkdate|time(zone_(name_(from_abbr|get)|identifiers_list|transitions_get|o(pen|ffset_get)|abbreviations_list))?|idate|date(_(sun(set|_info|rise)|create|isodate_set|time(zone_(set|get)|_set)|d(efault_timezone_(set|get)|ate_set)|offset_get|parse|format|modify))?|localtime|g(etdate|m(strftime|date|mktime))|mktime)(?=\s*\()</string>
3027
+ <key>name</key>
3028
+ <string>support.function.php_date.php</string>
3029
+ </dict>
3030
+ <dict>
3031
+ <key>match</key>
3032
+ <string>(?i)\bdom_import_simplexml(?=\s*\()</string>
3033
+ <key>name</key>
3034
+ <string>support.function.php_dom.php</string>
3035
+ </dict>
3036
+ <dict>
3037
+ <key>match</key>
3038
+ <string>(?i)\bfbsql_(hostname|s(t(op_db|art_db)|e(t_(characterset|transaction|password|lob_mode)|lect_db))|n(um_(fields|rows)|ext_result)|c(hange_user|o(nnect|mmit)|lo(se|b_size)|reate_(clob|db|blob))|table_name|insert_id|d(ata(_seek|base(_password)?)|rop_db|b_(status|query))|username|err(no|or)|p(connect|assword)|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree_result)|query|warnings|list_(tables|dbs|fields)|a(utocommit|ffected_rows)|get_autostart_info|r(o(ws_fetched|llback)|e(sult|ad_(clob|blob)))|blob_size)(?=\s*\()</string>
3039
+ <key>name</key>
3040
+ <string>support.function.php_fbsql.php</string>
3041
+ </dict>
3042
+ <dict>
3043
+ <key>match</key>
3044
+ <string>(?i)\bftp_(s(sl_connect|ystype|i(te|ze)|et_option)|n(list|b_(continue|put|f(put|get)|get))|c(h(dir|mod)|dup|onnect|lose)|delete|exec|p(ut|asv|wd)|f(put|get)|alloc|login|get(_option)?|r(ename|aw(list)?|mdir)|m(dtm|kdir))(?=\s*\()</string>
3045
+ <key>name</key>
3046
+ <string>support.function.php_ftp.php</string>
3047
+ </dict>
3048
+ <dict>
3049
+ <key>match</key>
3050
+ <string>(?i)\b(virtual|apache_(setenv|note|get(_(version|modules)|env)|response_headers)|getallheaders)(?=\s*\()</string>
3051
+ <key>name</key>
3052
+ <string>support.function.php_functions.php</string>
3053
+ </dict>
3054
+ <dict>
3055
+ <key>match</key>
3056
+ <string>(?i)\bimap_(header(s|info)|s(can|tatus|ort|ubscribe|e(t(_quota|flag_full|acl)|arch)|avebody)|c(heck|l(ose|earflag_full)|reatemailbox)|num_(recent|msg)|t(hread|imeout)|8bit|delete(mailbox)?|open|u(n(subscribe|delete)|id|tf(7_(decode|encode)|8))|e(rrors|xpunge)|ping|qprint|fetch(header|structure|_overview|body)|l(sub|ist|ast_error)|a(ppend|lerts)|get(subscribed|_quota(root)?|acl|mailboxes)|r(e(namemailbox|open)|fc822_(parse_(headers|adrlist)|write_address))|m(sgno|ime_header_decode|ail(_(co(py|mpose)|move)|boxmsginfo)?)|b(inary|ody(struct)?|ase64))(?=\s*\()</string>
3057
+ <key>name</key>
3058
+ <string>support.function.php_imap.php</string>
3059
+ </dict>
3060
+ <dict>
3061
+ <key>match</key>
3062
+ <string>(?i)\bmb_(split|ereg(i(_replace)?|_(search(_(setpos|init|pos|get(pos|regs)|regs))?|replace|match))?|regex_(set_options|encoding))(?=\s*\()</string>
3063
+ <key>name</key>
3064
+ <string>support.function.php_mbregex.php</string>
3065
+ </dict>
3066
+ <dict>
3067
+ <key>match</key>
3068
+ <string>(?i)\bsmfi_(set(timeout|flags|reply)|chgheader|delrcpt|add(header|rcpt)|replacebody|getsymval)(?=\s*\()</string>
3069
+ <key>name</key>
3070
+ <string>support.function.php_milter.php</string>
3071
+ </dict>
3072
+ <dict>
3073
+ <key>match</key>
3074
+ <string>(?i)\bmsql_(select_db|num_(fields|rows)|c(onnect|lose|reate_db)|d(ata_seek|rop_db|b_query)|error|pconnect|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|array|row)|ree_result)|query|affected_rows|list_(tables|dbs|fields)|result)(?=\s*\()</string>
3075
+ <key>name</key>
3076
+ <string>support.function.php_msql.php</string>
3077
+ </dict>
3078
+ <dict>
3079
+ <key>match</key>
3080
+ <string>(?i)\bmssql_(select_db|n(um_(fields|rows)|ext_result)|c(onnect|lose)|init|data_seek|execute|pconnect|query|f(ield_(seek|name|type|length)|etch_(object|field|a(ssoc|rray)|row|batch)|ree_(statement|result))|g(uid_string|et_last_message)|r(ows_affected|esult)|bind|min_(error_severity|message_severity))(?=\s*\()</string>
3081
+ <key>name</key>
3082
+ <string>support.function.php_mssql.php</string>
3083
+ </dict>
3084
+ <dict>
3085
+ <key>match</key>
3086
+ <string>(?i)\bmysql_(s(tat|e(t_charset|lect_db))|num_(fields|rows)|c(onnect|l(ient_encoding|ose)|reate_db)|thread_id|in(sert_id|fo)|d(ata_seek|rop_db|b_query)|unbuffered_query|e(scape_string|rr(no|or))|p(connect|ing)|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree_result)|query|affected_rows|list_(tables|dbs|processes|fields)|re(sult|al_escape_string)|get_(server_info|host_info|client_info|proto_info))(?=\s*\()</string>
3087
+ <key>name</key>
3088
+ <string>support.function.php_mysql.php</string>
3089
+ </dict>
3090
+ <dict>
3091
+ <key>match</key>
3092
+ <string>(?i)\b(solid_fetch_prev|odbc_(s(tatistics|pecialcolumns|etoption)|n(um_(fields|rows)|ext_result)|c(o(nnect|lumn(s|privileges)|mmit)|ursor|lose(_all)?)|table(s|privileges)|data_source|e(rror(msg)?|xec(ute)?)|p(connect|r(imarykeys|ocedure(s|columns)|epare))|f(ield_(scale|n(um|ame)|type|len)|oreignkeys|etch_(into|object|array|row)|ree_result)|autocommit|longreadlen|gettypeinfo|r(ollback|esult(_all)?)|binmode))(?=\s*\()</string>
3093
+ <key>name</key>
3094
+ <string>support.function.php_odbc.php</string>
3095
+ </dict>
3096
+ <dict>
3097
+ <key>match</key>
3098
+ <string>(?i)\bpreg_(split|quote|last_error|grep|replace(_callback)?|match(_all)?)(?=\s*\()</string>
3099
+ <key>name</key>
3100
+ <string>support.function.php_pcre.php</string>
3101
+ </dict>
3102
+ <dict>
3103
+ <key>match</key>
3104
+ <string>(?i)\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|parents))(?=\s*\()</string>
3105
+ <key>name</key>
3106
+ <string>support.function.php_spl.php</string>
3107
+ </dict>
3108
+ <dict>
3109
+ <key>match</key>
3110
+ <string>(?i)\bsybase_(se(t_message_handler|lect_db)|num_(fields|rows)|c(onnect|lose)|d(eadlock_retry_count|ata_seek)|unbuffered_query|pconnect|f(ield_seek|etch_(object|field|a(ssoc|rray)|row)|ree_result)|query|affected_rows|result|get_last_message|min_(server_severity|client_severity))(?=\s*\()</string>
3111
+ <key>name</key>
3112
+ <string>support.function.php_sybase_ct.php</string>
3113
+ </dict>
3114
+ <dict>
3115
+ <key>match</key>
3116
+ <string>(?i)\bsybase_(select_db|num_(fields|rows)|c(onnect|lose)|data_seek|pconnect|f(ield_seek|etch_(object|field|array|row)|ree_result)|query|affected_rows|result|get_last_message|min_(error_severity|message_severity))(?=\s*\()</string>
3117
+ <key>name</key>
3118
+ <string>support.function.php_sybase_db.php</string>
3119
+ </dict>
3120
+ <dict>
3121
+ <key>match</key>
3122
+ <string>(?i)\bxmlwriter_(s(tart_(c(omment|data)|d(td(_(e(ntity|lement)|attlist))?|ocument)|pi|element(_ns)?|attribute(_ns)?)|et_indent(_string)?)|text|o(utput_memory|pen_(uri|memory))|end_(c(omment|data)|d(td(_(e(ntity|lement)|attlist))?|ocument)|pi|element|attribute)|f(ull_end_element|lush)|write_(c(omment|data)|dtd(_(e(ntity|lement)|attlist))?|pi|element(_ns)?|attribute(_ns)?|raw))(?=\s*\()</string>
3123
+ <key>name</key>
3124
+ <string>support.function.php_xmlwriter.php</string>
3125
+ </dict>
3126
+ <dict>
3127
+ <key>match</key>
3128
+ <string>(?i)\b(s(tat(Name|Index)|et(Comment(Name|Index)|ArchiveComment))|c(lose|reateEmptyDir)|delete(Name|Index)|open|zip_(close|open|entry_(name|c(ompress(ionmethod|edsize)|lose)|open|filesize|read)|read)|unchange(Name|Index|All)|locateName|addF(ile|romString)|rename(Name|Index)|get(Stream|Comment(Name|Index)|NameIndex|From(Name|Index)|ArchiveComment))(?=\s*\()</string>
3129
+ <key>name</key>
3130
+ <string>support.function.php_zip.php</string>
3131
+ </dict>
3132
+ <dict>
3133
+ <key>match</key>
3134
+ <string>(?i)\bposix_(s(trerror|et(sid|uid|pgid|e(uid|gid)|gid))|ctermid|i(satty|nitgroups)|t(tyname|imes)|uname|kill|access|get(sid|cwd|_last_error|uid|e(uid|gid)|p(id|pid|w(nam|uid)|g(id|rp))|login|rlimit|g(id|r(nam|oups|gid)))|mk(nod|fifo))(?=\s*\()</string>
3135
+ <key>name</key>
3136
+ <string>support.function.posix.php</string>
3137
+ </dict>
3138
+ <dict>
3139
+ <key>match</key>
3140
+ <string>(?i)\bproc_(close|terminate|open|get_status)(?=\s*\()</string>
3141
+ <key>name</key>
3142
+ <string>support.function.proc_open.php</string>
3143
+ </dict>
3144
+ <dict>
3145
+ <key>match</key>
3146
+ <string>(?i)\bpspell_(s(tore_replacement|uggest|ave_wordlist)|c(heck|onfig_(save_repl|create|ignore|d(ict_dir|ata_dir)|personal|r(untogether|epl)|mode)|lear_session)|new(_(config|personal))?|add_to_(session|personal))(?=\s*\()</string>
3147
+ <key>name</key>
3148
+ <string>support.function.pspell.php</string>
3149
+ </dict>
3150
+ <dict>
3151
+ <key>match</key>
3152
+ <string>(?i)\bquoted_printable_decode(?=\s*\()</string>
3153
+ <key>name</key>
3154
+ <string>support.function.quot_print.php</string>
3155
+ </dict>
3156
+ <dict>
3157
+ <key>match</key>
3158
+ <string>(?i)\b(srand|getrandmax|rand|mt_(srand|getrandmax|rand))(?=\s*\()</string>
3159
+ <key>name</key>
3160
+ <string>support.function.rand.php</string>
3161
+ </dict>
3162
+ <dict>
3163
+ <key>match</key>
3164
+ <string>(?i)\breadline(_(c(ompletion_function|allback_(handler_(install|remove)|read_char)|lear_history)|info|on_new_line|write_history|list_history|add_history|re(display|ad_history)))?(?=\s*\()</string>
3165
+ <key>name</key>
3166
+ <string>support.function.readline.php</string>
3167
+ </dict>
3168
+ <dict>
3169
+ <key>match</key>
3170
+ <string>(?i)\brecode_(string|file)(?=\s*\()</string>
3171
+ <key>name</key>
3172
+ <string>support.function.recode.php</string>
3173
+ </dict>
3174
+ <dict>
3175
+ <key>match</key>
3176
+ <string>(?i)\b(s(plit(i)?|ql_regcase)|ereg(i(_replace)?|_replace)?)(?=\s*\()</string>
3177
+ <key>name</key>
3178
+ <string>support.function.reg.php</string>
3179
+ </dict>
3180
+ <dict>
3181
+ <key>match</key>
3182
+ <string>(?i)\bsession_(s(tart|et_(save_handler|cookie_params)|ave_path)|cache_(expire|limiter)|name|i(s_registered|d)|de(stroy|code)|un(set|register)|encode|write_close|reg(ister|enerate_id)|get_cookie_params|module_name)(?=\s*\()</string>
3183
+ <key>name</key>
3184
+ <string>support.function.session.php</string>
3185
+ </dict>
3186
+ <dict>
3187
+ <key>match</key>
3188
+ <string>(?i)\bsha1(_file)?(?=\s*\()</string>
3189
+ <key>name</key>
3190
+ <string>support.function.sha1.php</string>
3191
+ </dict>
3192
+ <dict>
3193
+ <key>match</key>
3194
+ <string>(?i)\bshmop_(size|close|delete|open|write|read)(?=\s*\()</string>
3195
+ <key>name</key>
3196
+ <string>support.function.shmop.php</string>
3197
+ </dict>
3198
+ <dict>
3199
+ <key>match</key>
3200
+ <string>(?i)\bsimplexml_(import_dom|load_(string|file))(?=\s*\()</string>
3201
+ <key>name</key>
3202
+ <string>support.function.simplexml.php</string>
3203
+ </dict>
3204
+ <dict>
3205
+ <key>match</key>
3206
+ <string>(?i)\bconfirm_extname_compiled(?=\s*\()</string>
3207
+ <key>name</key>
3208
+ <string>support.function.skeleton.php</string>
3209
+ </dict>
3210
+ <dict>
3211
+ <key>match</key>
3212
+ <string>(?i)\b(snmp(set|2_(set|walk|real_walk|get(next)?)|3_(set|walk|real_walk|get(next)?)|_(set_(oid_output_format|enum_print|valueretrieval|quick_print)|read_mib|get_(valueretrieval|quick_print))|walk|realwalk|get(next)?)|php_snmpv3)(?=\s*\()</string>
3213
+ <key>name</key>
3214
+ <string>support.function.snmp.php</string>
3215
+ </dict>
3216
+ <dict>
3217
+ <key>match</key>
3218
+ <string>(?i)\bsocket_(s(hutdown|trerror|e(nd(to)?|t_(nonblock|option|block)|lect))|c(onnect|l(ose|ear_error)|reate(_(pair|listen))?)|write|l(isten|ast_error)|accept|get(sockname|_option|peername)|re(cv(from)?|ad)|bind)(?=\s*\()</string>
3219
+ <key>name</key>
3220
+ <string>support.function.sockets.php</string>
3221
+ </dict>
3222
+ <dict>
3223
+ <key>match</key>
3224
+ <string>(?i)\bsoundex(?=\s*\()</string>
3225
+ <key>name</key>
3226
+ <string>support.function.soundex.php</string>
3227
+ </dict>
3228
+ <dict>
3229
+ <key>match</key>
3230
+ <string>(?i)\biterator_(count|to_array|apply)(?=\s*\()</string>
3231
+ <key>name</key>
3232
+ <string>support.function.spl_iterators.php</string>
3233
+ </dict>
3234
+ <dict>
3235
+ <key>match</key>
3236
+ <string>(?i)\bsqlite_(has_prev|s(ingle_query|eek)|n(um_(fields|rows)|ext)|c(hanges|olumn|urrent|lose|reate_(function|aggregate))|open|u(nbuffered_query|df_(decode_binary|encode_binary))|e(scape_string|rror_string|xec)|p(open|rev)|key|valid|query|f(ield_name|etch_(single|column_types|object|a(ll|rray))|actory)|l(ib(encoding|version)|ast_(insert_rowid|error))|array_query|rewind|busy_timeout)(?=\s*\()</string>
3237
+ <key>name</key>
3238
+ <string>support.function.sqlite.php</string>
3239
+ </dict>
3240
+ <dict>
3241
+ <key>match</key>
3242
+ <string>(?i)\bstream_(s(ocket_(s(hutdown|e(ndto|rver))|client|enable_crypto|pair|accept|recvfrom|get_name)|e(t_(timeout|write_buffer|blocking)|lect))|co(ntext_(set_(option|params)|create|get_(default|options))|py_to_stream)|filter_(prepend|append|remove)|get_(contents|transports|line|wrappers|meta_data))(?=\s*\()</string>
3243
+ <key>name</key>
3244
+ <string>support.function.streamsfuncs.php</string>
3245
+ </dict>
3246
+ <dict>
3247
+ <key>match</key>
3248
+ <string>(?i)\b(hebrev(c)?|s(scanf|imilar_text|tr(s(tr|pn)|natc(asecmp|mp)|c(hr|spn|oll)|i(str|p(slashes|cslashes|os|_tags))|t(o(upper|k|lower)|r)|_(s(huffle|plit)|ireplace|pad|word_count|r(ot13|ep(eat|lace)))|p(os|brk)|r(chr|ipos|ev|pos))|ubstr(_(co(unt|mpare)|replace))?|etlocale)|c(h(unk_split|r)|ount_chars)|nl(2br|_langinfo)|implode|trim|ord|dirname|uc(first|words)|join|pa(thinfo|rse_str)|explode|quotemeta|add(slashes|cslashes)|wordwrap|l(trim|ocaleconv)|rtrim|money_format|b(in2hex|asename))(?=\s*\()</string>
3249
+ <key>name</key>
3250
+ <string>support.function.string.php</string>
3251
+ </dict>
3252
+ <dict>
3253
+ <key>match</key>
3254
+ <string>(?i)\bdom_string_extend_find_offset(16|32)(?=\s*\()</string>
3255
+ <key>name</key>
3256
+ <string>support.function.string_extend.php</string>
3257
+ </dict>
3258
+ <dict>
3259
+ <key>match</key>
3260
+ <string>(?i)\b(syslog|closelog|openlog|define_syslog_variables)(?=\s*\()</string>
3261
+ <key>name</key>
3262
+ <string>support.function.syslog.php</string>
3263
+ </dict>
3264
+ <dict>
3265
+ <key>match</key>
3266
+ <string>(?i)\bmsg_(s(tat_queue|e(nd|t_queue))|re(ceive|move_queue)|get_queue)(?=\s*\()</string>
3267
+ <key>name</key>
3268
+ <string>support.function.sysvmsg.php</string>
3269
+ </dict>
3270
+ <dict>
3271
+ <key>match</key>
3272
+ <string>(?i)\bsem_(acquire|re(lease|move)|get)(?=\s*\()</string>
3273
+ <key>name</key>
3274
+ <string>support.function.sysvsem.php</string>
3275
+ </dict>
3276
+ <dict>
3277
+ <key>match</key>
3278
+ <string>(?i)\bshm_(detach|put_var|attach|get_var|remove(_var)?)(?=\s*\()</string>
3279
+ <key>name</key>
3280
+ <string>support.function.sysvshm.php</string>
3281
+ </dict>
3282
+ <dict>
3283
+ <key>match</key>
3284
+ <string>(?i)\bdom_text_(split_text|is_whitespace_in_element_content|replace_whole_text)(?=\s*\()</string>
3285
+ <key>name</key>
3286
+ <string>support.function.text.php</string>
3287
+ </dict>
3288
+ <dict>
3289
+ <key>match</key>
3290
+ <string>(?i)\btidy_(c(onfig_count|lean_repair)|is_x(html|ml)|diagnose|error_count|parse_(string|file)|access_count|warning_count|repair_(string|file)|get(opt|_(h(tml(_ver)?|ead)|status|config|o(utput|pt_doc)|error_buffer|r(oot|elease)|body)))(?=\s*\()</string>
3291
+ <key>name</key>
3292
+ <string>support.function.tidy.php</string>
3293
+ </dict>
3294
+ <dict>
3295
+ <key>match</key>
3296
+ <string>(?i)\btoken_(name|get_all)(?=\s*\()</string>
3297
+ <key>name</key>
3298
+ <string>support.function.tokenizer.php</string>
3299
+ </dict>
3300
+ <dict>
3301
+ <key>match</key>
3302
+ <string>(?i)\b(s(trval|ettype)|i(s_(s(calar|tring)|callable|nu(ll|meric)|object|float|array|long|resource|bool)|ntval)|floatval|gettype)(?=\s*\()</string>
3303
+ <key>name</key>
3304
+ <string>support.function.type.php</string>
3305
+ </dict>
3306
+ <dict>
3307
+ <key>match</key>
3308
+ <string>(?i)\buniqid(?=\s*\()</string>
3309
+ <key>name</key>
3310
+ <string>support.function.uniqid.php</string>
3311
+ </dict>
3312
+ <dict>
3313
+ <key>match</key>
3314
+ <string>(?i)\b(url(decode|encode)|parse_url|get_headers|rawurl(decode|encode))(?=\s*\()</string>
3315
+ <key>name</key>
3316
+ <string>support.function.url.php</string>
3317
+ </dict>
3318
+ <dict>
3319
+ <key>match</key>
3320
+ <string>(?i)\bstream_(filter_register|get_filters|bucket_(new|prepend|append|make_writeable))(?=\s*\()</string>
3321
+ <key>name</key>
3322
+ <string>support.function.user_filters.php</string>
3323
+ </dict>
3324
+ <dict>
3325
+ <key>match</key>
3326
+ <string>(?i)\bdom_userdatahandler_handle(?=\s*\()</string>
3327
+ <key>name</key>
3328
+ <string>support.function.userdatahandler.php</string>
3329
+ </dict>
3330
+ <dict>
3331
+ <key>match</key>
3332
+ <string>(?i)\bstream_wrapper_(unregister|re(store|gister))(?=\s*\()</string>
3333
+ <key>name</key>
3334
+ <string>support.function.userspace.php</string>
3335
+ </dict>
3336
+ <dict>
3337
+ <key>match</key>
3338
+ <string>(?i)\bconvert_uu(decode|encode)(?=\s*\()</string>
3339
+ <key>name</key>
3340
+ <string>support.function.uuencode.php</string>
3341
+ </dict>
3342
+ <dict>
3343
+ <key>match</key>
3344
+ <string>(?i)\b(serialize|debug_zval_dump|unserialize|var_(dump|export)|memory_get_(usage|peak_usage))(?=\s*\()</string>
3345
+ <key>name</key>
3346
+ <string>support.function.var.php</string>
3347
+ </dict>
3348
+ <dict>
3349
+ <key>match</key>
3350
+ <string>(?i)\bversion_compare(?=\s*\()</string>
3351
+ <key>name</key>
3352
+ <string>support.function.versioning.php</string>
3353
+ </dict>
3354
+ <dict>
3355
+ <key>match</key>
3356
+ <string>(?i)\bwddx_(serialize_va(lue|rs)|deserialize|packet_(start|end)|add_vars)(?=\s*\()</string>
3357
+ <key>name</key>
3358
+ <string>support.function.wddx.php</string>
3359
+ </dict>
3360
+ <dict>
3361
+ <key>match</key>
3362
+ <string>(?i)\b(utf8_(decode|encode)|xml_(set_(start_namespace_decl_handler|notation_decl_handler|character_data_handler|default_handler|object|unparsed_entity_decl_handler|processing_instruction_handler|e(nd_namespace_decl_handler|lement_handler|xternal_entity_ref_handler))|error_string|parse(_into_struct|r_(set_option|create(_ns)?|free|get_option))?|get_(current_(column_number|line_number|byte_index)|error_code)))(?=\s*\()</string>
3363
+ <key>name</key>
3364
+ <string>support.function.xml.php</string>
3365
+ </dict>
3366
+ <dict>
3367
+ <key>match</key>
3368
+ <string>(?i)\bxmlrpc_(se(t_type|rver_(c(all_method|reate)|destroy|add_introspection_data|register_(introspection_callback|method)))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|get_type)(?=\s*\()</string>
3369
+ <key>name</key>
3370
+ <string>support.function.xmlrpc-epi-php.php</string>
3371
+ </dict>
3372
+ <dict>
3373
+ <key>match</key>
3374
+ <string>(?i)\bdom_xpath_(evaluate|query|register_ns)(?=\s*\()</string>
3375
+ <key>name</key>
3376
+ <string>support.function.xpath.php</string>
3377
+ </dict>
3378
+ <dict>
3379
+ <key>match</key>
3380
+ <string>(?i)\bxsl_xsltprocessor_(has_exslt_support|set_parameter|transform_to_(doc|uri|xml)|import_stylesheet|re(gister_php_functions|move_parameter)|get_parameter)(?=\s*\()</string>
3381
+ <key>name</key>
3382
+ <string>support.function.xsltprocessor.php</string>
3383
+ </dict>
3384
+ <dict>
3385
+ <key>match</key>
3386
+ <string>(?i)\b(ob_gzhandler|zlib_get_coding_type|readgzfile|gz(compress|inflate|deflate|open|uncompress|encode|file))(?=\s*\()</string>
3387
+ <key>name</key>
3388
+ <string>support.function.zlib.php</string>
3389
+ </dict>
3390
+ <dict>
3391
+ <key>match</key>
3392
+ <string>(?i)\bis_int(eger)?(?=\s*\()</string>
3393
+ <key>name</key>
3394
+ <string>support.function.alias.php</string>
3395
+ </dict>
3396
+ <dict>
3397
+ <key>match</key>
3398
+ <string>(?i)\b(Re(cursive(RegexIterator|CachingIterator|IteratorIterator|DirectoryIterator|FilterIterator|ArrayIterator)|flection(Method|Class|Object|Extension|P(arameter|roperty)|Function)?|gexIterator)|s(tdClass|wf(s(hape|ound|prite)|text(field)?|displayitem|f(ill|ont(cha(r)?)?)|action|gradient|mo(vie|rph)|b(itmap|utton)))|XMLReader|tidyNode|S(impleXML(Iterator|Element)|oap(Server|Header|Client|Param|Var|Fault)|pl(TempFileObject|ObjectStorage|File(Info|Object)))|NoRewindIterator|C(OMPersistHelper|achingIterator)|I(nfiniteIterator|teratorIterator)|D(irectoryIterator|OM(XPath|Node|C(omment|dataSection)|Text|Document(Fragment)?|ProcessingInstruction|E(ntityReference|lement)|Attr))|P(DO(Statement)?|arentIterator)|E(rrorException|mptyIterator|xception)|FilterIterator|LimitIterator|A(p(pendIterator|acheRequest)|rray(Iterator|Object)))(?=\s*\()</string>
3399
+ <key>name</key>
3400
+ <string>support.class.builtin.php</string>
3401
+ </dict>
3402
+ <dict>
3403
+ <key>match</key>
3404
+ <string>(?i)\b((print|echo)\b|(isset|unset|e(val|mpty)|list)(?=\s*\())</string>
3405
+ <key>name</key>
3406
+ <string>support.function.construct.php</string>
3407
+ </dict>
3408
+ </array>
3409
+ </dict>
3410
+ <key>var_basic</key>
3411
+ <dict>
3412
+ <key>captures</key>
3413
+ <dict>
3414
+ <key>1</key>
3415
+ <dict>
3416
+ <key>name</key>
3417
+ <string>punctuation.definition.variable.php</string>
3418
+ </dict>
3419
+ </dict>
3420
+ <key>match</key>
3421
+ <string>(?x)
3422
+ (\$+)[a-zA-Z_\x{7f}-\x{ff}]
3423
+ [a-zA-Z0-9_\x{7f}-\x{ff}]*?\b</string>
3424
+ <key>name</key>
3425
+ <string>variable.other.php</string>
3426
+ </dict>
3427
+ <key>var_global</key>
3428
+ <dict>
3429
+ <key>captures</key>
3430
+ <dict>
3431
+ <key>1</key>
3432
+ <dict>
3433
+ <key>name</key>
3434
+ <string>punctuation.definition.variable.php</string>
3435
+ </dict>
3436
+ </dict>
3437
+ <key>match</key>
3438
+ <string>(\$)(_(COOKIE|FILES|GET|POST|REQUEST))\b</string>
3439
+ <key>name</key>
3440
+ <string>variable.other.global.php</string>
3441
+ </dict>
3442
+ <key>var_global_safer</key>
3443
+ <dict>
3444
+ <key>captures</key>
3445
+ <dict>
3446
+ <key>2</key>
3447
+ <dict>
3448
+ <key>name</key>
3449
+ <string>punctuation.definition.variable.php</string>
3450
+ </dict>
3451
+ </dict>
3452
+ <key>match</key>
3453
+ <string>((\$)(GLOBALS|_(ENV|SERVER|SESSION)))|\b(global)\b</string>
3454
+ <key>name</key>
3455
+ <string>variable.other.global.safer.php</string>
3456
+ </dict>
3457
+ <key>variables</key>
3458
+ <dict>
3459
+ <key>patterns</key>
3460
+ <array>
3461
+ <dict>
3462
+ <key>include</key>
3463
+ <string>#var_global</string>
3464
+ </dict>
3465
+ <dict>
3466
+ <key>include</key>
3467
+ <string>#var_global_safer</string>
3468
+ </dict>
3469
+ <dict>
3470
+ <key>include</key>
3471
+ <string>#var_basic</string>
3472
+ </dict>
3473
+ </array>
3474
+ </dict>
3475
+ </dict>
3476
+ <key>scopeName</key>
3477
+ <string>source.php</string>
3478
+ <key>uuid</key>
3479
+ <string>22986475-8CA5-11D9-AEDD-000D93C8BE28</string>
3480
+ </dict>
3481
+ </plist>