pygments.rb 0.6.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +6 -6
  4. data/Rakefile +2 -1
  5. data/cache-lexers.rb +1 -1
  6. data/circle.yml +7 -0
  7. data/lib/pygments/lexer.rb +3 -3
  8. data/lib/pygments/popen.rb +67 -30
  9. data/lib/pygments/version.rb +1 -1
  10. data/pygments.rb.gemspec +2 -1
  11. data/test/test_pygments.rb +16 -16
  12. data/vendor/pygments-main/AUTHORS +54 -8
  13. data/vendor/pygments-main/CHANGES +247 -25
  14. data/vendor/pygments-main/LICENSE +1 -1
  15. data/vendor/pygments-main/Makefile +15 -6
  16. data/vendor/pygments-main/README.rst +39 -0
  17. data/vendor/pygments-main/REVISION +1 -1
  18. data/vendor/pygments-main/TODO +0 -3
  19. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +1 -1
  20. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +1 -1
  21. data/vendor/pygments-main/doc/conf.py +3 -11
  22. data/vendor/pygments-main/doc/docs/api.rst +15 -0
  23. data/vendor/pygments-main/doc/docs/cmdline.rst +6 -2
  24. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +4 -3
  25. data/vendor/pygments-main/doc/docs/integrate.rst +11 -15
  26. data/vendor/pygments-main/doc/docs/java.rst +7 -7
  27. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +258 -171
  28. data/vendor/pygments-main/doc/docs/lexers.rst +2 -2
  29. data/vendor/pygments-main/doc/docs/styles.rst +58 -0
  30. data/vendor/pygments-main/doc/docs/tokens.rst +22 -2
  31. data/vendor/pygments-main/doc/docs/unicode.rst +15 -7
  32. data/vendor/pygments-main/doc/faq.rst +17 -21
  33. data/vendor/pygments-main/doc/index.rst +12 -11
  34. data/vendor/pygments-main/doc/languages.rst +10 -7
  35. data/vendor/pygments-main/external/autopygmentize +9 -6
  36. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +70 -52
  37. data/vendor/pygments-main/external/markdown-processor.py +1 -1
  38. data/vendor/pygments-main/external/moin-parser.py +1 -1
  39. data/vendor/pygments-main/external/rst-directive.py +1 -1
  40. data/vendor/pygments-main/pygmentize +2 -1
  41. data/vendor/pygments-main/pygments/__init__.py +14 -15
  42. data/vendor/pygments-main/pygments/cmdline.py +188 -113
  43. data/vendor/pygments-main/pygments/console.py +13 -13
  44. data/vendor/pygments-main/pygments/filter.py +7 -7
  45. data/vendor/pygments-main/pygments/filters/__init__.py +24 -32
  46. data/vendor/pygments-main/pygments/formatter.py +5 -5
  47. data/vendor/pygments-main/pygments/formatters/__init__.py +92 -44
  48. data/vendor/pygments-main/pygments/formatters/_mapping.py +51 -69
  49. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  50. data/vendor/pygments-main/pygments/formatters/html.py +63 -51
  51. data/vendor/pygments-main/pygments/formatters/img.py +25 -22
  52. data/vendor/pygments-main/pygments/formatters/irc.py +182 -0
  53. data/vendor/pygments-main/pygments/formatters/latex.py +34 -22
  54. data/vendor/pygments-main/pygments/formatters/other.py +5 -7
  55. data/vendor/pygments-main/pygments/formatters/rtf.py +28 -31
  56. data/vendor/pygments-main/pygments/formatters/svg.py +1 -2
  57. data/vendor/pygments-main/pygments/formatters/terminal.py +29 -45
  58. data/vendor/pygments-main/pygments/formatters/terminal256.py +118 -31
  59. data/vendor/pygments-main/pygments/lexer.py +120 -34
  60. data/vendor/pygments-main/pygments/lexers/__init__.py +85 -53
  61. data/vendor/pygments-main/pygments/lexers/{_asybuiltins.py → _asy_builtins.py} +7 -7
  62. data/vendor/pygments-main/pygments/lexers/{_clbuiltins.py → _cl_builtins.py} +17 -17
  63. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +72 -0
  64. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1346 -0
  65. data/vendor/pygments-main/pygments/lexers/{_lassobuiltins.py → _lasso_builtins.py} +4699 -4561
  66. data/vendor/pygments-main/pygments/lexers/{_luabuiltins.py → _lua_builtins.py} +91 -51
  67. data/vendor/pygments-main/pygments/lexers/_mapping.py +342 -242
  68. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1172 -0
  69. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2547 -0
  70. data/vendor/pygments-main/pygments/lexers/{_phpbuiltins.py → _php_builtins.py} +350 -353
  71. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +600 -212
  72. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3084 -30
  73. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1163 -0
  74. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +91 -13
  75. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +419 -0
  76. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1004 -0
  77. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1939 -0
  78. data/vendor/pygments-main/pygments/lexers/actionscript.py +240 -0
  79. data/vendor/pygments-main/pygments/lexers/agile.py +14 -2542
  80. data/vendor/pygments-main/pygments/lexers/algebra.py +221 -0
  81. data/vendor/pygments-main/pygments/lexers/ambient.py +76 -0
  82. data/vendor/pygments-main/pygments/lexers/ampl.py +87 -0
  83. data/vendor/pygments-main/pygments/lexers/apl.py +101 -0
  84. data/vendor/pygments-main/pygments/lexers/archetype.py +318 -0
  85. data/vendor/pygments-main/pygments/lexers/asm.py +276 -81
  86. data/vendor/pygments-main/pygments/lexers/automation.py +374 -0
  87. data/vendor/pygments-main/pygments/lexers/basic.py +500 -0
  88. data/vendor/pygments-main/pygments/lexers/bibtex.py +156 -0
  89. data/vendor/pygments-main/pygments/lexers/business.py +594 -0
  90. data/vendor/pygments-main/pygments/lexers/c_cpp.py +252 -0
  91. data/vendor/pygments-main/pygments/lexers/c_like.py +541 -0
  92. data/vendor/pygments-main/pygments/lexers/capnproto.py +79 -0
  93. data/vendor/pygments-main/pygments/lexers/chapel.py +101 -0
  94. data/vendor/pygments-main/pygments/lexers/clean.py +288 -0
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +24 -5182
  96. data/vendor/pygments-main/pygments/lexers/configs.py +833 -0
  97. data/vendor/pygments-main/pygments/lexers/console.py +114 -0
  98. data/vendor/pygments-main/pygments/lexers/crystal.py +384 -0
  99. data/vendor/pygments-main/pygments/lexers/csound.py +366 -0
  100. data/vendor/pygments-main/pygments/lexers/css.py +689 -0
  101. data/vendor/pygments-main/pygments/lexers/d.py +251 -0
  102. data/vendor/pygments-main/pygments/lexers/dalvik.py +6 -6
  103. data/vendor/pygments-main/pygments/lexers/data.py +555 -0
  104. data/vendor/pygments-main/pygments/lexers/diff.py +165 -0
  105. data/vendor/pygments-main/pygments/lexers/dotnet.py +96 -88
  106. data/vendor/pygments-main/pygments/lexers/dsls.py +878 -0
  107. data/vendor/pygments-main/pygments/lexers/dylan.py +289 -0
  108. data/vendor/pygments-main/pygments/lexers/ecl.py +125 -0
  109. data/vendor/pygments-main/pygments/lexers/eiffel.py +65 -0
  110. data/vendor/pygments-main/pygments/lexers/elm.py +121 -0
  111. data/vendor/pygments-main/pygments/lexers/erlang.py +533 -0
  112. data/vendor/pygments-main/pygments/lexers/esoteric.py +275 -0
  113. data/vendor/pygments-main/pygments/lexers/ezhil.py +68 -0
  114. data/vendor/pygments-main/pygments/lexers/factor.py +344 -0
  115. data/vendor/pygments-main/pygments/lexers/fantom.py +250 -0
  116. data/vendor/pygments-main/pygments/lexers/felix.py +273 -0
  117. data/vendor/pygments-main/pygments/lexers/forth.py +177 -0
  118. data/vendor/pygments-main/pygments/lexers/fortran.py +205 -0
  119. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
  120. data/vendor/pygments-main/pygments/lexers/functional.py +11 -3661
  121. data/vendor/pygments-main/pygments/lexers/go.py +101 -0
  122. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +213 -0
  123. data/vendor/pygments-main/pygments/lexers/graph.py +7 -8
  124. data/vendor/pygments-main/pygments/lexers/graphics.py +553 -0
  125. data/vendor/pygments-main/pygments/lexers/haskell.py +840 -0
  126. data/vendor/pygments-main/pygments/lexers/haxe.py +936 -0
  127. data/vendor/pygments-main/pygments/lexers/hdl.py +172 -145
  128. data/vendor/pygments-main/pygments/lexers/hexdump.py +97 -0
  129. data/vendor/pygments-main/pygments/lexers/html.py +602 -0
  130. data/vendor/pygments-main/pygments/lexers/idl.py +270 -0
  131. data/vendor/pygments-main/pygments/lexers/igor.py +288 -0
  132. data/vendor/pygments-main/pygments/lexers/inferno.py +3 -3
  133. data/vendor/pygments-main/pygments/lexers/installers.py +322 -0
  134. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1343 -0
  135. data/vendor/pygments-main/pygments/lexers/iolang.py +63 -0
  136. data/vendor/pygments-main/pygments/lexers/j.py +146 -0
  137. data/vendor/pygments-main/pygments/lexers/javascript.py +1506 -0
  138. data/vendor/pygments-main/pygments/lexers/julia.py +333 -0
  139. data/vendor/pygments-main/pygments/lexers/jvm.py +232 -186
  140. data/vendor/pygments-main/pygments/lexers/lisp.py +2621 -0
  141. data/vendor/pygments-main/pygments/lexers/make.py +202 -0
  142. data/vendor/pygments-main/pygments/lexers/markup.py +595 -0
  143. data/vendor/pygments-main/pygments/lexers/math.py +11 -2276
  144. data/vendor/pygments-main/pygments/lexers/matlab.py +663 -0
  145. data/vendor/pygments-main/pygments/lexers/ml.py +769 -0
  146. data/vendor/pygments-main/pygments/lexers/modeling.py +358 -0
  147. data/vendor/pygments-main/pygments/lexers/modula2.py +1561 -0
  148. data/vendor/pygments-main/pygments/lexers/monte.py +203 -0
  149. data/vendor/pygments-main/pygments/lexers/ncl.py +1053 -0
  150. data/vendor/pygments-main/pygments/lexers/nimrod.py +159 -0
  151. data/vendor/pygments-main/pygments/lexers/nit.py +64 -0
  152. data/vendor/pygments-main/pygments/lexers/nix.py +136 -0
  153. data/vendor/pygments-main/pygments/lexers/oberon.py +105 -0
  154. data/vendor/pygments-main/pygments/lexers/objective.py +504 -0
  155. data/vendor/pygments-main/pygments/lexers/ooc.py +85 -0
  156. data/vendor/pygments-main/pygments/lexers/other.py +30 -4481
  157. data/vendor/pygments-main/pygments/lexers/parasail.py +79 -0
  158. data/vendor/pygments-main/pygments/lexers/parsers.py +171 -114
  159. data/vendor/pygments-main/pygments/lexers/pascal.py +644 -0
  160. data/vendor/pygments-main/pygments/lexers/pawn.py +199 -0
  161. data/vendor/pygments-main/pygments/lexers/perl.py +616 -0
  162. data/vendor/pygments-main/pygments/lexers/php.py +267 -0
  163. data/vendor/pygments-main/pygments/lexers/praat.py +294 -0
  164. data/vendor/pygments-main/pygments/lexers/prolog.py +306 -0
  165. data/vendor/pygments-main/pygments/lexers/python.py +938 -0
  166. data/vendor/pygments-main/pygments/lexers/qvt.py +152 -0
  167. data/vendor/pygments-main/pygments/lexers/r.py +453 -0
  168. data/vendor/pygments-main/pygments/lexers/rdf.py +195 -24
  169. data/vendor/pygments-main/pygments/lexers/rebol.py +431 -0
  170. data/vendor/pygments-main/pygments/lexers/resource.py +85 -0
  171. data/vendor/pygments-main/pygments/lexers/rnc.py +67 -0
  172. data/vendor/pygments-main/pygments/lexers/roboconf.py +82 -0
  173. data/vendor/pygments-main/pygments/lexers/{_robotframeworklexer.py → robotframework.py} +20 -18
  174. data/vendor/pygments-main/pygments/lexers/ruby.py +519 -0
  175. data/vendor/pygments-main/pygments/lexers/rust.py +209 -0
  176. data/vendor/pygments-main/pygments/lexers/sas.py +228 -0
  177. data/vendor/pygments-main/pygments/lexers/scripting.py +1222 -0
  178. data/vendor/pygments-main/pygments/lexers/shell.py +478 -115
  179. data/vendor/pygments-main/pygments/lexers/smalltalk.py +195 -0
  180. data/vendor/pygments-main/pygments/lexers/smv.py +75 -0
  181. data/vendor/pygments-main/pygments/lexers/snobol.py +83 -0
  182. data/vendor/pygments-main/pygments/lexers/special.py +6 -2
  183. data/vendor/pygments-main/pygments/lexers/sql.py +209 -120
  184. data/vendor/pygments-main/pygments/lexers/stata.py +106 -0
  185. data/vendor/pygments-main/pygments/lexers/supercollider.py +90 -0
  186. data/vendor/pygments-main/pygments/lexers/tcl.py +145 -0
  187. data/vendor/pygments-main/pygments/lexers/templates.py +282 -90
  188. data/vendor/pygments-main/pygments/lexers/testing.py +207 -0
  189. data/vendor/pygments-main/pygments/lexers/text.py +15 -2045
  190. data/vendor/pygments-main/pygments/lexers/textedit.py +169 -0
  191. data/vendor/pygments-main/pygments/lexers/textfmts.py +297 -0
  192. data/vendor/pygments-main/pygments/lexers/theorem.py +458 -0
  193. data/vendor/pygments-main/pygments/lexers/trafficscript.py +54 -0
  194. data/vendor/pygments-main/pygments/lexers/typoscript.py +225 -0
  195. data/vendor/pygments-main/pygments/lexers/urbi.py +133 -0
  196. data/vendor/pygments-main/pygments/lexers/varnish.py +190 -0
  197. data/vendor/pygments-main/pygments/lexers/verification.py +111 -0
  198. data/vendor/pygments-main/pygments/lexers/web.py +13 -4499
  199. data/vendor/pygments-main/pygments/lexers/webmisc.py +979 -0
  200. data/vendor/pygments-main/pygments/lexers/whiley.py +117 -0
  201. data/vendor/pygments-main/pygments/lexers/x10.py +69 -0
  202. data/vendor/pygments-main/pygments/modeline.py +5 -2
  203. data/vendor/pygments-main/pygments/plugin.py +1 -1
  204. data/vendor/pygments-main/pygments/regexopt.py +92 -0
  205. data/vendor/pygments-main/pygments/scanner.py +3 -2
  206. data/vendor/pygments-main/pygments/sphinxext.py +11 -6
  207. data/vendor/pygments-main/pygments/style.py +41 -4
  208. data/vendor/pygments-main/pygments/styles/__init__.py +5 -1
  209. data/vendor/pygments-main/pygments/styles/algol.py +63 -0
  210. data/vendor/pygments-main/pygments/styles/algol_nu.py +63 -0
  211. data/vendor/pygments-main/pygments/styles/arduino.py +98 -0
  212. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  213. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  214. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  215. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  216. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  217. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  218. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  219. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  220. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  221. data/vendor/pygments-main/pygments/styles/lovelace.py +97 -0
  222. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  223. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  224. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  225. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  226. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  227. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  228. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  229. data/vendor/pygments-main/pygments/styles/perldoc.py +2 -2
  230. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  231. data/vendor/pygments-main/pygments/styles/sas.py +41 -0
  232. data/vendor/pygments-main/pygments/styles/stata.py +37 -0
  233. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  234. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  235. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  236. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  237. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  238. data/vendor/pygments-main/pygments/token.py +31 -16
  239. data/vendor/pygments-main/pygments/unistring.py +141 -65
  240. data/vendor/pygments-main/pygments/util.py +129 -33
  241. data/vendor/pygments-main/requirements.txt +5 -0
  242. data/vendor/pygments-main/scripts/check_sources.py +25 -40
  243. data/vendor/pygments-main/scripts/debug_lexer.py +246 -0
  244. data/vendor/pygments-main/scripts/find_error.py +1 -0
  245. data/vendor/pygments-main/scripts/get_vimkw.py +35 -4
  246. data/vendor/pygments-main/setup.cfg +3 -0
  247. data/vendor/pygments-main/setup.py +17 -30
  248. data/vendor/pygments-main/tox.ini +7 -0
  249. metadata +159 -387
  250. data/vendor/pygments-main/ez_setup.py +0 -382
  251. data/vendor/pygments-main/pygments/lexers/_cocoabuiltins.py +0 -73
  252. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +0 -562
  253. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +0 -1077
  254. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +0 -13
  255. data/vendor/pygments-main/pygments/lexers/qbasic.py +0 -157
  256. data/vendor/pygments-main/scripts/find_codetags.py +0 -213
  257. data/vendor/pygments-main/scripts/find_error.py +0 -173
  258. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +0 -37
  259. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +0 -869
  260. data/vendor/pygments-main/tests/dtds/HTML4.dcl +0 -88
  261. data/vendor/pygments-main/tests/dtds/HTML4.dtd +0 -1092
  262. data/vendor/pygments-main/tests/dtds/HTML4.soc +0 -9
  263. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +0 -195
  264. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +0 -77
  265. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +0 -241
  266. data/vendor/pygments-main/tests/examplefiles/99_bottles_of_beer.chpl +0 -118
  267. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +0 -209
  268. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +0 -102
  269. data/vendor/pygments-main/tests/examplefiles/BOM.js +0 -1
  270. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +0 -611
  271. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +0 -1973
  272. data/vendor/pygments-main/tests/examplefiles/Constants.mo +0 -158
  273. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +0 -411
  274. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +0 -578
  275. data/vendor/pygments-main/tests/examplefiles/Error.pmod +0 -38
  276. data/vendor/pygments-main/tests/examplefiles/Errors.scala +0 -18
  277. data/vendor/pygments-main/tests/examplefiles/FakeFile.pike +0 -360
  278. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +0 -66
  279. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +0 -104
  280. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +0 -671
  281. data/vendor/pygments-main/tests/examplefiles/Intro.java +0 -1660
  282. data/vendor/pygments-main/tests/examplefiles/Makefile +0 -1131
  283. data/vendor/pygments-main/tests/examplefiles/Object.st +0 -4394
  284. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +0 -584
  285. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +0 -23
  286. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +0 -378
  287. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +0 -470
  288. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +0 -382
  289. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +0 -30
  290. data/vendor/pygments-main/tests/examplefiles/antlr_ANTLRv3.g +0 -608
  291. data/vendor/pygments-main/tests/examplefiles/antlr_throws +0 -1
  292. data/vendor/pygments-main/tests/examplefiles/apache2.conf +0 -393
  293. data/vendor/pygments-main/tests/examplefiles/as3_test.as +0 -143
  294. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +0 -46
  295. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +0 -3
  296. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +0 -27
  297. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +0 -25
  298. data/vendor/pygments-main/tests/examplefiles/badcase.java +0 -2
  299. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +0 -49
  300. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +0 -308
  301. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +0 -1557
  302. data/vendor/pygments-main/tests/examplefiles/ca65_example +0 -284
  303. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +0 -9
  304. data/vendor/pygments-main/tests/examplefiles/cells.ps +0 -515
  305. data/vendor/pygments-main/tests/examplefiles/ceval.c +0 -2604
  306. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +0 -13
  307. data/vendor/pygments-main/tests/examplefiles/classes.dylan +0 -125
  308. data/vendor/pygments-main/tests/examplefiles/clojure-weird-keywords.clj +0 -5
  309. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +0 -10
  310. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +0 -447
  311. data/vendor/pygments-main/tests/examplefiles/core.cljs +0 -52
  312. data/vendor/pygments-main/tests/examplefiles/database.pytb +0 -20
  313. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +0 -2461
  314. data/vendor/pygments-main/tests/examplefiles/demo.ahk +0 -181
  315. data/vendor/pygments-main/tests/examplefiles/demo.cfm +0 -50
  316. data/vendor/pygments-main/tests/examplefiles/demo.hbs +0 -12
  317. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +0 -68
  318. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +0 -17
  319. data/vendor/pygments-main/tests/examplefiles/ember.handlebars +0 -33
  320. data/vendor/pygments-main/tests/examplefiles/erl_session +0 -10
  321. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +0 -1
  322. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +0 -48
  323. data/vendor/pygments-main/tests/examplefiles/example.Rd +0 -78
  324. data/vendor/pygments-main/tests/examplefiles/example.als +0 -217
  325. data/vendor/pygments-main/tests/examplefiles/example.bug +0 -54
  326. data/vendor/pygments-main/tests/examplefiles/example.c +0 -2080
  327. data/vendor/pygments-main/tests/examplefiles/example.ceylon +0 -52
  328. data/vendor/pygments-main/tests/examplefiles/example.chai +0 -6
  329. data/vendor/pygments-main/tests/examplefiles/example.clay +0 -33
  330. data/vendor/pygments-main/tests/examplefiles/example.cls +0 -15
  331. data/vendor/pygments-main/tests/examplefiles/example.cob +0 -3556
  332. data/vendor/pygments-main/tests/examplefiles/example.coffee +0 -27
  333. data/vendor/pygments-main/tests/examplefiles/example.cpp +0 -2363
  334. data/vendor/pygments-main/tests/examplefiles/example.e +0 -124
  335. data/vendor/pygments-main/tests/examplefiles/example.f90 +0 -8
  336. data/vendor/pygments-main/tests/examplefiles/example.feature +0 -16
  337. data/vendor/pygments-main/tests/examplefiles/example.gd +0 -23
  338. data/vendor/pygments-main/tests/examplefiles/example.gi +0 -64
  339. data/vendor/pygments-main/tests/examplefiles/example.groovy +0 -2
  340. data/vendor/pygments-main/tests/examplefiles/example.gs +0 -106
  341. data/vendor/pygments-main/tests/examplefiles/example.gst +0 -7
  342. data/vendor/pygments-main/tests/examplefiles/example.hs +0 -27
  343. data/vendor/pygments-main/tests/examplefiles/example.hx +0 -185
  344. data/vendor/pygments-main/tests/examplefiles/example.i6t +0 -32
  345. data/vendor/pygments-main/tests/examplefiles/example.i7x +0 -45
  346. data/vendor/pygments-main/tests/examplefiles/example.inf +0 -374
  347. data/vendor/pygments-main/tests/examplefiles/example.j +0 -564
  348. data/vendor/pygments-main/tests/examplefiles/example.jag +0 -48
  349. data/vendor/pygments-main/tests/examplefiles/example.java +0 -16
  350. data/vendor/pygments-main/tests/examplefiles/example.kal +0 -75
  351. data/vendor/pygments-main/tests/examplefiles/example.kt +0 -47
  352. data/vendor/pygments-main/tests/examplefiles/example.lagda +0 -19
  353. data/vendor/pygments-main/tests/examplefiles/example.liquid +0 -42
  354. data/vendor/pygments-main/tests/examplefiles/example.lua +0 -250
  355. data/vendor/pygments-main/tests/examplefiles/example.ma +0 -8
  356. data/vendor/pygments-main/tests/examplefiles/example.monkey +0 -152
  357. data/vendor/pygments-main/tests/examplefiles/example.moo +0 -26
  358. data/vendor/pygments-main/tests/examplefiles/example.moon +0 -629
  359. data/vendor/pygments-main/tests/examplefiles/example.mq4 +0 -187
  360. data/vendor/pygments-main/tests/examplefiles/example.mqh +0 -123
  361. data/vendor/pygments-main/tests/examplefiles/example.msc +0 -43
  362. data/vendor/pygments-main/tests/examplefiles/example.ni +0 -57
  363. data/vendor/pygments-main/tests/examplefiles/example.nim +0 -1010
  364. data/vendor/pygments-main/tests/examplefiles/example.nix +0 -80
  365. data/vendor/pygments-main/tests/examplefiles/example.ns2 +0 -69
  366. data/vendor/pygments-main/tests/examplefiles/example.pas +0 -2708
  367. data/vendor/pygments-main/tests/examplefiles/example.pp +0 -8
  368. data/vendor/pygments-main/tests/examplefiles/example.prg +0 -161
  369. data/vendor/pygments-main/tests/examplefiles/example.rb +0 -1852
  370. data/vendor/pygments-main/tests/examplefiles/example.red +0 -257
  371. data/vendor/pygments-main/tests/examplefiles/example.reds +0 -150
  372. data/vendor/pygments-main/tests/examplefiles/example.reg +0 -19
  373. data/vendor/pygments-main/tests/examplefiles/example.rexx +0 -50
  374. data/vendor/pygments-main/tests/examplefiles/example.rhtml +0 -561
  375. data/vendor/pygments-main/tests/examplefiles/example.rkt +0 -743
  376. data/vendor/pygments-main/tests/examplefiles/example.rpf +0 -4
  377. data/vendor/pygments-main/tests/examplefiles/example.sh +0 -22
  378. data/vendor/pygments-main/tests/examplefiles/example.sh-session +0 -19
  379. data/vendor/pygments-main/tests/examplefiles/example.shell-session +0 -45
  380. data/vendor/pygments-main/tests/examplefiles/example.slim +0 -31
  381. data/vendor/pygments-main/tests/examplefiles/example.sls +0 -51
  382. data/vendor/pygments-main/tests/examplefiles/example.sml +0 -156
  383. data/vendor/pygments-main/tests/examplefiles/example.snobol +0 -15
  384. data/vendor/pygments-main/tests/examplefiles/example.stan +0 -110
  385. data/vendor/pygments-main/tests/examplefiles/example.tea +0 -34
  386. data/vendor/pygments-main/tests/examplefiles/example.todotxt +0 -9
  387. data/vendor/pygments-main/tests/examplefiles/example.ts +0 -28
  388. data/vendor/pygments-main/tests/examplefiles/example.u +0 -548
  389. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +0 -9
  390. data/vendor/pygments-main/tests/examplefiles/example.xhtml +0 -376
  391. data/vendor/pygments-main/tests/examplefiles/example.xtend +0 -34
  392. data/vendor/pygments-main/tests/examplefiles/example.yaml +0 -302
  393. data/vendor/pygments-main/tests/examplefiles/example2.aspx +0 -29
  394. data/vendor/pygments-main/tests/examplefiles/example2.msc +0 -79
  395. data/vendor/pygments-main/tests/examplefiles/exampleScript.cfc +0 -241
  396. data/vendor/pygments-main/tests/examplefiles/exampleTag.cfc +0 -18
  397. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +0 -205
  398. data/vendor/pygments-main/tests/examplefiles/example_file.fy +0 -128
  399. data/vendor/pygments-main/tests/examplefiles/firefox.mak +0 -586
  400. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +0 -19
  401. data/vendor/pygments-main/tests/examplefiles/foo.sce +0 -6
  402. data/vendor/pygments-main/tests/examplefiles/format.ml +0 -1213
  403. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +0 -77
  404. data/vendor/pygments-main/tests/examplefiles/function.mu +0 -1
  405. data/vendor/pygments-main/tests/examplefiles/functional.rst +0 -1472
  406. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +0 -133
  407. data/vendor/pygments-main/tests/examplefiles/genclass.clj +0 -510
  408. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +0 -193
  409. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +0 -33
  410. data/vendor/pygments-main/tests/examplefiles/glsl.frag +0 -7
  411. data/vendor/pygments-main/tests/examplefiles/glsl.vert +0 -13
  412. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +0 -22
  413. data/vendor/pygments-main/tests/examplefiles/hash_syntax.rb +0 -5
  414. data/vendor/pygments-main/tests/examplefiles/hello.at +0 -6
  415. data/vendor/pygments-main/tests/examplefiles/hello.golo +0 -5
  416. data/vendor/pygments-main/tests/examplefiles/hello.lsl +0 -12
  417. data/vendor/pygments-main/tests/examplefiles/hello.smali +0 -40
  418. data/vendor/pygments-main/tests/examplefiles/hello.sp +0 -9
  419. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +0 -1
  420. data/vendor/pygments-main/tests/examplefiles/http_request_example +0 -15
  421. data/vendor/pygments-main/tests/examplefiles/http_response_example +0 -29
  422. data/vendor/pygments-main/tests/examplefiles/hybris_File.hy +0 -174
  423. data/vendor/pygments-main/tests/examplefiles/idl_sample.pro +0 -73
  424. data/vendor/pygments-main/tests/examplefiles/iex_example +0 -23
  425. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +0 -71
  426. data/vendor/pygments-main/tests/examplefiles/intro.ik +0 -24
  427. data/vendor/pygments-main/tests/examplefiles/ints.php +0 -10
  428. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +0 -675
  429. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +0 -286
  430. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +0 -8
  431. data/vendor/pygments-main/tests/examplefiles/irc.lsp +0 -214
  432. data/vendor/pygments-main/tests/examplefiles/java.properties +0 -16
  433. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +0 -28
  434. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +0 -45
  435. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +0 -713
  436. data/vendor/pygments-main/tests/examplefiles/json.lasso +0 -301
  437. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +0 -213
  438. data/vendor/pygments-main/tests/examplefiles/language.hy +0 -165
  439. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +0 -13
  440. data/vendor/pygments-main/tests/examplefiles/limbo.b +0 -456
  441. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +0 -47
  442. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +0 -43
  443. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +0 -28
  444. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +0 -2849
  445. data/vendor/pygments-main/tests/examplefiles/main.cmake +0 -44
  446. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +0 -679
  447. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +0 -3
  448. data/vendor/pygments-main/tests/examplefiles/matlab_sample +0 -30
  449. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +0 -37
  450. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +0 -455
  451. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +0 -112
  452. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +0 -4
  453. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +0 -340
  454. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +0 -38
  455. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +0 -95
  456. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +0 -96
  457. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +0 -30
  458. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +0 -87
  459. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +0 -118
  460. data/vendor/pygments-main/tests/examplefiles/numbers.c +0 -12
  461. data/vendor/pygments-main/tests/examplefiles/objc_example.m +0 -179
  462. data/vendor/pygments-main/tests/examplefiles/openedge_example +0 -34
  463. data/vendor/pygments-main/tests/examplefiles/pawn_example +0 -25
  464. data/vendor/pygments-main/tests/examplefiles/perl_misc +0 -62
  465. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +0 -998
  466. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +0 -120
  467. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +0 -856
  468. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +0 -163
  469. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +0 -567
  470. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +0 -1223
  471. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +0 -47
  472. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +0 -10
  473. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +0 -122
  474. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +0 -2
  475. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +0 -4
  476. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +0 -14
  477. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +0 -2
  478. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +0 -4
  479. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +0 -234
  480. data/vendor/pygments-main/tests/examplefiles/qbasic_example +0 -2
  481. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +0 -13
  482. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +0 -38
  483. data/vendor/pygments-main/tests/examplefiles/r6rs-comments.scm +0 -23
  484. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +0 -280
  485. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +0 -2
  486. data/vendor/pygments-main/tests/examplefiles/regex.js +0 -22
  487. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +0 -427
  488. data/vendor/pygments-main/tests/examplefiles/robotframework_test.txt +0 -39
  489. data/vendor/pygments-main/tests/examplefiles/rql-queries.rql +0 -34
  490. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +0 -11
  491. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +0 -233
  492. data/vendor/pygments-main/tests/examplefiles/scilab.sci +0 -30
  493. data/vendor/pygments-main/tests/examplefiles/scope.cirru +0 -43
  494. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +0 -9
  495. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +0 -19
  496. data/vendor/pygments-main/tests/examplefiles/simple.md +0 -747
  497. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +0 -209
  498. data/vendor/pygments-main/tests/examplefiles/source.lgt +0 -343
  499. data/vendor/pygments-main/tests/examplefiles/sources.list +0 -62
  500. data/vendor/pygments-main/tests/examplefiles/sparql.rq +0 -23
  501. data/vendor/pygments-main/tests/examplefiles/sphere.pov +0 -18
  502. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +0 -27
  503. data/vendor/pygments-main/tests/examplefiles/squid.conf +0 -30
  504. data/vendor/pygments-main/tests/examplefiles/string.jl +0 -1031
  505. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +0 -21
  506. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +0 -3
  507. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +0 -1329
  508. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +0 -225
  509. data/vendor/pygments-main/tests/examplefiles/test.R +0 -185
  510. data/vendor/pygments-main/tests/examplefiles/test.adb +0 -211
  511. data/vendor/pygments-main/tests/examplefiles/test.agda +0 -102
  512. data/vendor/pygments-main/tests/examplefiles/test.apl +0 -26
  513. data/vendor/pygments-main/tests/examplefiles/test.asy +0 -131
  514. data/vendor/pygments-main/tests/examplefiles/test.awk +0 -121
  515. data/vendor/pygments-main/tests/examplefiles/test.bb +0 -95
  516. data/vendor/pygments-main/tests/examplefiles/test.bmx +0 -145
  517. data/vendor/pygments-main/tests/examplefiles/test.boo +0 -39
  518. data/vendor/pygments-main/tests/examplefiles/test.bro +0 -250
  519. data/vendor/pygments-main/tests/examplefiles/test.cs +0 -374
  520. data/vendor/pygments-main/tests/examplefiles/test.css +0 -54
  521. data/vendor/pygments-main/tests/examplefiles/test.cu +0 -36
  522. data/vendor/pygments-main/tests/examplefiles/test.cyp +0 -123
  523. data/vendor/pygments-main/tests/examplefiles/test.d +0 -135
  524. data/vendor/pygments-main/tests/examplefiles/test.dart +0 -23
  525. data/vendor/pygments-main/tests/examplefiles/test.dtd +0 -89
  526. data/vendor/pygments-main/tests/examplefiles/test.ebnf +0 -31
  527. data/vendor/pygments-main/tests/examplefiles/test.ec +0 -605
  528. data/vendor/pygments-main/tests/examplefiles/test.ecl +0 -58
  529. data/vendor/pygments-main/tests/examplefiles/test.eh +0 -315
  530. data/vendor/pygments-main/tests/examplefiles/test.erl +0 -169
  531. data/vendor/pygments-main/tests/examplefiles/test.evoque +0 -33
  532. data/vendor/pygments-main/tests/examplefiles/test.fan +0 -818
  533. data/vendor/pygments-main/tests/examplefiles/test.flx +0 -57
  534. data/vendor/pygments-main/tests/examplefiles/test.gdc +0 -13
  535. data/vendor/pygments-main/tests/examplefiles/test.groovy +0 -97
  536. data/vendor/pygments-main/tests/examplefiles/test.html +0 -339
  537. data/vendor/pygments-main/tests/examplefiles/test.idr +0 -93
  538. data/vendor/pygments-main/tests/examplefiles/test.ini +0 -10
  539. data/vendor/pygments-main/tests/examplefiles/test.java +0 -653
  540. data/vendor/pygments-main/tests/examplefiles/test.jsp +0 -24
  541. data/vendor/pygments-main/tests/examplefiles/test.maql +0 -45
  542. data/vendor/pygments-main/tests/examplefiles/test.mask +0 -41
  543. data/vendor/pygments-main/tests/examplefiles/test.mod +0 -374
  544. data/vendor/pygments-main/tests/examplefiles/test.moo +0 -51
  545. data/vendor/pygments-main/tests/examplefiles/test.myt +0 -166
  546. data/vendor/pygments-main/tests/examplefiles/test.nim +0 -93
  547. data/vendor/pygments-main/tests/examplefiles/test.opa +0 -10
  548. data/vendor/pygments-main/tests/examplefiles/test.p6 +0 -252
  549. data/vendor/pygments-main/tests/examplefiles/test.pan +0 -54
  550. data/vendor/pygments-main/tests/examplefiles/test.pas +0 -743
  551. data/vendor/pygments-main/tests/examplefiles/test.php +0 -507
  552. data/vendor/pygments-main/tests/examplefiles/test.pig +0 -148
  553. data/vendor/pygments-main/tests/examplefiles/test.plot +0 -333
  554. data/vendor/pygments-main/tests/examplefiles/test.ps1 +0 -108
  555. data/vendor/pygments-main/tests/examplefiles/test.pwn +0 -253
  556. data/vendor/pygments-main/tests/examplefiles/test.pypylog +0 -1839
  557. data/vendor/pygments-main/tests/examplefiles/test.r3 +0 -114
  558. data/vendor/pygments-main/tests/examplefiles/test.rb +0 -177
  559. data/vendor/pygments-main/tests/examplefiles/test.rhtml +0 -43
  560. data/vendor/pygments-main/tests/examplefiles/test.rsl +0 -111
  561. data/vendor/pygments-main/tests/examplefiles/test.scaml +0 -8
  562. data/vendor/pygments-main/tests/examplefiles/test.ssp +0 -12
  563. data/vendor/pygments-main/tests/examplefiles/test.swift +0 -65
  564. data/vendor/pygments-main/tests/examplefiles/test.tcsh +0 -830
  565. data/vendor/pygments-main/tests/examplefiles/test.vb +0 -407
  566. data/vendor/pygments-main/tests/examplefiles/test.vhdl +0 -161
  567. data/vendor/pygments-main/tests/examplefiles/test.xqy +0 -138
  568. data/vendor/pygments-main/tests/examplefiles/test.xsl +0 -23
  569. data/vendor/pygments-main/tests/examplefiles/test.zep +0 -33
  570. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +0 -120
  571. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +0 -15
  572. data/vendor/pygments-main/tests/examplefiles/type.lisp +0 -1218
  573. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +0 -603
  574. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +0 -5
  575. data/vendor/pygments-main/tests/examplefiles/unicode.go +0 -10
  576. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +0 -11
  577. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +0 -37
  578. data/vendor/pygments-main/tests/examplefiles/vbnet_test.bas +0 -29
  579. data/vendor/pygments-main/tests/examplefiles/vctreestatus_hg +0 -4
  580. data/vendor/pygments-main/tests/examplefiles/vimrc +0 -21
  581. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +0 -3
  582. data/vendor/pygments-main/tests/examplefiles/while.pov +0 -13
  583. data/vendor/pygments-main/tests/examplefiles/wiki.factor +0 -384
  584. data/vendor/pygments-main/tests/examplefiles/xml_example +0 -1897
  585. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +0 -798
  586. data/vendor/pygments-main/tests/run.py +0 -44
  587. data/vendor/pygments-main/tests/string_asserts.py +0 -22
  588. data/vendor/pygments-main/tests/support.py +0 -15
  589. data/vendor/pygments-main/tests/support/tags +0 -36
  590. data/vendor/pygments-main/tests/test_basic_api.py +0 -309
  591. data/vendor/pygments-main/tests/test_cfm.py +0 -46
  592. data/vendor/pygments-main/tests/test_clexer.py +0 -236
  593. data/vendor/pygments-main/tests/test_cmdline.py +0 -106
  594. data/vendor/pygments-main/tests/test_examplefiles.py +0 -110
  595. data/vendor/pygments-main/tests/test_html_formatter.py +0 -180
  596. data/vendor/pygments-main/tests/test_latex_formatter.py +0 -57
  597. data/vendor/pygments-main/tests/test_lexers_other.py +0 -68
  598. data/vendor/pygments-main/tests/test_objectiveclexer.py +0 -81
  599. data/vendor/pygments-main/tests/test_perllexer.py +0 -137
  600. data/vendor/pygments-main/tests/test_qbasiclexer.py +0 -43
  601. data/vendor/pygments-main/tests/test_regexlexer.py +0 -54
  602. data/vendor/pygments-main/tests/test_rtf_formatter.py +0 -109
  603. data/vendor/pygments-main/tests/test_string_asserts.py +0 -39
  604. data/vendor/pygments-main/tests/test_token.py +0 -46
  605. data/vendor/pygments-main/tests/test_using_api.py +0 -40
  606. data/vendor/pygments-main/tests/test_util.py +0 -135
