pygments.rb 2.0.0 → 2.1.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 (265) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +12 -0
  3. data/.rubocop.yml +18 -0
  4. data/CHANGELOG.adoc +4 -0
  5. data/Rakefile +1 -3
  6. data/bench.rb +9 -4
  7. data/{cache-lexers.rb → cache_lexers.rb} +0 -0
  8. data/lib/pygments/lexer.rb +1 -1
  9. data/lib/pygments/popen.rb +129 -127
  10. data/lib/pygments/version.rb +1 -1
  11. data/pygments.rb.gemspec +1 -1
  12. data/test/test_pygments.rb +6 -8
  13. data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/AUTHORS +5 -0
  14. data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/INSTALLER +0 -0
  15. data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/LICENSE +1 -1
  16. data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/METADATA +8 -9
  17. data/vendor/pygments-main/Pygments-2.8.0.dist-info/RECORD +494 -0
  18. data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/REQUESTED +0 -0
  19. data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/WHEEL +0 -0
  20. data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/entry_points.txt +0 -0
  21. data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/top_level.txt +0 -0
  22. data/vendor/pygments-main/pygments/__init__.py +2 -3
  23. data/vendor/pygments-main/pygments/__main__.py +1 -2
  24. data/vendor/pygments-main/pygments/cmdline.py +179 -159
  25. data/vendor/pygments-main/pygments/console.py +1 -2
  26. data/vendor/pygments-main/pygments/filter.py +1 -2
  27. data/vendor/pygments-main/pygments/filters/__init__.py +1 -2
  28. data/vendor/pygments-main/pygments/formatter.py +1 -2
  29. data/vendor/pygments-main/pygments/formatters/__init__.py +2 -3
  30. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -2
  31. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
  32. data/vendor/pygments-main/pygments/formatters/html.py +33 -18
  33. data/vendor/pygments-main/pygments/formatters/img.py +24 -10
  34. data/vendor/pygments-main/pygments/formatters/irc.py +1 -2
  35. data/vendor/pygments-main/pygments/formatters/latex.py +8 -9
  36. data/vendor/pygments-main/pygments/formatters/other.py +7 -10
  37. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -2
  38. data/vendor/pygments-main/pygments/formatters/svg.py +5 -4
  39. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -2
  40. data/vendor/pygments-main/pygments/formatters/terminal256.py +24 -3
  41. data/vendor/pygments-main/pygments/lexer.py +7 -6
  42. data/vendor/pygments-main/pygments/lexers/__init__.py +2 -3
  43. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -2
  44. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -2
  45. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +16 -12
  46. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -2
  47. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -2
  48. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -2
  49. data/vendor/pygments-main/pygments/lexers/_mapping.py +6 -3
  50. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -2
  51. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +2 -3
  52. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +439 -386
  53. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +1 -2
  54. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -2
  55. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -2
  56. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -2
  57. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -2
  58. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +91 -55
  59. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -2
  60. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -2
  61. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -2
  62. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -2
  63. data/vendor/pygments-main/pygments/lexers/actionscript.py +7 -8
  64. data/vendor/pygments-main/pygments/lexers/agile.py +1 -2
  65. data/vendor/pygments-main/pygments/lexers/algebra.py +1 -2
  66. data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
  67. data/vendor/pygments-main/pygments/lexers/amdgpu.py +48 -0
  68. data/vendor/pygments-main/pygments/lexers/ampl.py +1 -2
  69. data/vendor/pygments-main/pygments/lexers/apl.py +1 -2
  70. data/vendor/pygments-main/pygments/lexers/archetype.py +2 -3
  71. data/vendor/pygments-main/pygments/lexers/arrow.py +1 -2
  72. data/vendor/pygments-main/pygments/lexers/asm.py +1 -2
  73. data/vendor/pygments-main/pygments/lexers/automation.py +7 -2
  74. data/vendor/pygments-main/pygments/lexers/bare.py +1 -2
  75. data/vendor/pygments-main/pygments/lexers/basic.py +3 -4
  76. data/vendor/pygments-main/pygments/lexers/bibtex.py +1 -2
  77. data/vendor/pygments-main/pygments/lexers/boa.py +4 -5
  78. data/vendor/pygments-main/pygments/lexers/business.py +3 -4
  79. data/vendor/pygments-main/pygments/lexers/c_cpp.py +2 -4
  80. data/vendor/pygments-main/pygments/lexers/c_like.py +1 -2
  81. data/vendor/pygments-main/pygments/lexers/capnproto.py +1 -2
  82. data/vendor/pygments-main/pygments/lexers/cddl.py +190 -0
  83. data/vendor/pygments-main/pygments/lexers/chapel.py +3 -4
  84. data/vendor/pygments-main/pygments/lexers/clean.py +1 -2
  85. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -2
  86. data/vendor/pygments-main/pygments/lexers/configs.py +6 -5
  87. data/vendor/pygments-main/pygments/lexers/console.py +1 -2
  88. data/vendor/pygments-main/pygments/lexers/crystal.py +53 -79
  89. data/vendor/pygments-main/pygments/lexers/csound.py +1 -2
  90. data/vendor/pygments-main/pygments/lexers/css.py +11 -8
  91. data/vendor/pygments-main/pygments/lexers/d.py +3 -4
  92. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -2
  93. data/vendor/pygments-main/pygments/lexers/data.py +2 -3
  94. data/vendor/pygments-main/pygments/lexers/devicetree.py +1 -2
  95. data/vendor/pygments-main/pygments/lexers/diff.py +1 -2
  96. data/vendor/pygments-main/pygments/lexers/dotnet.py +7 -8
  97. data/vendor/pygments-main/pygments/lexers/dsls.py +3 -4
  98. data/vendor/pygments-main/pygments/lexers/dylan.py +1 -2
  99. data/vendor/pygments-main/pygments/lexers/ecl.py +4 -6
  100. data/vendor/pygments-main/pygments/lexers/eiffel.py +2 -3
  101. data/vendor/pygments-main/pygments/lexers/elm.py +1 -2
  102. data/vendor/pygments-main/pygments/lexers/email.py +1 -2
  103. data/vendor/pygments-main/pygments/lexers/erlang.py +1 -2
  104. data/vendor/pygments-main/pygments/lexers/esoteric.py +1 -2
  105. data/vendor/pygments-main/pygments/lexers/ezhil.py +1 -2
  106. data/vendor/pygments-main/pygments/lexers/factor.py +3 -4
  107. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -2
  108. data/vendor/pygments-main/pygments/lexers/felix.py +1 -2
  109. data/vendor/pygments-main/pygments/lexers/floscript.py +1 -2
  110. data/vendor/pygments-main/pygments/lexers/forth.py +2 -3
  111. data/vendor/pygments-main/pygments/lexers/fortran.py +9 -7
  112. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -2
  113. data/vendor/pygments-main/pygments/lexers/freefem.py +1 -2
  114. data/vendor/pygments-main/pygments/lexers/functional.py +1 -2
  115. data/vendor/pygments-main/pygments/lexers/futhark.py +110 -0
  116. data/vendor/pygments-main/pygments/lexers/gdscript.py +1 -2
  117. data/vendor/pygments-main/pygments/lexers/go.py +2 -3
  118. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +1 -2
  119. data/vendor/pygments-main/pygments/lexers/graph.py +1 -2
  120. data/vendor/pygments-main/pygments/lexers/graphics.py +3 -4
  121. data/vendor/pygments-main/pygments/lexers/graphviz.py +57 -0
  122. data/vendor/pygments-main/pygments/lexers/haskell.py +1 -2
  123. data/vendor/pygments-main/pygments/lexers/haxe.py +3 -4
  124. data/vendor/pygments-main/pygments/lexers/hdl.py +2 -6
  125. data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -2
  126. data/vendor/pygments-main/pygments/lexers/html.py +7 -8
  127. data/vendor/pygments-main/pygments/lexers/idl.py +1 -2
  128. data/vendor/pygments-main/pygments/lexers/igor.py +1 -2
  129. data/vendor/pygments-main/pygments/lexers/inferno.py +1 -2
  130. data/vendor/pygments-main/pygments/lexers/installers.py +1 -2
  131. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -2
  132. data/vendor/pygments-main/pygments/lexers/iolang.py +2 -3
  133. data/vendor/pygments-main/pygments/lexers/j.py +2 -3
  134. data/vendor/pygments-main/pygments/lexers/javascript.py +57 -61
  135. data/vendor/pygments-main/pygments/lexers/julia.py +1 -2
  136. data/vendor/pygments-main/pygments/lexers/jvm.py +174 -108
  137. data/vendor/pygments-main/pygments/lexers/lisp.py +7 -8
  138. data/vendor/pygments-main/pygments/lexers/make.py +3 -4
  139. data/vendor/pygments-main/pygments/lexers/markup.py +11 -14
  140. data/vendor/pygments-main/pygments/lexers/math.py +1 -2
  141. data/vendor/pygments-main/pygments/lexers/matlab.py +2644 -84
  142. data/vendor/pygments-main/pygments/lexers/mime.py +2 -3
  143. data/vendor/pygments-main/pygments/lexers/ml.py +7 -8
  144. data/vendor/pygments-main/pygments/lexers/modeling.py +1 -2
  145. data/vendor/pygments-main/pygments/lexers/modula2.py +3 -4
  146. data/vendor/pygments-main/pygments/lexers/monte.py +1 -2
  147. data/vendor/pygments-main/pygments/lexers/mosel.py +1 -2
  148. data/vendor/pygments-main/pygments/lexers/ncl.py +1 -2
  149. data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -2
  150. data/vendor/pygments-main/pygments/lexers/nit.py +1 -2
  151. data/vendor/pygments-main/pygments/lexers/nix.py +1 -2
  152. data/vendor/pygments-main/pygments/lexers/oberon.py +1 -2
  153. data/vendor/pygments-main/pygments/lexers/objective.py +3 -4
  154. data/vendor/pygments-main/pygments/lexers/ooc.py +1 -2
  155. data/vendor/pygments-main/pygments/lexers/other.py +1 -2
  156. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -2
  157. data/vendor/pygments-main/pygments/lexers/parsers.py +25 -26
  158. data/vendor/pygments-main/pygments/lexers/pascal.py +1 -2
  159. data/vendor/pygments-main/pygments/lexers/pawn.py +2 -5
  160. data/vendor/pygments-main/pygments/lexers/perl.py +1 -2
  161. data/vendor/pygments-main/pygments/lexers/php.py +3 -4
  162. data/vendor/pygments-main/pygments/lexers/pointless.py +1 -2
  163. data/vendor/pygments-main/pygments/lexers/pony.py +1 -2
  164. data/vendor/pygments-main/pygments/lexers/praat.py +1 -2
  165. data/vendor/pygments-main/pygments/lexers/prolog.py +3 -4
  166. data/vendor/pygments-main/pygments/lexers/promql.py +1 -2
  167. data/vendor/pygments-main/pygments/lexers/python.py +19 -12
  168. data/vendor/pygments-main/pygments/lexers/qvt.py +1 -2
  169. data/vendor/pygments-main/pygments/lexers/r.py +1 -2
  170. data/vendor/pygments-main/pygments/lexers/rdf.py +1 -2
  171. data/vendor/pygments-main/pygments/lexers/rebol.py +1 -2
  172. data/vendor/pygments-main/pygments/lexers/resource.py +1 -2
  173. data/vendor/pygments-main/pygments/lexers/ride.py +1 -2
  174. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -2
  175. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -2
  176. data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -2
  177. data/vendor/pygments-main/pygments/lexers/ruby.py +30 -24
  178. data/vendor/pygments-main/pygments/lexers/rust.py +1 -2
  179. data/vendor/pygments-main/pygments/lexers/sas.py +1 -2
  180. data/vendor/pygments-main/pygments/lexers/scdoc.py +1 -2
  181. data/vendor/pygments-main/pygments/lexers/scripting.py +5 -6
  182. data/vendor/pygments-main/pygments/lexers/sgf.py +1 -2
  183. data/vendor/pygments-main/pygments/lexers/shell.py +5 -10
  184. data/vendor/pygments-main/pygments/lexers/sieve.py +1 -2
  185. data/vendor/pygments-main/pygments/lexers/slash.py +1 -2
  186. data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -2
  187. data/vendor/pygments-main/pygments/lexers/smv.py +1 -2
  188. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -2
  189. data/vendor/pygments-main/pygments/lexers/solidity.py +1 -2
  190. data/vendor/pygments-main/pygments/lexers/special.py +29 -28
  191. data/vendor/pygments-main/pygments/lexers/sql.py +8 -13
  192. data/vendor/pygments-main/pygments/lexers/stata.py +1 -2
  193. data/vendor/pygments-main/pygments/lexers/supercollider.py +3 -4
  194. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -2
  195. data/vendor/pygments-main/pygments/lexers/templates.py +15 -16
  196. data/vendor/pygments-main/pygments/lexers/teraterm.py +1 -2
  197. data/vendor/pygments-main/pygments/lexers/testing.py +1 -2
  198. data/vendor/pygments-main/pygments/lexers/text.py +1 -2
  199. data/vendor/pygments-main/pygments/lexers/textedit.py +3 -4
  200. data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -2
  201. data/vendor/pygments-main/pygments/lexers/theorem.py +7 -5
  202. data/vendor/pygments-main/pygments/lexers/tnt.py +1 -2
  203. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -2
  204. data/vendor/pygments-main/pygments/lexers/typoscript.py +1 -2
  205. data/vendor/pygments-main/pygments/lexers/unicon.py +1 -2
  206. data/vendor/pygments-main/pygments/lexers/urbi.py +3 -4
  207. data/vendor/pygments-main/pygments/lexers/usd.py +1 -2
  208. data/vendor/pygments-main/pygments/lexers/varnish.py +2 -3
  209. data/vendor/pygments-main/pygments/lexers/verification.py +1 -2
  210. data/vendor/pygments-main/pygments/lexers/web.py +1 -2
  211. data/vendor/pygments-main/pygments/lexers/webidl.py +1 -2
  212. data/vendor/pygments-main/pygments/lexers/webmisc.py +5 -5
  213. data/vendor/pygments-main/pygments/lexers/whiley.py +1 -2
  214. data/vendor/pygments-main/pygments/lexers/x10.py +2 -3
  215. data/vendor/pygments-main/pygments/lexers/xorg.py +1 -2
  216. data/vendor/pygments-main/pygments/lexers/yang.py +1 -2
  217. data/vendor/pygments-main/pygments/lexers/zig.py +1 -2
  218. data/vendor/pygments-main/pygments/modeline.py +1 -2
  219. data/vendor/pygments-main/pygments/plugin.py +2 -3
  220. data/vendor/pygments-main/pygments/regexopt.py +1 -2
  221. data/vendor/pygments-main/pygments/scanner.py +1 -2
  222. data/vendor/pygments-main/pygments/sphinxext.py +1 -2
  223. data/vendor/pygments-main/pygments/style.py +3 -4
  224. data/vendor/pygments-main/pygments/styles/__init__.py +3 -2
  225. data/vendor/pygments-main/pygments/styles/abap.py +1 -2
  226. data/vendor/pygments-main/pygments/styles/algol.py +1 -2
  227. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -2
  228. data/vendor/pygments-main/pygments/styles/arduino.py +1 -2
  229. data/vendor/pygments-main/pygments/styles/autumn.py +1 -2
  230. data/vendor/pygments-main/pygments/styles/borland.py +1 -2
  231. data/vendor/pygments-main/pygments/styles/bw.py +1 -2
  232. data/vendor/pygments-main/pygments/styles/colorful.py +1 -2
  233. data/vendor/pygments-main/pygments/styles/default.py +1 -2
  234. data/vendor/pygments-main/pygments/styles/emacs.py +1 -2
  235. data/vendor/pygments-main/pygments/styles/friendly.py +1 -2
  236. data/vendor/pygments-main/pygments/styles/fruity.py +1 -2
  237. data/vendor/pygments-main/pygments/styles/igor.py +1 -2
  238. data/vendor/pygments-main/pygments/styles/inkpot.py +1 -2
  239. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -2
  240. data/vendor/pygments-main/pygments/styles/manni.py +1 -2
  241. data/vendor/pygments-main/pygments/styles/material.py +118 -0
  242. data/vendor/pygments-main/pygments/styles/monokai.py +1 -2
  243. data/vendor/pygments-main/pygments/styles/murphy.py +1 -2
  244. data/vendor/pygments-main/pygments/styles/native.py +1 -2
  245. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -2
  246. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -2
  247. data/vendor/pygments-main/pygments/styles/pastie.py +1 -2
  248. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
  249. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -2
  250. data/vendor/pygments-main/pygments/styles/rrt.py +1 -2
  251. data/vendor/pygments-main/pygments/styles/sas.py +1 -2
  252. data/vendor/pygments-main/pygments/styles/solarized.py +4 -2
  253. data/vendor/pygments-main/pygments/styles/stata_dark.py +1 -2
  254. data/vendor/pygments-main/pygments/styles/stata_light.py +1 -2
  255. data/vendor/pygments-main/pygments/styles/tango.py +1 -2
  256. data/vendor/pygments-main/pygments/styles/trac.py +1 -2
  257. data/vendor/pygments-main/pygments/styles/vim.py +1 -2
  258. data/vendor/pygments-main/pygments/styles/vs.py +1 -2
  259. data/vendor/pygments-main/pygments/styles/xcode.py +1 -2
  260. data/vendor/pygments-main/pygments/styles/zenburn.py +80 -0
  261. data/vendor/pygments-main/pygments/token.py +1 -2
  262. data/vendor/pygments-main/pygments/unistring.py +1 -2
  263. data/vendor/pygments-main/pygments/util.py +2 -5
  264. metadata +21 -14
  265. data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +0 -482
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.mime
4
3
  ~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexer for Multipurpose Internet Mail Extensions (MIME) data.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -77,7 +76,7 @@ class MIMELexer(RegexLexer):