@@ -0,0 +1,374 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.automation
4
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexers for automation scripting languages.
7
+
8
+ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ from pygments.lexer import RegexLexer, include, bygroups, combined
13
+ from pygments.token import Text, Comment, Operator, Name, String, \
14
+ Number, Punctuation, Generic
15
+
16
+ __all__ = ['AutohotkeyLexer', 'AutoItLexer']
17
+
18
+
19
+ class AutohotkeyLexer(RegexLexer):
20
+ """
21
+ For `autohotkey <http://www.autohotkey.com/>`_ source code.
22
+
23
+ .. versionadded:: 1.4
24
+ """
25
+ name = 'autohotkey'
26
+ aliases = ['ahk', 'autohotkey']
27
+ filenames = ['*.ahk', '*.ahkl']
28
+ mimetypes = ['text/x-autohotkey']
29
+
30
+ tokens = {
31
+ 'root': [
32
+ (r'^(\s*)(/\*)', bygroups(Text, Comment.Multiline), 'incomment'),
33
+ (r'^(\s*)(\()', bygroups(Text, Generic), 'incontinuation'),
34
+ (r'\s+;.*?$', Comment.Singleline),
35
+ (r'^;.*?$', Comment.Singleline),
36
+ (r'[]{}(),;[]', Punctuation),
37
+ (r'(in|is|and|or|not)\b', Operator.Word),
38
+ (r'\%[a-zA-Z_#@$][\w#@$]*\%', Name.Variable),
39
+ (r'!=|==|:=|\.=|<<|>>|[-~+/*%=<>&^|?:!.]', Operator),
40
+ include('commands'),
41
+ include('labels'),
42
+ include('builtInFunctions'),
43
+ include('builtInVariables'),
44
+ (r'"', String, combined('stringescape', 'dqs')),
45
+ include('numbers'),
46
+ (r'[a-zA-Z_#@$][\w#@$]*', Name),
47
+ (r'\\|\'', Text),
48
+ (r'\`([,%`abfnrtv\-+;])', String.Escape),
49
+ include('garbage'),
50
+ ],
51
+ 'incomment': [
52
+ (r'^\s*\*/', Comment.Multiline, '#pop'),
53
+ (r'[^*/]', Comment.Multiline),
54
+ (r'[*/]', Comment.Multiline)
55
+ ],
56
+ 'incontinuation': [
57
+ (r'^\s*\)', Generic, '#pop'),
58
+ (r'[^)]', Generic),
59
+ (r'[)]', Generic),
60
+ ],
61
+ 'commands': [
62
+ (r'(?i)^(\s*)(global|local|static|'
63
+ r'#AllowSameLineComments|#ClipboardTimeout|#CommentFlag|'
64
+ r'#ErrorStdOut|#EscapeChar|#HotkeyInterval|#HotkeyModifierTimeout|'
65
+ r'#Hotstring|#IfWinActive|#IfWinExist|#IfWinNotActive|'
66
+ r'#IfWinNotExist|#IncludeAgain|#Include|#InstallKeybdHook|'
67
+ r'#InstallMouseHook|#KeyHistory|#LTrim|#MaxHotkeysPerInterval|'
68
+ r'#MaxMem|#MaxThreads|#MaxThreadsBuffer|#MaxThreadsPerHotkey|'
69
+ r'#NoEnv|#NoTrayIcon|#Persistent|#SingleInstance|#UseHook|'
70
+ r'#WinActivateForce|AutoTrim|BlockInput|Break|Click|ClipWait|'
71
+ r'Continue|Control|ControlClick|ControlFocus|ControlGetFocus|'
72
+ r'ControlGetPos|ControlGetText|ControlGet|ControlMove|ControlSend|'
73
+ r'ControlSendRaw|ControlSetText|CoordMode|Critical|'
74
+ r'DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|'
75
+ r'DriveSpaceFree|Edit|Else|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|'
76
+ r'EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|'
77
+ r'FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|'
78
+ r'FileDelete|FileGetAttrib|FileGetShortcut|FileGetSize|'
79
+ r'FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|'
80
+ r'FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|'
81
+ r'FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|'
82
+ r'FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|'
83
+ r'GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|'
84
+ r'GuiControlGet|Hotkey|IfEqual|IfExist|IfGreaterOrEqual|IfGreater|'
85
+ r'IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|'
86
+ r'IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|'
87
+ r'IfWinNotExist|If |ImageSearch|IniDelete|IniRead|IniWrite|'
88
+ r'InputBox|Input|KeyHistory|KeyWait|ListHotkeys|ListLines|'
89
+ r'ListVars|Loop|Menu|MouseClickDrag|MouseClick|MouseGetPos|'
90
+ r'MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|'
91
+ r'PixelSearch|PostMessage|Process|Progress|Random|RegDelete|'
92
+ r'RegRead|RegWrite|Reload|Repeat|Return|RunAs|RunWait|Run|'
93
+ r'SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|Send|'
94
+ r'SetBatchLines|SetCapslockState|SetControlDelay|'
95
+ r'SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|'
96
+ r'SetMouseDelay|SetNumlockState|SetScrollLockState|'
97
+ r'SetStoreCapslockMode|SetTimer|SetTitleMatchMode|'
98
+ r'SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|'
99
+ r'SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|'
100
+ r'SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|'
101
+ r'SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|'
102
+ r'StringGetPos|StringLeft|StringLen|StringLower|StringMid|'
103
+ r'StringReplace|StringRight|StringSplit|StringTrimLeft|'
104
+ r'StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|'
105
+ r'Transform|TrayTip|URLDownloadToFile|While|WinActivate|'
106
+ r'WinActivateBottom|WinClose|WinGetActiveStats|WinGetActiveTitle|'
107
+ r'WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinGet|WinHide|'
108
+ r'WinKill|WinMaximize|WinMenuSelectItem|WinMinimizeAllUndo|'
109
+ r'WinMinimizeAll|WinMinimize|WinMove|WinRestore|WinSetTitle|'
110
+ r'WinSet|WinShow|WinWaitActive|WinWaitClose|WinWaitNotActive|'
111
+ r'WinWait)\b', bygroups(Text, Name.Builtin)),
112
+ ],
113
+ 'builtInFunctions': [
114
+ (r'(?i)(Abs|ACos|Asc|ASin|ATan|Ceil|Chr|Cos|DllCall|Exp|FileExist|'
115
+ r'Floor|GetKeyState|IL_Add|IL_Create|IL_Destroy|InStr|IsFunc|'
116
+ r'IsLabel|Ln|Log|LV_Add|LV_Delete|LV_DeleteCol|LV_GetCount|'
117
+ r'LV_GetNext|LV_GetText|LV_Insert|LV_InsertCol|LV_Modify|'
118
+ r'LV_ModifyCol|LV_SetImageList|Mod|NumGet|NumPut|OnMessage|'
119
+ r'RegExMatch|RegExReplace|RegisterCallback|Round|SB_SetIcon|'
120
+ r'SB_SetParts|SB_SetText|Sin|Sqrt|StrLen|SubStr|Tan|TV_Add|'
121
+ r'TV_Delete|TV_GetChild|TV_GetCount|TV_GetNext|TV_Get|'
122
+ r'TV_GetParent|TV_GetPrev|TV_GetSelection|TV_GetText|TV_Modify|'
123
+ r'VarSetCapacity|WinActive|WinExist|Object|ComObjActive|'
124
+ r'ComObjArray|ComObjEnwrap|ComObjUnwrap|ComObjParameter|'
125
+ r'ComObjType|ComObjConnect|ComObjCreate|ComObjGet|ComObjError|'
126
+ r'ComObjValue|Insert|MinIndex|MaxIndex|Remove|SetCapacity|'
127
+ r'GetCapacity|GetAddress|_NewEnum|FileOpen|Read|Write|ReadLine|'
128
+ r'WriteLine|ReadNumType|WriteNumType|RawRead|RawWrite|Seek|Tell|'
129
+ r'Close|Next|IsObject|StrPut|StrGet|Trim|LTrim|RTrim)\b',
130
+ Name.Function),
131
+ ],
132
+ 'builtInVariables': [
133
+ (r'(?i)(A_AhkPath|A_AhkVersion|A_AppData|A_AppDataCommon|'
134
+ r'A_AutoTrim|A_BatchLines|A_CaretX|A_CaretY|A_ComputerName|'
135
+ r'A_ControlDelay|A_Cursor|A_DDDD|A_DDD|A_DD|A_DefaultMouseSpeed|'
136
+ r'A_Desktop|A_DesktopCommon|A_DetectHiddenText|'
137
+ r'A_DetectHiddenWindows|A_EndChar|A_EventInfo|A_ExitReason|'
138
+ r'A_FormatFloat|A_FormatInteger|A_Gui|A_GuiEvent|A_GuiControl|'
139
+ r'A_GuiControlEvent|A_GuiHeight|A_GuiWidth|A_GuiX|A_GuiY|A_Hour|'
140
+ r'A_IconFile|A_IconHidden|A_IconNumber|A_IconTip|A_Index|'
141
+ r'A_IPAddress1|A_IPAddress2|A_IPAddress3|A_IPAddress4|A_ISAdmin|'
142
+ r'A_IsCompiled|A_IsCritical|A_IsPaused|A_IsSuspended|A_KeyDelay|'
143
+ r'A_Language|A_LastError|A_LineFile|A_LineNumber|A_LoopField|'
144
+ r'A_LoopFileAttrib|A_LoopFileDir|A_LoopFileExt|A_LoopFileFullPath|'
145
+ r'A_LoopFileLongPath|A_LoopFileName|A_LoopFileShortName|'
146
+ r'A_LoopFileShortPath|A_LoopFileSize|A_LoopFileSizeKB|'
147
+ r'A_LoopFileSizeMB|A_LoopFileTimeAccessed|A_LoopFileTimeCreated|'
148
+ r'A_LoopFileTimeModified|A_LoopReadLine|A_LoopRegKey|'
149
+ r'A_LoopRegName|A_LoopRegSubkey|A_LoopRegTimeModified|'
150
+ r'A_LoopRegType|A_MDAY|A_Min|A_MM|A_MMM|A_MMMM|A_Mon|A_MouseDelay|'
151
+ r'A_MSec|A_MyDocuments|A_Now|A_NowUTC|A_NumBatchLines|A_OSType|'
152
+ r'A_OSVersion|A_PriorHotkey|A_ProgramFiles|A_Programs|'
153
+ r'A_ProgramsCommon|A_ScreenHeight|A_ScreenWidth|A_ScriptDir|'
154
+ r'A_ScriptFullPath|A_ScriptName|A_Sec|A_Space|A_StartMenu|'
155
+ r'A_StartMenuCommon|A_Startup|A_StartupCommon|A_StringCaseSense|'
156
+ r'A_Tab|A_Temp|A_ThisFunc|A_ThisHotkey|A_ThisLabel|A_ThisMenu|'
157
+ r'A_ThisMenuItem|A_ThisMenuItemPos|A_TickCount|A_TimeIdle|'
158
+ r'A_TimeIdlePhysical|A_TimeSincePriorHotkey|A_TimeSinceThisHotkey|'
159
+ r'A_TitleMatchMode|A_TitleMatchModeSpeed|A_UserName|A_WDay|'
160
+ r'A_WinDelay|A_WinDir|A_WorkingDir|A_YDay|A_YEAR|A_YWeek|A_YYYY|'
161
+ r'Clipboard|ClipboardAll|ComSpec|ErrorLevel|ProgramFiles|True|'
162
+ r'False|A_IsUnicode|A_FileEncoding|A_OSVersion|A_PtrSize)\b',
163
+ Name.Variable),
164
+ ],
165
+ 'labels': [
166
+ # hotkeys and labels
167
+ # technically, hotkey names are limited to named keys and buttons
168
+ (r'(^\s*)([^:\s("]+?:{1,2})', bygroups(Text, Name.Label)),
169
+ (r'(^\s*)(::[^:\s]+?::)', bygroups(Text, Name.Label)),
170
+ ],
171
+ 'numbers': [
172
+ (r'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),
173
+ (r'\d+[eE][+-]?[0-9]+', Number.Float),
174
+ (r'0\d+', Number.Oct),
175
+ (r'0[xX][a-fA-F0-9]+', Number.Hex),
176
+ (r'\d+L', Number.Integer.Long),
177
+ (r'\d+', Number.Integer)
178
+ ],
179
+ 'stringescape': [
180
+ (r'\"\"|\`([,%`abfnrtv])', String.Escape),
181
+ ],
182
+ 'strings': [
183
+ (r'[^"\n]+', String),
184
+ ],
185
+ 'dqs': [
186
+ (r'"', String, '#pop'),
187
+ include('strings')
188
+ ],
189
+ 'garbage': [
190
+ (r'[^\S\n]', Text),
191
+ # (r'.', Text), # no cheating
192
+ ],
193
+ }
194
+
195
+
196
+ class AutoItLexer(RegexLexer):
197
+ """
198
+ For `AutoIt <http://www.autoitscript.com/site/autoit/>`_ files.
199
+
200
+ AutoIt is a freeware BASIC-like scripting language
201
+ designed for automating the Windows GUI and general scripting
202
+
203
+ .. versionadded:: 1.6
204
+ """
205
+ name = 'AutoIt'
206
+ aliases = ['autoit']
207
+ filenames = ['*.au3']
208
+ mimetypes = ['text/x-autoit']
209
+
210
+ # Keywords, functions, macros from au3.keywords.properties
211
+ # which can be found in AutoIt installed directory, e.g.
212
+ # c:\Program Files (x86)\AutoIt3\SciTE\au3.keywords.properties
213
+
214
+ keywords = """\
215
+ #include-once #include #endregion #forcedef #forceref #region
216
+ and byref case continueloop dim do else elseif endfunc endif
217
+ endselect exit exitloop for func global
218
+ if local next not or return select step
219
+ then to until wend while exit""".split()
220
+
221
+ functions = """\
222
+ abs acos adlibregister adlibunregister asc ascw asin assign atan
223
+ autoitsetoption autoitwingettitle autoitwinsettitle beep binary binarylen
224
+ binarymid binarytostring bitand bitnot bitor bitrotate bitshift bitxor
225
+ blockinput break call cdtray ceiling chr chrw clipget clipput consoleread
226
+ consolewrite consolewriteerror controlclick controlcommand controldisable
227
+ controlenable controlfocus controlgetfocus controlgethandle controlgetpos
228
+ controlgettext controlhide controllistview controlmove controlsend
229
+ controlsettext controlshow controltreeview cos dec dircopy dircreate
230
+ dirgetsize dirmove dirremove dllcall dllcalladdress dllcallbackfree
231
+ dllcallbackgetptr dllcallbackregister dllclose dllopen dllstructcreate
232
+ dllstructgetdata dllstructgetptr dllstructgetsize dllstructsetdata
233
+ drivegetdrive drivegetfilesystem drivegetlabel drivegetserial drivegettype
234
+ drivemapadd drivemapdel drivemapget drivesetlabel drivespacefree
235
+ drivespacetotal drivestatus envget envset envupdate eval execute exp
236
+ filechangedir fileclose filecopy filecreatentfslink filecreateshortcut
237
+ filedelete fileexists filefindfirstfile filefindnextfile fileflush
238
+ filegetattrib filegetencoding filegetlongname filegetpos filegetshortcut
239
+ filegetshortname filegetsize filegettime filegetversion fileinstall filemove
240
+ fileopen fileopendialog fileread filereadline filerecycle filerecycleempty
241
+ filesavedialog fileselectfolder filesetattrib filesetpos filesettime
242
+ filewrite filewriteline floor ftpsetproxy guicreate guictrlcreateavi
243
+ guictrlcreatebutton guictrlcreatecheckbox guictrlcreatecombo
244
+ guictrlcreatecontextmenu guictrlcreatedate guictrlcreatedummy
245
+ guictrlcreateedit guictrlcreategraphic guictrlcreategroup guictrlcreateicon
246
+ guictrlcreateinput guictrlcreatelabel guictrlcreatelist
247
+ guictrlcreatelistview guictrlcreatelistviewitem guictrlcreatemenu
248
+ guictrlcreatemenuitem guictrlcreatemonthcal guictrlcreateobj
249
+ guictrlcreatepic guictrlcreateprogress guictrlcreateradio
250
+ guictrlcreateslider guictrlcreatetab guictrlcreatetabitem
251
+ guictrlcreatetreeview guictrlcreatetreeviewitem guictrlcreateupdown
252
+ guictrldelete guictrlgethandle guictrlgetstate guictrlread guictrlrecvmsg
253
+ guictrlregisterlistviewsort guictrlsendmsg guictrlsendtodummy
254
+ guictrlsetbkcolor guictrlsetcolor guictrlsetcursor guictrlsetdata
255
+ guictrlsetdefbkcolor guictrlsetdefcolor guictrlsetfont guictrlsetgraphic
256
+ guictrlsetimage guictrlsetlimit guictrlsetonevent guictrlsetpos
257
+ guictrlsetresizing guictrlsetstate guictrlsetstyle guictrlsettip guidelete
258
+ guigetcursorinfo guigetmsg guigetstyle guiregistermsg guisetaccelerators
259
+ guisetbkcolor guisetcoord guisetcursor guisetfont guisethelp guiseticon
260
+ guisetonevent guisetstate guisetstyle guistartgroup guiswitch hex hotkeyset
261
+ httpsetproxy httpsetuseragent hwnd inetclose inetget inetgetinfo inetgetsize
262
+ inetread inidelete iniread inireadsection inireadsectionnames
263
+ inirenamesection iniwrite iniwritesection inputbox int isadmin isarray
264
+ isbinary isbool isdeclared isdllstruct isfloat ishwnd isint iskeyword
265
+ isnumber isobj isptr isstring log memgetstats mod mouseclick mouseclickdrag
266
+ mousedown mousegetcursor mousegetpos mousemove mouseup mousewheel msgbox
267
+ number objcreate objcreateinterface objevent objevent objget objname
268
+ onautoitexitregister onautoitexitunregister opt ping pixelchecksum
269
+ pixelgetcolor pixelsearch pluginclose pluginopen processclose processexists
270
+ processgetstats processlist processsetpriority processwait processwaitclose
271
+ progressoff progresson progressset ptr random regdelete regenumkey
272
+ regenumval regread regwrite round run runas runaswait runwait send
273
+ sendkeepactive seterror setextended shellexecute shellexecutewait shutdown
274
+ sin sleep soundplay soundsetwavevolume splashimageon splashoff splashtexton
275
+ sqrt srandom statusbargettext stderrread stdinwrite stdioclose stdoutread
276
+ string stringaddcr stringcompare stringformat stringfromasciiarray
277
+ stringinstr stringisalnum stringisalpha stringisascii stringisdigit
278
+ stringisfloat stringisint stringislower stringisspace stringisupper
279
+ stringisxdigit stringleft stringlen stringlower stringmid stringregexp
280
+ stringregexpreplace stringreplace stringright stringsplit stringstripcr
281
+ stringstripws stringtoasciiarray stringtobinary stringtrimleft
282
+ stringtrimright stringupper tan tcpaccept tcpclosesocket tcpconnect
283
+ tcplisten tcpnametoip tcprecv tcpsend tcpshutdown tcpstartup timerdiff
284
+ timerinit tooltip traycreateitem traycreatemenu traygetmsg trayitemdelete
285
+ trayitemgethandle trayitemgetstate trayitemgettext trayitemsetonevent
286
+ trayitemsetstate trayitemsettext traysetclick trayseticon traysetonevent
287
+ traysetpauseicon traysetstate traysettooltip traytip ubound udpbind
288
+ udpclosesocket udpopen udprecv udpsend udpshutdown udpstartup vargettype
289
+ winactivate winactive winclose winexists winflash wingetcaretpos
290
+ wingetclasslist wingetclientsize wingethandle wingetpos wingetprocess
291
+ wingetstate wingettext wingettitle winkill winlist winmenuselectitem
292
+ winminimizeall winminimizeallundo winmove winsetontop winsetstate
293
+ winsettitle winsettrans winwait winwaitactive winwaitclose
294
+ winwaitnotactive""".split()
295
+
296
+ macros = """\
297
+ @appdatacommondir @appdatadir @autoitexe @autoitpid @autoitversion
298
+ @autoitx64 @com_eventobj @commonfilesdir @compiled @computername @comspec
299
+ @cpuarch @cr @crlf @desktopcommondir @desktopdepth @desktopdir
300
+ @desktopheight @desktoprefresh @desktopwidth @documentscommondir @error
301
+ @exitcode @exitmethod @extended @favoritescommondir @favoritesdir
302
+ @gui_ctrlhandle @gui_ctrlid @gui_dragfile @gui_dragid @gui_dropid
303
+ @gui_winhandle @homedrive @homepath @homeshare @hotkeypressed @hour
304
+ @ipaddress1 @ipaddress2 @ipaddress3 @ipaddress4 @kblayout @lf
305
+ @logondnsdomain @logondomain @logonserver @mday @min @mon @msec @muilang
306
+ @mydocumentsdir @numparams @osarch @osbuild @oslang @osservicepack @ostype
307
+ @osversion @programfilesdir @programscommondir @programsdir @scriptdir
308
+ @scriptfullpath @scriptlinenumber @scriptname @sec @startmenucommondir
309
+ @startmenudir @startupcommondir @startupdir @sw_disable @sw_enable @sw_hide
310
+ @sw_lock @sw_maximize @sw_minimize @sw_restore @sw_show @sw_showdefault
311
+ @sw_showmaximized @sw_showminimized @sw_showminnoactive @sw_showna
312
+ @sw_shownoactivate @sw_shownormal @sw_unlock @systemdir @tab @tempdir
313
+ @tray_id @trayiconflashing @trayiconvisible @username @userprofiledir @wday
314
+ @windowsdir @workingdir @yday @year""".split()
315
+
316
+ tokens = {
317
+ 'root': [
318
+ (r';.*\n', Comment.Single),
319
+ (r'(#comments-start|#cs)(.|\n)*?(#comments-end|#ce)',
320
+ Comment.Multiline),
321
+ (r'[\[\]{}(),;]', Punctuation),
322
+ (r'(and|or|not)\b', Operator.Word),
323
+ (r'[$|@][a-zA-Z_]\w*', Name.Variable),
324
+ (r'!=|==|:=|\.=|<<|>>|[-~+/*%=<>&^|?:!.]', Operator),
325
+ include('commands'),
326
+ include('labels'),
327
+ include('builtInFunctions'),
328
+ include('builtInMarcros'),
329
+ (r'"', String, combined('stringescape', 'dqs')),
330
+ include('numbers'),
331
+ (r'[a-zA-Z_#@$][\w#@$]*', Name),
332
+ (r'\\|\'', Text),
333
+ (r'\`([,%`abfnrtv\-+;])', String.Escape),
334
+ (r'_\n', Text), # Line continuation
335
+ include('garbage'),
336
+ ],
337
+ 'commands': [
338
+ (r'(?i)(\s*)(%s)\b' % '|'.join(keywords),
339
+ bygroups(Text, Name.Builtin)),
340
+ ],
341
+ 'builtInFunctions': [
342
+ (r'(?i)(%s)\b' % '|'.join(functions),
343
+ Name.Function),
344
+ ],
345
+ 'builtInMarcros': [
346
+ (r'(?i)(%s)\b' % '|'.join(macros),
347
+ Name.Variable.Global),
348
+ ],
349
+ 'labels': [
350
+ # sendkeys
351
+ (r'(^\s*)(\{\S+?\})', bygroups(Text, Name.Label)),
352
+ ],
353
+ 'numbers': [
354
+ (r'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),
355
+ (r'\d+[eE][+-]?[0-9]+', Number.Float),
356
+ (r'0\d+', Number.Oct),
357
+ (r'0[xX][a-fA-F0-9]+', Number.Hex),
358
+ (r'\d+L', Number.Integer.Long),
359
+ (r'\d+', Number.Integer)
360
+ ],
361
+ 'stringescape': [
362
+ (r'\"\"|\`([,%`abfnrtv])', String.Escape),
363
+ ],
364
+ 'strings': [
365
+ (r'[^"\n]+', String),
366
+ ],
367
+ 'dqs': [
368
+ (r'"', String, '#pop'),
369
+ include('strings')
370
+ ],
371
+ 'garbage': [
372
+ (r'[^\S\n]', Text),
373
+ ],
374
+ }
@@ -0,0 +1,500 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.basic
4
+ ~~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexers for BASIC like languages (other than VB.net).
7
+
8
+ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ import re
13
+
14
+ from pygments.lexer import RegexLexer, bygroups, default, words, include
15
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16
+ Number, Punctuation
17
+
18
+ __all__ = ['BlitzBasicLexer', 'BlitzMaxLexer', 'MonkeyLexer', 'CbmBasicV2Lexer',
19
+ 'QBasicLexer']
20
+
21
+
22
+ class BlitzMaxLexer(RegexLexer):
23
+ """
24
+ For `BlitzMax <http://blitzbasic.com>`_ source code.
25
+
26
+ .. versionadded:: 1.4
27
+ """
28
+
29
+ name = 'BlitzMax'
30
+ aliases = ['blitzmax', 'bmax']
31
+ filenames = ['*.bmx']
32
+ mimetypes = ['text/x-bmx']
33
+
34
+ bmax_vopwords = r'\b(Shl|Shr|Sar|Mod)\b'
35
+ bmax_sktypes = r'@{1,2}|[!#$%]'
36
+ bmax_lktypes = r'\b(Int|Byte|Short|Float|Double|Long)\b'
37
+ bmax_name = r'[a-z_]\w*'
38
+ bmax_var = (r'(%s)(?:(?:([ \t]*)(%s)|([ \t]*:[ \t]*\b(?:Shl|Shr|Sar|Mod)\b)'
39
+ r'|([ \t]*)(:)([ \t]*)(?:%s|(%s)))(?:([ \t]*)(Ptr))?)') % \
40
+ (bmax_name, bmax_sktypes, bmax_lktypes, bmax_name)
41
+ bmax_func = bmax_var + r'?((?:[ \t]|\.\.\n)*)([(])'
42
+
43
+ flags = re.MULTILINE | re.IGNORECASE
44
+ tokens = {
45
+ 'root': [
46
+ # Text
47
+ (r'[ \t]+', Text),
48
+ (r'\.\.\n', Text), # Line continuation
49
+ # Comments
50
+ (r"'.*?\n", Comment.Single),
51
+ (r'([ \t]*)\bRem\n(\n|.)*?\s*\bEnd([ \t]*)Rem', Comment.Multiline),
52
+ # Data types
53
+ ('"', String.Double, 'string'),
54
+ # Numbers
55
+ (r'[0-9]+\.[0-9]*(?!\.)', Number.Float),
56
+ (r'\.[0-9]*(?!\.)', Number.Float),
57
+ (r'[0-9]+', Number.Integer),
58
+ (r'\$[0-9a-f]+', Number.Hex),
59
+ (r'\%[10]+', Number.Bin),
60
+ # Other
61
+ (r'(?:(?:(:)?([ \t]*)(:?%s|([+\-*/&|~]))|Or|And|Not|[=<>^]))' %
62
+ (bmax_vopwords), Operator),
63
+ (r'[(),.:\[\]]', Punctuation),
64
+ (r'(?:#[\w \t]*)', Name.Label),
65
+ (r'(?:\?[\w \t]*)', Comment.Preproc),
66
+ # Identifiers
67
+ (r'\b(New)\b([ \t]?)([(]?)(%s)' % (bmax_name),
68
+ bygroups(Keyword.Reserved, Text, Punctuation, Name.Class)),
69
+ (r'\b(Import|Framework|Module)([ \t]+)(%s\.%s)' %
70
+ (bmax_name, bmax_name),
71
+ bygroups(Keyword.Reserved, Text, Keyword.Namespace)),
72
+ (bmax_func, bygroups(Name.Function, Text, Keyword.Type,
73
+ Operator, Text, Punctuation, Text,
74
+ Keyword.Type, Name.Class, Text,
75
+ Keyword.Type, Text, Punctuation)),
76
+ (bmax_var, bygroups(Name.Variable, Text, Keyword.Type, Operator,
77
+ Text, Punctuation, Text, Keyword.Type,
78
+ Name.Class, Text, Keyword.Type)),
79
+ (r'\b(Type|Extends)([ \t]+)(%s)' % (bmax_name),
80
+ bygroups(Keyword.Reserved, Text, Name.Class)),
81
+ # Keywords
82
+ (r'\b(Ptr)\b', Keyword.Type),
83
+ (r'\b(Pi|True|False|Null|Self|Super)\b', Keyword.Constant),
84
+ (r'\b(Local|Global|Const|Field)\b', Keyword.Declaration),
85
+ (words((
86
+ 'TNullMethodException', 'TNullFunctionException',
87
+ 'TNullObjectException', 'TArrayBoundsException',
88
+ 'TRuntimeException'), prefix=r'\b', suffix=r'\b'), Name.Exception),
89
+ (words((
90
+ 'Strict', 'SuperStrict', 'Module', 'ModuleInfo',
91
+ 'End', 'Return', 'Continue', 'Exit', 'Public', 'Private',
92
+ 'Var', 'VarPtr', 'Chr', 'Len', 'Asc', 'SizeOf', 'Sgn', 'Abs', 'Min', 'Max',
93
+ 'New', 'Release', 'Delete', 'Incbin', 'IncbinPtr', 'IncbinLen',
94
+ 'Framework', 'Include', 'Import', 'Extern', 'EndExtern',
95
+ 'Function', 'EndFunction', 'Type', 'EndType', 'Extends', 'Method', 'EndMethod',
96
+ 'Abstract', 'Final', 'If', 'Then', 'Else', 'ElseIf', 'EndIf',
97
+ 'For', 'To', 'Next', 'Step', 'EachIn', 'While', 'Wend', 'EndWhile',
98
+ 'Repeat', 'Until', 'Forever', 'Select', 'Case', 'Default', 'EndSelect',
99
+ 'Try', 'Catch', 'EndTry', 'Throw', 'Assert', 'Goto', 'DefData', 'ReadData',
100
+ 'RestoreData'), prefix=r'\b', suffix=r'\b'),
101
+ Keyword.Reserved),
102
+ # Final resolve (for variable names and such)
103
+ (r'(%s)' % (bmax_name), Name.Variable),
104
+ ],
105
+ 'string': [
106
+ (r'""', String.Double),
107
+ (r'"C?', String.Double, '#pop'),
108
+ (r'[^"]+', String.Double),
109
+ ],
110
+ }
111
+
112
+
113
+ class BlitzBasicLexer(RegexLexer):
114
+ """
115
+ For `BlitzBasic <http://blitzbasic.com>`_ source code.
116
+
117
+ .. versionadded:: 2.0
118
+ """
119
+
120
+ name = 'BlitzBasic'
121
+ aliases = ['blitzbasic', 'b3d', 'bplus']
122
+ filenames = ['*.bb', '*.decls']
123
+ mimetypes = ['text/x-bb']
124
+
125
+ bb_sktypes = r'@{1,2}|[#$%]'
126
+ bb_name = r'[a-z]\w*'
127
+ bb_var = (r'(%s)(?:([ \t]*)(%s)|([ \t]*)([.])([ \t]*)(?:(%s)))?') % \
128
+ (bb_name, bb_sktypes, bb_name)
129
+
130
+ flags = re.MULTILINE | re.IGNORECASE
131
+ tokens = {
132
+ 'root': [
133
+ # Text
134
+ (r'[ \t]+', Text),
135
+ # Comments
136
+ (r";.*?\n", Comment.Single),
137
+ # Data types
138
+ ('"', String.Double, 'string'),
139
+ # Numbers
140
+ (r'[0-9]+\.[0-9]*(?!\.)', Number.Float),
141
+ (r'\.[0-9]+(?!\.)', Number.Float),
142
+ (r'[0-9]+', Number.Integer),
143
+ (r'\$[0-9a-f]+', Number.Hex),
144
+ (r'\%[10]+', Number.Bin),
145
+ # Other
146
+ (words(('Shl', 'Shr', 'Sar', 'Mod', 'Or', 'And', 'Not',
147
+ 'Abs', 'Sgn', 'Handle', 'Int', 'Float', 'Str',
148
+ 'First', 'Last', 'Before', 'After'),
149
+ prefix=r'\b', suffix=r'\b'),
150
+ Operator),
151
+ (r'([+\-*/~=<>^])', Operator),
152
+ (r'[(),:\[\]\\]', Punctuation),
153
+ (r'\.([ \t]*)(%s)' % bb_name, Name.Label),
154
+ # Identifiers
155
+ (r'\b(New)\b([ \t]+)(%s)' % (bb_name),
156
+ bygroups(Keyword.Reserved, Text, Name.Class)),
157
+ (r'\b(Gosub|Goto)\b([ \t]+)(%s)' % (bb_name),
158
+ bygroups(Keyword.Reserved, Text, Name.Label)),
159
+ (r'\b(Object)\b([ \t]*)([.])([ \t]*)(%s)\b' % (bb_name),
160
+ bygroups(Operator, Text, Punctuation, Text, Name.Class)),
161
+ (r'\b%s\b([ \t]*)(\()' % bb_var,
162
+ bygroups(Name.Function, Text, Keyword.Type, Text, Punctuation,
163
+ Text, Name.Class, Text, Punctuation)),
164
+ (r'\b(Function)\b([ \t]+)%s' % bb_var,
165
+ bygroups(Keyword.Reserved, Text, Name.Function, Text, Keyword.Type,
166
+ Text, Punctuation, Text, Name.Class)),
167
+ (r'\b(Type)([ \t]+)(%s)' % (bb_name),
168
+ bygroups(Keyword.Reserved, Text, Name.Class)),
169
+ # Keywords
170
+ (r'\b(Pi|True|False|Null)\b', Keyword.Constant),
171
+ (r'\b(Local|Global|Const|Field|Dim)\b', Keyword.Declaration),
172
+ (words((
173
+ 'End', 'Return', 'Exit', 'Chr', 'Len', 'Asc', 'New', 'Delete', 'Insert',
174
+ 'Include', 'Function', 'Type', 'If', 'Then', 'Else', 'ElseIf', 'EndIf',
175
+ 'For', 'To', 'Next', 'Step', 'Each', 'While', 'Wend',
176
+ 'Repeat', 'Until', 'Forever', 'Select', 'Case', 'Default',
177
+ 'Goto', 'Gosub', 'Data', 'Read', 'Restore'), prefix=r'\b', suffix=r'\b'),
178
+ Keyword.Reserved),
179
+ # Final resolve (for variable names and such)
180
+ # (r'(%s)' % (bb_name), Name.Variable),
181
+ (bb_var, bygroups(Name.Variable, Text, Keyword.Type,
182
+ Text, Punctuation, Text, Name.Class)),
183
+ ],
184
+ 'string': [
185
+ (r'""', String.Double),
186
+ (r'"C?', String.Double, '#pop'),
187
+ (r'[^"]+', String.Double),
188
+ ],
189
+ }
190
+
191
+
192
+ class MonkeyLexer(RegexLexer):
193
+ """
194
+ For
195
+ `Monkey <https://en.wikipedia.org/wiki/Monkey_(programming_language)>`_
196
+ source code.
197
+
198
+ .. versionadded:: 1.6
199
+ """
200
+
201
+ name = 'Monkey'
202
+ aliases = ['monkey']
203
+ filenames = ['*.monkey']
204
+ mimetypes = ['text/x-monkey']
205
+
206
+ name_variable = r'[a-z_]\w*'
207
+ name_function = r'[A-Z]\w*'
208
+ name_constant = r'[A-Z_][A-Z0-9_]*'
209
+ name_class = r'[A-Z]\w*'
210
+ name_module = r'[a-z0-9_]*'
211
+
212
+ keyword_type = r'(?:Int|Float|String|Bool|Object|Array|Void)'
213
+ # ? == Bool // % == Int // # == Float // $ == String
214
+ keyword_type_special = r'[?%#$]'
215
+
216
+ flags = re.MULTILINE
217
+
218
+ tokens = {
219
+ 'root': [
220
+ # Text
221
+ (r'\s+', Text),
222
+ # Comments
223
+ (r"'.*", Comment),
224
+ (r'(?i)^#rem\b', Comment.Multiline, 'comment'),
225
+ # preprocessor directives
226
+ (r'(?i)^(?:#If|#ElseIf|#Else|#EndIf|#End|#Print|#Error)\b', Comment.Preproc),
227
+ # preprocessor variable (any line starting with '#' that is not a directive)
228
+ (r'^#', Comment.Preproc, 'variables'),
229
+ # String
230
+ ('"', String.Double, 'string'),
231
+ # Numbers
232
+ (r'[0-9]+\.[0-9]*(?!\.)', Number.Float),
233
+ (r'\.[0-9]+(?!\.)', Number.Float),
234
+ (r'[0-9]+', Number.Integer),
235
+ (r'\$[0-9a-fA-Z]+', Number.Hex),
236
+ (r'\%[10]+', Number.Bin),
237
+ # Native data types
238
+ (r'\b%s\b' % keyword_type, Keyword.Type),
239
+ # Exception handling
240
+ (r'(?i)\b(?:Try|Catch|Throw)\b', Keyword.Reserved),
241
+ (r'Throwable', Name.Exception),
242
+ # Builtins
243
+ (r'(?i)\b(?:Null|True|False)\b', Name.Builtin),
244
+ (r'(?i)\b(?:Self|Super)\b', Name.Builtin.Pseudo),
245
+ (r'\b(?:HOST|LANG|TARGET|CONFIG)\b', Name.Constant),
246
+ # Keywords
247
+ (r'(?i)^(Import)(\s+)(.*)(\n)',
248
+ bygroups(Keyword.Namespace, Text, Name.Namespace, Text)),
249
+ (r'(?i)^Strict\b.*\n', Keyword.Reserved),
250
+ (r'(?i)(Const|Local|Global|Field)(\s+)',
251
+ bygroups(Keyword.Declaration, Text), 'variables'),
252
+ (r'(?i)(New|Class|Interface|Extends|Implements)(\s+)',
253
+ bygroups(Keyword.Reserved, Text), 'classname'),
254
+ (r'(?i)(Function|Method)(\s+)',
255
+ bygroups(Keyword.Reserved, Text), 'funcname'),
256
+ (r'(?i)(?:End|Return|Public|Private|Extern|Property|'
257
+ r'Final|Abstract)\b', Keyword.Reserved),
258
+ # Flow Control stuff
259
+ (r'(?i)(?:If|Then|Else|ElseIf|EndIf|'
260
+ r'Select|Case|Default|'
261
+ r'While|Wend|'
262
+ r'Repeat|Until|Forever|'
263
+ r'For|To|Until|Step|EachIn|Next|'
264
+ r'Exit|Continue)\s+', Keyword.Reserved),
265
+ # not used yet
266
+ (r'(?i)\b(?:Module|Inline)\b', Keyword.Reserved),
267
+ # Array
268
+ (r'[\[\]]', Punctuation),
269
+ # Other
270
+ (r'<=|>=|<>|\*=|/=|\+=|-=|&=|~=|\|=|[-&*/^+=<>|~]', Operator),
271
+ (r'(?i)(?:Not|Mod|Shl|Shr|And|Or)', Operator.Word),
272
+ (r'[(){}!#,.:]', Punctuation),
273
+ # catch the rest
274
+ (r'%s\b' % name_constant, Name.Constant),
275
+ (r'%s\b' % name_function, Name.Function),
276
+ (r'%s\b' % name_variable, Name.Variable),
277
+ ],
278
+ 'funcname': [
279
+ (r'(?i)%s\b' % name_function, Name.Function),
280
+ (r':', Punctuation, 'classname'),
281
+ (r'\s+', Text),
282
+ (r'\(', Punctuation, 'variables'),
283
+ (r'\)', Punctuation, '#pop')
284
+ ],
285
+ 'classname': [
286
+ (r'%s\.' % name_module, Name.Namespace),
287
+ (r'%s\b' % keyword_type, Keyword.Type),
288
+ (r'%s\b' % name_class, Name.Class),
289
+ # array (of given size)
290
+ (r'(\[)(\s*)(\d*)(\s*)(\])',
291
+ bygroups(Punctuation, Text, Number.Integer, Text, Punctuation)),
292
+ # generics
293
+ (r'\s+(?!<)', Text, '#pop'),
294
+ (r'<', Punctuation, '#push'),
295
+ (r'>', Punctuation, '#pop'),
296
+ (r'\n', Text, '#pop'),
297
+ default('#pop')
298
+ ],
299
+ 'variables': [
300
+ (r'%s\b' % name_constant, Name.Constant),
301
+ (r'%s\b' % name_variable, Name.Variable),
302
+ (r'%s' % keyword_type_special, Keyword.Type),
303
+ (r'\s+', Text),
304
+ (r':', Punctuation, 'classname'),
305
+ (r',', Punctuation, '#push'),
306
+ default('#pop')
307
+ ],
308
+ 'string': [
309
+ (r'[^"~]+', String.Double),
310
+ (r'~q|~n|~r|~t|~z|~~', String.Escape),
311
+ (r'"', String.Double, '#pop'),
312
+ ],
313
+ 'comment': [
314
+ (r'(?i)^#rem.*?', Comment.Multiline, "#push"),
315
+ (r'(?i)^#end.*?', Comment.Multiline, "#pop"),
316
+ (r'\n', Comment.Multiline),
317
+ (r'.+', Comment.Multiline),
318
+ ],
319
+ }
320
+
321
+
322
+ class CbmBasicV2Lexer(RegexLexer):
323
+ """
324
+ For CBM BASIC V2 sources.
325
+
326
+ .. versionadded:: 1.6
327
+ """
328
+ name = 'CBM BASIC V2'
329
+ aliases = ['cbmbas']
330
+ filenames = ['*.bas']
331
+
332
+ flags = re.IGNORECASE
333
+
334
+ tokens = {
335
+ 'root': [
336
+ (r'rem.*\n', Comment.Single),
337
+ (r'\s+', Text),
338
+ (r'new|run|end|for|to|next|step|go(to|sub)?|on|return|stop|cont'
339
+ r'|if|then|input#?|read|wait|load|save|verify|poke|sys|print#?'
340
+ r'|list|clr|cmd|open|close|get#?', Keyword.Reserved),
341
+ (r'data|restore|dim|let|def|fn', Keyword.Declaration),
342
+ (r'tab|spc|sgn|int|abs|usr|fre|pos|sqr|rnd|log|exp|cos|sin|tan|atn'
343
+ r'|peek|len|val|asc|(str|chr|left|right|mid)\$', Name.Builtin),
344
+ (r'[-+*/^<>=]', Operator),
345
+ (r'not|and|or', Operator.Word),
346
+ (r'"[^"\n]*.', String),
347
+ (r'\d+|[-+]?\d*\.\d*(e[-+]?\d+)?', Number.Float),
348
+ (r'[(),:;]', Punctuation),
349
+ (r'\w+[$%]?', Name),
350
+ ]
351
+ }
352
+
353
+ def analyse_text(self, text):
354
+ # if it starts with a line number, it shouldn't be a "modern" Basic
355
+ # like VB.net
356
+ if re.match(r'\d+', text):
357
+ return 0.2
358
+
359
+
360
+ class QBasicLexer(RegexLexer):
361
+ """
362
+ For
363
+ `QBasic <http://en.wikipedia.org/wiki/QBasic>`_
364
+ source code.
365
+
366
+ .. versionadded:: 2.0
367
+ """
368
+
369
+ name = 'QBasic'
370
+ aliases = ['qbasic', 'basic']
371
+ filenames = ['*.BAS', '*.bas']
372
+ mimetypes = ['text/basic']
373
+
374
+ declarations = ('DATA', 'LET')
375
+
376
+ functions = (
377
+ 'ABS', 'ASC', 'ATN', 'CDBL', 'CHR$', 'CINT', 'CLNG',
378
+ 'COMMAND$', 'COS', 'CSNG', 'CSRLIN', 'CVD', 'CVDMBF', 'CVI',
379
+ 'CVL', 'CVS', 'CVSMBF', 'DATE$', 'ENVIRON$', 'EOF', 'ERDEV',
380
+ 'ERDEV$', 'ERL', 'ERR', 'EXP', 'FILEATTR', 'FIX', 'FRE',
381
+ 'FREEFILE', 'HEX$', 'INKEY$', 'INP', 'INPUT$', 'INSTR', 'INT',
382
+ 'IOCTL$', 'LBOUND', 'LCASE$', 'LEFT$', 'LEN', 'LOC', 'LOF',
383
+ 'LOG', 'LPOS', 'LTRIM$', 'MID$', 'MKD$', 'MKDMBF$', 'MKI$',
384
+ 'MKL$', 'MKS$', 'MKSMBF$', 'OCT$', 'PEEK', 'PEN', 'PLAY',
385
+ 'PMAP', 'POINT', 'POS', 'RIGHT$', 'RND', 'RTRIM$', 'SADD',
386
+ 'SCREEN', 'SEEK', 'SETMEM', 'SGN', 'SIN', 'SPACE$', 'SPC',
387
+ 'SQR', 'STICK', 'STR$', 'STRIG', 'STRING$', 'TAB', 'TAN',
388
+ 'TIME$', 'TIMER', 'UBOUND', 'UCASE$', 'VAL', 'VARPTR',
389
+ 'VARPTR$', 'VARSEG'
390
+ )
391
+
392
+ metacommands = ('$DYNAMIC', '$INCLUDE', '$STATIC')
393
+
394
+ operators = ('AND', 'EQV', 'IMP', 'NOT', 'OR', 'XOR')
395
+
396
+ statements = (
397
+ 'BEEP', 'BLOAD', 'BSAVE', 'CALL', 'CALL ABSOLUTE',
398
+ 'CALL INTERRUPT', 'CALLS', 'CHAIN', 'CHDIR', 'CIRCLE', 'CLEAR',
399
+ 'CLOSE', 'CLS', 'COLOR', 'COM', 'COMMON', 'CONST', 'DATA',
400
+ 'DATE$', 'DECLARE', 'DEF FN', 'DEF SEG', 'DEFDBL', 'DEFINT',
401
+ 'DEFLNG', 'DEFSNG', 'DEFSTR', 'DEF', 'DIM', 'DO', 'LOOP',
402
+ 'DRAW', 'END', 'ENVIRON', 'ERASE', 'ERROR', 'EXIT', 'FIELD',
403
+ 'FILES', 'FOR', 'NEXT', 'FUNCTION', 'GET', 'GOSUB', 'GOTO',
404
+ 'IF', 'THEN', 'INPUT', 'INPUT #', 'IOCTL', 'KEY', 'KEY',
405
+ 'KILL', 'LET', 'LINE', 'LINE INPUT', 'LINE INPUT #', 'LOCATE',
406
+ 'LOCK', 'UNLOCK', 'LPRINT', 'LSET', 'MID$', 'MKDIR', 'NAME',
407
+ 'ON COM', 'ON ERROR', 'ON KEY', 'ON PEN', 'ON PLAY',
408
+ 'ON STRIG', 'ON TIMER', 'ON UEVENT', 'ON', 'OPEN', 'OPEN COM',
409
+ 'OPTION BASE', 'OUT', 'PAINT', 'PALETTE', 'PCOPY', 'PEN',
410
+ 'PLAY', 'POKE', 'PRESET', 'PRINT', 'PRINT #', 'PRINT USING',
411
+ 'PSET', 'PUT', 'PUT', 'RANDOMIZE', 'READ', 'REDIM', 'REM',
412
+ 'RESET', 'RESTORE', 'RESUME', 'RETURN', 'RMDIR', 'RSET', 'RUN',
413
+ 'SCREEN', 'SEEK', 'SELECT CASE', 'SHARED', 'SHELL', 'SLEEP',
414
+ 'SOUND', 'STATIC', 'STOP', 'STRIG', 'SUB', 'SWAP', 'SYSTEM',
415
+ 'TIME$', 'TIMER', 'TROFF', 'TRON', 'TYPE', 'UEVENT', 'UNLOCK',
416
+ 'VIEW', 'WAIT', 'WHILE', 'WEND', 'WIDTH', 'WINDOW', 'WRITE'
417
+ )
418
+
419
+ keywords = (
420
+ 'ACCESS', 'ALIAS', 'ANY', 'APPEND', 'AS', 'BASE', 'BINARY',
421
+ 'BYVAL', 'CASE', 'CDECL', 'DOUBLE', 'ELSE', 'ELSEIF', 'ENDIF',
422
+ 'INTEGER', 'IS', 'LIST', 'LOCAL', 'LONG', 'LOOP', 'MOD',
423
+ 'NEXT', 'OFF', 'ON', 'OUTPUT', 'RANDOM', 'SIGNAL', 'SINGLE',
424
+ 'STEP', 'STRING', 'THEN', 'TO', 'UNTIL', 'USING', 'WEND'
425
+ )
426
+
427
+ tokens = {
428
+ 'root': [
429
+ (r'\n+', Text),
430
+ (r'\s+', Text.Whitespace),
431
+ (r'^(\s*)(\d*)(\s*)(REM .*)$',
432
+ bygroups(Text.Whitespace, Name.Label, Text.Whitespace,
433
+ Comment.Single)),
434
+ (r'^(\s*)(\d+)(\s*)',
435
+ bygroups(Text.Whitespace, Name.Label, Text.Whitespace)),
436
+ (r'(?=[\s]*)(\w+)(?=[\s]*=)', Name.Variable.Global),
437
+ (r'(?=[^"]*)\'.*$', Comment.Single),
438
+ (r'"[^\n"]*"', String.Double),
439
+ (r'(END)(\s+)(FUNCTION|IF|SELECT|SUB)',
440
+ bygroups(Keyword.Reserved, Text.Whitespace, Keyword.Reserved)),
441
+ (r'(DECLARE)(\s+)([A-Z]+)(\s+)(\S+)',
442
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Variable,
443
+ Text.Whitespace, Name)),
444
+ (r'(DIM)(\s+)(SHARED)(\s+)([^\s(]+)',
445
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Variable,
446
+ Text.Whitespace, Name.Variable.Global)),
447
+ (r'(DIM)(\s+)([^\s(]+)',
448
+ bygroups(Keyword.Declaration, Text.Whitespace, Name.Variable.Global)),
449
+ (r'^(\s*)([a-zA-Z_]+)(\s*)(\=)',
450
+ bygroups(Text.Whitespace, Name.Variable.Global, Text.Whitespace,
451
+ Operator)),
452
+ (r'(GOTO|GOSUB)(\s+)(\w+\:?)',
453
+ bygroups(Keyword.Reserved, Text.Whitespace, Name.Label)),
454
+ (r'(SUB)(\s+)(\w+\:?)',
455
+ bygroups(Keyword.Reserved, Text.Whitespace, Name.Label)),
456
+ include('declarations'),
457
+ include('functions'),
458
+ include('metacommands'),
459
+ include('operators'),
460
+ include('statements'),
461
+ include('keywords'),
462
+ (r'[a-zA-Z_]\w*[$@#&!]', Name.Variable.Global),
463
+ (r'[a-zA-Z_]\w*\:', Name.Label),
464
+ (r'\-?\d*\.\d+[@|#]?', Number.Float),
465
+ (r'\-?\d+[@|#]', Number.Float),
466
+ (r'\-?\d+#?', Number.Integer.Long),
467
+ (r'\-?\d+#?', Number.Integer),
468
+ (r'!=|==|:=|\.=|<<|>>|[-~+/\\*%=<>&^|?:!.]', Operator),
469
+ (r'[\[\]{}(),;]', Punctuation),
470
+ (r'[\w]+', Name.Variable.Global),
471
+ ],
472
+ # can't use regular \b because of X$()
473
+ # XXX: use words() here
474
+ 'declarations': [
475
+ (r'\b(%s)(?=\(|\b)' % '|'.join(map(re.escape, declarations)),
476
+ Keyword.Declaration),
477
+ ],
478
+ 'functions': [
479
+ (r'\b(%s)(?=\(|\b)' % '|'.join(map(re.escape, functions)),
480
+ Keyword.Reserved),
481
+ ],
482
+ 'metacommands': [
483
+ (r'\b(%s)(?=\(|\b)' % '|'.join(map(re.escape, metacommands)),
484
+ Keyword.Constant),
485
+ ],
486
+ 'operators': [
487
+ (r'\b(%s)(?=\(|\b)' % '|'.join(map(re.escape, operators)), Operator.Word),
488
+ ],
489
+ 'statements': [
490
+ (r'\b(%s)\b' % '|'.join(map(re.escape, statements)),
491
+ Keyword.Reserved),
492
+ ],
493
+ 'keywords': [
494
+ (r'\b(%s)\b' % '|'.join(keywords), Keyword),
495
+ ],
496
+ }
497
+
498
+ def analyse_text(text):
499
+ if '$DYNAMIC' in text or '$STATIC' in text:
500
+ return 0.9