77
76
  return 1
78
77
 
79
78
  except ValueError:
80
- return 0.1
79
+ return 0
81
80
 
82
81
  def get_header_tokens(self, match):
83
82
  field = match.group(1)
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.ml
4
3
  ~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for ML family languages.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -142,7 +141,7 @@ class SMLLexer(RegexLexer):
142
141
  (r'#\s+(%s)' % symbolicid_re, Name.Label),
143
142
  # Some reserved words trigger a special, local lexer state change
144
143
  (r'\b(datatype|abstype)\b(?!\')', Keyword.Reserved, 'dname'),
145
- (r'(?=\b(exception)\b(?!\'))', Text, ('ename')),
144
+ (r'\b(exception)\b(?!\')', Keyword.Reserved, 'ename'),
146
145
  (r'\b(functor|include|open|signature|structure)\b(?!\')',
147
146
  Keyword.Reserved, 'sname'),
148
147
  (r'\b(type|eqtype)\b(?!\')', Keyword.Reserved, 'tname'),
@@ -315,15 +314,14 @@ class SMLLexer(RegexLexer):
315
314
  'ename': [
316
315
  include('whitespace'),
317
316
 
318
- (r'(exception|and)\b(\s+)(%s)' % alphanumid_re,
317
+ (r'(and\b)(\s+)(%s)' % alphanumid_re,
319
318
  bygroups(Keyword.Reserved, Text, Name.Class)),
320
- (r'(exception|and)\b(\s*)(%s)' % symbolicid_re,
319
+ (r'(and\b)(\s*)(%s)' % symbolicid_re,
321
320
  bygroups(Keyword.Reserved, Text, Name.Class)),
322
321
  (r'\b(of)\b(?!\')', Keyword.Reserved),
322
+ (r'(%s)|(%s)' % (alphanumid_re, symbolicid_re), Name.Class),
323
323
 
324
- include('breakout'),
325
- include('core'),
326
- (r'\S+', Error),
324
+ default('#pop'),
327
325
  ],
328
326
 
329
327
  'datcon': [
@@ -445,6 +443,7 @@ class OcamlLexer(RegexLexer):
445
443
  ],
446
444
  }
447
445
 
446
+
448
447
  class OpaLexer(RegexLexer):
449
448
  """
450
449
  Lexer for the Opa language (http://opalang.org).
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.modeling
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for modeling languages.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.modula2
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Multi-Dialect Lexer for Modula-2.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -228,8 +227,8 @@ class Modula2Lexer(RegexLexer):
228
227
  (r'[0-9A-F]+H', Number.Hex),
229
228
  ],
230
229
  'string_literals': [
231
- (r"'(\\\\|\\'|[^'])*'", String), # single quoted string
232
- (r'"(\\\\|\\"|[^"])*"', String), # double quoted string
230
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
231
+ (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
233
232
  ],
234
233
  'digraph_operators': [
235
234
  # Dot Product Operator
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.monte
4
3
  ~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexer for the Monte programming language.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.mosel
4
3
  ~~~~~~~~~~~~~~~~~~~~~
@@ -6,7 +5,7 @@
6
5
  Lexers for the mosel language.
7
6
  http://www.fico.com/en/products/fico-xpress-optimization
8
7
 
9
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
10
9
  :license: BSD, see LICENSE for details.
11
10
  """
12
11
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.ncl
4
3
  ~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for NCAR Command Language.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.nimrod
4
3
  ~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexer for the Nim language (formerly known as Nimrod).
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.nit
4
3
  ~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexer for the Nit language.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.nix
4
3
  ~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for the NixOS Nix language.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.oberon
4
3
  ~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for Oberon family languages.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.objective
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for Objective-C family languages.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -261,11 +260,11 @@ class LogosLexer(ObjectiveCppLexer):
261
260
  'logos_classname'),
262
261
  (r'(%hook|%group)(\s+)([a-zA-Z$_][\w$]+)',
263
262
  bygroups(Keyword, Text, Name.Class)),
264
- (r'(%config)(\s*\(\s*)(\w+)(\s*=\s*)(.*?)(\s*\)\s*)',
263
+ (r'(%config)(\s*\(\s*)(\w+)(\s*=)(.*?)(\)\s*)',
265
264
  bygroups(Keyword, Text, Name.Variable, Text, String, Text)),
266
265
  (r'(%ctor)(\s*)(\{)', bygroups(Keyword, Text, Punctuation),
267
266
  'function'),
268
- (r'(%new)(\s*)(\()(\s*.*?\s*)(\))',
267
+ (r'(%new)(\s*)(\()(.*?)(\))',
269
268
  bygroups(Keyword, Text, Keyword, String, Keyword)),
270
269
  (r'(\s*)(%end)(\s*)', bygroups(Text, Keyword, Text)),
271
270
  inherit,
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.ooc
4
3
  ~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for the Ooc language.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.other
4
3
  ~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Just export lexer classes previously contained in this module.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.parasail
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexer for ParaSail.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.parsers
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for parser generators.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -64,10 +63,10 @@ class RagelLexer(RegexLexer):
64
63
  (r'[+-]?[0-9]+', Number.Integer),
65
64
  ],
66
65
  'literals': [
67
- (r'"(\\\\|\\"|[^"])*"', String), # double quote string
68
- (r"'(\\\\|\\'|[^'])*'", String), # single quote string
69
- (r'\[(\\\\|\\\]|[^\]])*\]', String), # square bracket literals
70
- (r'/(?!\*)(\\\\|\\/|[^/])*/', String.Regex), # regular expressions
66
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
67
+ (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
68
+ (r'\[(\\\\|\\[^\\]|[^\\\]])*\]', String), # square bracket literals
69
+ (r'/(?!\*)(\\\\|\\[^\\]|[^/\\])*/', String.Regex), # regular expressions
71
70
  ],
72
71
  'identifiers': [
73
72
  (r'[a-zA-Z_]\w*', Name.Variable),
@@ -106,15 +105,15 @@ class RagelLexer(RegexLexer):
106
105
  r'[^\\]\\[{}]', # allow escaped { or }
107
106
 
108
107
  # strings and comments may safely contain unsafe characters
109
- r'"(\\\\|\\"|[^"])*"', # double quote string
110
- r"'(\\\\|\\'|[^'])*'", # single quote string
108
+ r'"(\\\\|\\[^\\]|[^"\\])*"',
109
+ r"'(\\\\|\\[^\\]|[^'\\])*'",
111
110
  r'//.*$\n?', # single line comment
112
111
  r'/\*(.|\n)*?\*/', # multi-line javadoc-style comment
113
112
  r'\#.*$\n?', # ruby comment
114
113
 
115
114
  # regular expression: There's no reason for it to start
116
115
  # with a * and this stops confusion with comments.
117
- r'/(?!\*)(\\\\|\\/|[^/])*/',
116
+ r'/(?!\*)(\\\\|\\[^\\]|[^/\\])*/',
118
117
 
119
118
  # / is safe now that we've handled regex and javadoc comments
120
119
  r'/',
@@ -147,12 +146,12 @@ class RagelEmbeddedLexer(RegexLexer):
147
146
  r'%(?=[^%]|$)', # a single % sign is okay, just not 2 of them
148
147
 
149
148
  # strings and comments may safely contain unsafe characters
150
- r'"(\\\\|\\"|[^"])*"', # double quote string
151
- r"'(\\\\|\\'|[^'])*'", # single quote string
149
+ r'"(\\\\|\\[^\\]|[^"\\])*"',
150
+ r"'(\\\\|\\[^\\]|[^'\\])*'",
152
151
  r'/\*(.|\n)*?\*/', # multi-line javadoc-style comment
153
152
  r'//.*$\n?', # single line comment
154
153
  r'\#.*$\n?', # ruby/ragel comment
155
- r'/(?!\*)(\\\\|\\/|[^/])*/', # regular expression
154
+ r'/(?!\*)(\\\\|\\[^\\]|[^/\\])*/', # regular expression
156
155
 
157
156
  # / is safe now that we've handled regex and javadoc comments
158
157
  r'/',
@@ -182,7 +181,7 @@ class RagelEmbeddedLexer(RegexLexer):
182
181
 
183
182
  # specifically allow regex followed immediately by *
184
183
  # so it doesn't get mistaken for a comment
185
- r'/(?!\*)(\\\\|\\/|[^/])*/\*',
184
+ r'/(?!\*)(\\\\|\\[^\\]|[^/\\])*/\*',
186
185
 
187
186
  # allow / as long as it's not followed by another / or by a *
188
187
  r'/(?=[^/*]|$)',
@@ -193,9 +192,9 @@ class RagelEmbeddedLexer(RegexLexer):
193
192
  )) + r')+',
194
193
 
195
194
  # strings and comments may safely contain unsafe characters
196
- r'"(\\\\|\\"|[^"])*"', # double quote string
197
- r"'(\\\\|\\'|[^'])*'", # single quote string
198
- r"\[(\\\\|\\\]|[^\]])*\]", # square bracket literal
195
+ r'"(\\\\|\\[^\\]|[^"\\])*"',
196
+ r"'(\\\\|\\[^\\]|[^'\\])*'",
197
+ r"\[(\\\\|\\[^\\]|[^\]\\])*\]", # square bracket literal
199
198
  r'/\*(.|\n)*?\*/', # multi-line javadoc-style comment
200
199
  r'//.*$\n?', # single line comment
201
200
  r'\#.*$\n?', # ruby/ragel comment
@@ -416,8 +415,8 @@ class AntlrLexer(RegexLexer):
416
415
  (r':', Punctuation),
417
416
 
418
417
  # literals
419
- (r"'(\\\\|\\'|[^'])*'", String),
420
- (r'"(\\\\|\\"|[^"])*"', String),
418
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
419
+ (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
421
420
  (r'<<([^>]|>[^>])>>', String),
422
421
  # identifiers
423
422
  # Tokens start with capital letter.
@@ -456,14 +455,14 @@ class AntlrLexer(RegexLexer):
456
455
  r'[^${}\'"/\\]+', # exclude unsafe characters
457
456
 
458
457
  # strings and comments may safely contain unsafe characters
459
- r'"(\\\\|\\"|[^"])*"', # double quote string
460
- r"'(\\\\|\\'|[^'])*'", # single quote string
458
+ r'"(\\\\|\\[^\\]|[^"\\])*"',
459
+ r"'(\\\\|\\[^\\]|[^'\\])*'",
461
460
  r'//.*$\n?', # single line comment
462
461
  r'/\*(.|\n)*?\*/', # multi-line javadoc-style comment
463
462
 
464
463
  # regular expression: There's no reason for it to start
465
464
  # with a * and this stops confusion with comments.
466
- r'/(?!\*)(\\\\|\\/|[^/])*/',
465
+ r'/(?!\*)(\\\\|\\[^\\]|[^/\\])*/',
467
466
 
468
467
  # backslashes are okay, as long as we are not backslashing a %
469
468
  r'\\(?!%)',
@@ -483,14 +482,14 @@ class AntlrLexer(RegexLexer):
483
482
  r'[^$\[\]\'"/]+', # exclude unsafe characters
484
483
 
485
484
  # strings and comments may safely contain unsafe characters
486
- r'"(\\\\|\\"|[^"])*"', # double quote string
487
- r"'(\\\\|\\'|[^'])*'", # single quote string
485
+ r'"(\\\\|\\[^\\]|[^"\\])*"',
486
+ r"'(\\\\|\\[^\\]|[^'\\])*'",
488
487
  r'//.*$\n?', # single line comment
489
488
  r'/\*(.|\n)*?\*/', # multi-line javadoc-style comment
490
489
 
491
490
  # regular expression: There's no reason for it to start
492
491
  # with a * and this stops confusion with comments.
493
- r'/(?!\*)(\\\\|\\/|[^/])*/',
492
+ r'/(?!\*)(\\\\|\\[^\\]|[^/\\])*/',
494
493
 
495
494
  # Now that we've handled regex and javadoc comments
496
495
  # it's safe to let / through.
@@ -701,8 +700,8 @@ class TreetopBaseLexer(RegexLexer):
701
700
  'rule': [
702
701
  include('space'),
703
702
  include('end'),
704
- (r'"(\\\\|\\"|[^"])*"', String.Double),
705
- (r"'(\\\\|\\'|[^'])*'", String.Single),
703
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
704
+ (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
706
705
  (r'([A-Za-z_]\w*)(:)', bygroups(Name.Label, Punctuation)),
707
706
  (r'[A-Za-z_]\w*', Name),
708
707
  (r'[()]', Punctuation),
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.pascal
4
3
  ~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for Pascal family languages.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -1,17 +1,16 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.pawn
4
3
  ~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for the Pawn languages.
7
6
 
8
- :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
12
11
  from pygments.lexer import RegexLexer
13
12
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
14
- Number, Punctuation, Error
13
+ Number, Punctuation
15
14
  from pygments.util import get_bool_opt
16
15
 
17
16
  __all__ = ['SourcePawnLexer', 'PawnLexer']
@@ -54,7 +53,6 @@ class SourcePawnLexer(RegexLexer):
54
53
  (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
55
54
  (r'0[0-7]+[LlUu]*', Number.Oct),
56
55
  (r'\d+[LlUu]*', Number.Integer),
57
- (r'\*/', Error),
58
56
  (r'[~!%^&*+=|?:<>/-]', Operator),
59
57
  (r'[()\[\],.;]', Punctuation),
60
58
  (r'(case|const|continue|native|'
@@ -166,7 +164,6 @@ class PawnLexer(RegexLexer):
166
164
  (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
167
165
  (r'0[0-7]+[LlUu]*', Number.Oct),
168
166
  (r'\d+[LlUu]*', Number.Integer),
169
- (r'\*/', Error),
170
167
  (r'[~!%^&*+=|?:<>/-]', Operator),
171
168
  (r'[()\[\],.;]', Punctuation),
172
169
  (r'(switch|case|default|const|new|static|char|continue|break|'