pygments.rb 1.1.2 → 1.2.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 (230) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -1
  3. data/Rakefile +1 -0
  4. data/lib/pygments/version.rb +1 -1
  5. data/pygments.rb.gemspec +1 -2
  6. data/vendor/pygments-main/AUTHORS +2 -0
  7. data/vendor/pygments-main/CHANGES +27 -4
  8. data/vendor/pygments-main/LICENSE +1 -1
  9. data/vendor/pygments-main/MANIFEST.in +1 -1
  10. data/vendor/pygments-main/Makefile +1 -1
  11. data/vendor/pygments-main/REVISION +1 -1
  12. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +1 -1
  13. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +1 -1
  14. data/vendor/pygments-main/doc/docs/api.rst +23 -0
  15. data/vendor/pygments-main/doc/docs/cmdline.rst +17 -0
  16. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +42 -3
  17. data/vendor/pygments-main/external/autopygmentize +28 -11
  18. data/vendor/pygments-main/external/markdown-processor.py +1 -1
  19. data/vendor/pygments-main/external/moin-parser.py +1 -1
  20. data/vendor/pygments-main/external/rst-directive.py +1 -1
  21. data/vendor/pygments-main/pygments/__init__.py +2 -2
  22. data/vendor/pygments-main/pygments/cmdline.py +61 -17
  23. data/vendor/pygments-main/pygments/console.py +1 -1
  24. data/vendor/pygments-main/pygments/filter.py +1 -1
  25. data/vendor/pygments-main/pygments/filters/__init__.py +1 -1
  26. data/vendor/pygments-main/pygments/formatter.py +1 -1
  27. data/vendor/pygments-main/pygments/formatters/__init__.py +37 -2
  28. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -1
  29. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  30. data/vendor/pygments-main/pygments/formatters/html.py +1 -1
  31. data/vendor/pygments-main/pygments/formatters/img.py +38 -1
  32. data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
  33. data/vendor/pygments-main/pygments/formatters/latex.py +1 -1
  34. data/vendor/pygments-main/pygments/formatters/other.py +1 -1
  35. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
  36. data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
  37. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  38. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  39. data/vendor/pygments-main/pygments/lexer.py +1 -1
  40. data/vendor/pygments-main/pygments/lexers/__init__.py +39 -5
  41. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  42. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  43. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +1 -1
  44. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  45. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +8 -1
  46. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -1
  47. data/vendor/pygments-main/pygments/lexers/_mapping.py +6 -5
  48. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  49. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  50. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +1 -1
  51. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -1
  52. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -1
  54. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
  55. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  56. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  58. data/vendor/pygments-main/pygments/lexers/actionscript.py +1 -1
  59. data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
  60. data/vendor/pygments-main/pygments/lexers/algebra.py +1 -1
  61. data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
  62. data/vendor/pygments-main/pygments/lexers/ampl.py +1 -1
  63. data/vendor/pygments-main/pygments/lexers/apl.py +1 -1
  64. data/vendor/pygments-main/pygments/lexers/archetype.py +1 -1
  65. data/vendor/pygments-main/pygments/lexers/asm.py +21 -10
  66. data/vendor/pygments-main/pygments/lexers/automation.py +3 -3
  67. data/vendor/pygments-main/pygments/lexers/basic.py +1 -1
  68. data/vendor/pygments-main/pygments/lexers/bibtex.py +9 -5
  69. data/vendor/pygments-main/pygments/lexers/business.py +53 -35
  70. data/vendor/pygments-main/pygments/lexers/c_cpp.py +1 -1
  71. data/vendor/pygments-main/pygments/lexers/c_like.py +2 -2
  72. data/vendor/pygments-main/pygments/lexers/capnproto.py +14 -15
  73. data/vendor/pygments-main/pygments/lexers/chapel.py +4 -3
  74. data/vendor/pygments-main/pygments/lexers/clean.py +11 -11
  75. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
  76. data/vendor/pygments-main/pygments/lexers/configs.py +3 -3
  77. data/vendor/pygments-main/pygments/lexers/console.py +1 -1
  78. data/vendor/pygments-main/pygments/lexers/crystal.py +29 -20
  79. data/vendor/pygments-main/pygments/lexers/csound.py +1 -1
  80. data/vendor/pygments-main/pygments/lexers/css.py +1 -1
  81. data/vendor/pygments-main/pygments/lexers/d.py +1 -1
  82. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
  83. data/vendor/pygments-main/pygments/lexers/data.py +1 -1
  84. data/vendor/pygments-main/pygments/lexers/diff.py +1 -1
  85. data/vendor/pygments-main/pygments/lexers/dotnet.py +1 -1
  86. data/vendor/pygments-main/pygments/lexers/dsls.py +4 -4
  87. data/vendor/pygments-main/pygments/lexers/dylan.py +1 -1
  88. data/vendor/pygments-main/pygments/lexers/ecl.py +1 -1
  89. data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
  90. data/vendor/pygments-main/pygments/lexers/elm.py +1 -1
  91. data/vendor/pygments-main/pygments/lexers/erlang.py +1 -1
  92. data/vendor/pygments-main/pygments/lexers/esoteric.py +9 -7
  93. data/vendor/pygments-main/pygments/lexers/ezhil.py +4 -3
  94. data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
  95. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
  96. data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
  97. data/vendor/pygments-main/pygments/lexers/forth.py +1 -1
  98. data/vendor/pygments-main/pygments/lexers/fortran.py +1 -1
  99. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
  100. data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
  101. data/vendor/pygments-main/pygments/lexers/go.py +1 -1
  102. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +2 -2
  103. data/vendor/pygments-main/pygments/lexers/graph.py +1 -1
  104. data/vendor/pygments-main/pygments/lexers/graphics.py +1 -1
  105. data/vendor/pygments-main/pygments/lexers/haskell.py +5 -2
  106. data/vendor/pygments-main/pygments/lexers/haxe.py +1 -1
  107. data/vendor/pygments-main/pygments/lexers/hdl.py +1 -1
  108. data/vendor/pygments-main/pygments/lexers/hexdump.py +18 -12
  109. data/vendor/pygments-main/pygments/lexers/html.py +1 -1
  110. data/vendor/pygments-main/pygments/lexers/idl.py +2 -2
  111. data/vendor/pygments-main/pygments/lexers/igor.py +1 -1
  112. data/vendor/pygments-main/pygments/lexers/inferno.py +1 -1
  113. data/vendor/pygments-main/pygments/lexers/installers.py +1 -1
  114. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -1
  115. data/vendor/pygments-main/pygments/lexers/iolang.py +1 -1
  116. data/vendor/pygments-main/pygments/lexers/j.py +1 -1
  117. data/vendor/pygments-main/pygments/lexers/javascript.py +56 -37
  118. data/vendor/pygments-main/pygments/lexers/julia.py +3 -3
  119. data/vendor/pygments-main/pygments/lexers/jvm.py +1 -1
  120. data/vendor/pygments-main/pygments/lexers/lisp.py +1 -1
  121. data/vendor/pygments-main/pygments/lexers/make.py +1 -1
  122. data/vendor/pygments-main/pygments/lexers/markup.py +1 -1
  123. data/vendor/pygments-main/pygments/lexers/math.py +1 -1
  124. data/vendor/pygments-main/pygments/lexers/matlab.py +1 -1
  125. data/vendor/pygments-main/pygments/lexers/ml.py +1 -1
  126. data/vendor/pygments-main/pygments/lexers/modeling.py +1 -1
  127. data/vendor/pygments-main/pygments/lexers/modula2.py +1 -1
  128. data/vendor/pygments-main/pygments/lexers/monte.py +4 -3
  129. data/vendor/pygments-main/pygments/lexers/ncl.py +85 -244
  130. data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -1
  131. data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
  132. data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
  133. data/vendor/pygments-main/pygments/lexers/oberon.py +1 -1
  134. data/vendor/pygments-main/pygments/lexers/objective.py +1 -1
  135. data/vendor/pygments-main/pygments/lexers/ooc.py +1 -1
  136. data/vendor/pygments-main/pygments/lexers/other.py +1 -1
  137. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
  138. data/vendor/pygments-main/pygments/lexers/parsers.py +1 -1
  139. data/vendor/pygments-main/pygments/lexers/pascal.py +2 -2
  140. data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
  141. data/vendor/pygments-main/pygments/lexers/perl.py +17 -13
  142. data/vendor/pygments-main/pygments/lexers/php.py +1 -1
  143. data/vendor/pygments-main/pygments/lexers/praat.py +1 -1
  144. data/vendor/pygments-main/pygments/lexers/prolog.py +1 -1
  145. data/vendor/pygments-main/pygments/lexers/python.py +2 -1
  146. data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
  147. data/vendor/pygments-main/pygments/lexers/r.py +1 -1
  148. data/vendor/pygments-main/pygments/lexers/rdf.py +1 -1
  149. data/vendor/pygments-main/pygments/lexers/rebol.py +1 -1
  150. data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
  151. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
  152. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
  153. data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -1
  154. data/vendor/pygments-main/pygments/lexers/ruby.py +1 -1
  155. data/vendor/pygments-main/pygments/lexers/rust.py +41 -30
  156. data/vendor/pygments-main/pygments/lexers/sas.py +7 -7
  157. data/vendor/pygments-main/pygments/lexers/scripting.py +1 -1
  158. data/vendor/pygments-main/pygments/lexers/shell.py +14 -10
  159. data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -1
  160. data/vendor/pygments-main/pygments/lexers/smv.py +28 -24
  161. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
  162. data/vendor/pygments-main/pygments/lexers/special.py +1 -1
  163. data/vendor/pygments-main/pygments/lexers/sql.py +1 -1
  164. data/vendor/pygments-main/pygments/lexers/stata.py +9 -7
  165. data/vendor/pygments-main/pygments/lexers/supercollider.py +1 -1
  166. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
  167. data/vendor/pygments-main/pygments/lexers/templates.py +48 -17
  168. data/vendor/pygments-main/pygments/lexers/testing.py +1 -1
  169. data/vendor/pygments-main/pygments/lexers/text.py +1 -1
  170. data/vendor/pygments-main/pygments/lexers/textedit.py +1 -1
  171. data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -1
  172. data/vendor/pygments-main/pygments/lexers/theorem.py +1 -1
  173. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
  174. data/vendor/pygments-main/pygments/lexers/typoscript.py +8 -7
  175. data/vendor/pygments-main/pygments/lexers/urbi.py +1 -1
  176. data/vendor/pygments-main/pygments/lexers/varnish.py +3 -3
  177. data/vendor/pygments-main/pygments/lexers/verification.py +3 -3
  178. data/vendor/pygments-main/pygments/lexers/web.py +1 -1
  179. data/vendor/pygments-main/pygments/lexers/webmisc.py +20 -11
  180. data/vendor/pygments-main/pygments/lexers/whiley.py +7 -8
  181. data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
  182. data/vendor/pygments-main/pygments/lexers/xorg.py +36 -0
  183. data/vendor/pygments-main/pygments/modeline.py +6 -5
  184. data/vendor/pygments-main/pygments/plugin.py +12 -18
  185. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  186. data/vendor/pygments-main/pygments/scanner.py +1 -1
  187. data/vendor/pygments-main/pygments/sphinxext.py +1 -1
  188. data/vendor/pygments-main/pygments/style.py +1 -1
  189. data/vendor/pygments-main/pygments/styles/__init__.py +4 -2
  190. data/vendor/pygments-main/pygments/styles/abap.py +29 -0
  191. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  192. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  193. data/vendor/pygments-main/pygments/styles/arduino.py +1 -1
  194. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  195. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  196. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  197. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  198. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  199. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  200. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  201. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  202. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  203. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  204. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  205. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  206. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  207. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  208. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  209. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  210. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  211. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  212. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +89 -0
  213. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  214. data/vendor/pygments-main/pygments/styles/sas.py +3 -0
  215. data/vendor/pygments-main/pygments/styles/stata.py +3 -0
  216. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  217. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  218. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  219. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  220. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  221. data/vendor/pygments-main/pygments/token.py +1 -1
  222. data/vendor/pygments-main/pygments/unistring.py +1 -1
  223. data/vendor/pygments-main/pygments/util.py +5 -4
  224. data/vendor/pygments-main/scripts/check_sources.py +2 -2
  225. data/vendor/pygments-main/scripts/debug_lexer.py +1 -1
  226. data/vendor/pygments-main/scripts/get_vimkw.py +1 -1
  227. data/vendor/pygments-main/setup.cfg +2 -2
  228. data/vendor/pygments-main/setup.py +3 -3
  229. metadata +6 -4
  230. data/vendor/pygments-main/scripts/find_error.py +0 -1
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for the Nim language (formerly known as Nimrod).
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for the Nit language.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the NixOS Nix language.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Oberon family languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Objective-C family languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the Ooc language.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Just export lexer classes previously contained in this module.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for ParaSail.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for parser generators.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Pascal family languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -44,7 +44,7 @@ class DelphiLexer(Lexer):
44
44
  """
45
45
  name = 'Delphi'
46
46
  aliases = ['delphi', 'pas', 'pascal', 'objectpascal']
47
- filenames = ['*.pas']
47
+ filenames = ['*.pas', '*.dpr']
48
48
  mimetypes = ['text/x-pascal']
49
49
 
50
50
  TURBO_PASCAL_KEYWORDS = (
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the Pawn languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Perl and related languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -52,7 +52,7 @@ class PerlLexer(RegexLexer):
52
52
  (words((
53
53
  'case', 'continue', 'do', 'else', 'elsif', 'for', 'foreach',
54
54
  'if', 'last', 'my', 'next', 'our', 'redo', 'reset', 'then',
55
- 'unless', 'until', 'while', 'use', 'print', 'new', 'BEGIN',
55
+ 'unless', 'until', 'while', 'print', 'new', 'BEGIN',
56
56
  'CHECK', 'INIT', 'END', 'return'), suffix=r'\b'),
57
57
  Keyword),
58
58
  (r'(format)(\s+)(\w+)(\s*)(=)(\s*\n)',
@@ -94,10 +94,10 @@ class PerlLexer(RegexLexer):
94
94
  'getservbyport', 'getservent', 'getsockname', 'getsockopt', 'glob', 'gmtime',
95
95
  'goto', 'grep', 'hex', 'import', 'index', 'int', 'ioctl', 'join', 'keys', 'kill', 'last',
96
96
  'lc', 'lcfirst', 'length', 'link', 'listen', 'local', 'localtime', 'log', 'lstat',
97
- 'map', 'mkdir', 'msgctl', 'msgget', 'msgrcv', 'msgsnd', 'my', 'next', 'no', 'oct', 'open',
98
- 'opendir', 'ord', 'our', 'pack', 'package', 'pipe', 'pop', 'pos', 'printf',
97
+ 'map', 'mkdir', 'msgctl', 'msgget', 'msgrcv', 'msgsnd', 'my', 'next', 'oct', 'open',
98
+ 'opendir', 'ord', 'our', 'pack', 'pipe', 'pop', 'pos', 'printf',
99
99
  'prototype', 'push', 'quotemeta', 'rand', 'read', 'readdir',
100
- 'readline', 'readlink', 'readpipe', 'recv', 'redo', 'ref', 'rename', 'require',
100
+ 'readline', 'readlink', 'readpipe', 'recv', 'redo', 'ref', 'rename',
101
101
  'reverse', 'rewinddir', 'rindex', 'rmdir', 'scalar', 'seek', 'seekdir',
102
102
  'select', 'semctl', 'semget', 'semop', 'send', 'setgrent', 'sethostent', 'setnetent',
103
103
  'setpgrp', 'setpriority', 'setprotoent', 'setpwent', 'setservent',
@@ -131,8 +131,14 @@ class PerlLexer(RegexLexer):
131
131
  (r'(q|qq|qw|qr|qx)\[', String.Other, 'sb-string'),
132
132
  (r'(q|qq|qw|qr|qx)\<', String.Other, 'lt-string'),
133
133
  (r'(q|qq|qw|qr|qx)([\W_])(.|\n)*?\2', String.Other),
134
- (r'package\s+', Keyword, 'modulename'),
135
- (r'sub\s+', Keyword, 'funcname'),
134
+ (r'(package)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)',
135
+ bygroups(Keyword, Text, Name.Namespace)),
136
+ (r'(use|require|no)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)',
137
+ bygroups(Keyword, Text, Name.Namespace)),
138
+ (r'(sub)(\s+)', bygroups(Keyword, Text), 'funcname'),
139
+ (words((
140
+ 'no', 'package', 'require', 'use'), suffix=r'\b'),
141
+ Keyword),
136
142
  (r'(\[\]|\*\*|::|<<|>>|>=|<=>|<=|={3}|!=|=~|'
137
143
  r'!~|&&?|\|\||\.{1,3})', Operator),
138
144
  (r'[-+/*%=<>&^|!\\~]=?', Operator),
@@ -152,14 +158,12 @@ class PerlLexer(RegexLexer):
152
158
  (r'[\w:]+', Name.Variable, '#pop'),
153
159
  ],
154
160
  'name': [
155
- (r'\w+::', Name.Namespace),
161
+ (r'[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*(::)?(?=\s*->)', Name.Namespace, '#pop'),
162
+ (r'[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*::', Name.Namespace, '#pop'),
156
163
  (r'[\w:]+', Name, '#pop'),
157
164
  (r'[A-Z_]+(?=\W)', Name.Constant, '#pop'),
158
165
  (r'(?=\W)', Text, '#pop'),
159
166
  ],
160
- 'modulename': [
161
- (r'[a-zA-Z_]\w*', Name.Namespace, '#pop')
162
- ],
163
167
  'funcname': [
164
168
  (r'[a-zA-Z_]\w*[!?]?', Name.Function),
165
169
  (r'\s+', Text),
@@ -485,7 +489,7 @@ class Perl6Lexer(ExtendedRegexLexer):
485
489
  'common': [
486
490
  (r'#[`|=](?P<delimiter>(?P<first_char>[' + ''.join(PERL6_BRACKETS) + r'])(?P=first_char)*)',
487
491
  brackets_callback(Comment.Multiline)),
488
- (r'#[^\n]*$', Comment.Singleline),
492
+ (r'#[^\n]*$', Comment.Single),
489
493
  (r'^(\s*)=begin\s+(\w+)\b.*?^\1=end\s+\2', Comment.Multiline),
490
494
  (r'^(\s*)=for.*?\n\s*?\n', Comment.Multiline),
491
495
  (r'^=.*?\n\s*?\n', Comment.Multiline),
@@ -554,7 +558,7 @@ class Perl6Lexer(ExtendedRegexLexer):
554
558
  # make sure that '#' characters in quotes aren't treated as comments
555
559
  (r"(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'", String.Regex),
556
560
  (r'(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"', String.Regex),
557
- (r'#.*?$', Comment.Singleline),
561
+ (r'#.*?$', Comment.Single),
558
562
  (r'\{', embedded_perl6_callback),
559
563
  ('.+?', String.Regex),
560
564
  ],
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for PHP and related languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for Praat
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Prolog and Prolog-like languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Python and related languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -362,6 +362,7 @@ class Python3Lexer(RegexLexer):
362
362
  ]
363
363
  tokens['numbers'] = [
364
364
  (r'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),
365
+ (r'\d+[eE][+-]?[0-9]+j?', Number.Float),
365
366
  (r'0[oO][0-7]+', Number.Oct),
366
367
  (r'0[bB][01]+', Number.Bin),
367
368
  (r'0[xX][a-fA-F0-9]+', Number.Hex),
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for QVT Operational language.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the R/S languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for semantic web and RDF query languages and markup.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the REBOL and related languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for resource definition files.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for Relax-NG Compact syntax
7
7
 
8
- :copyright: Copyright 2016 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Roboconf DSL.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for Robot Framework.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Ruby and related languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the Rust language.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -27,6 +27,35 @@ class RustLexer(RegexLexer):
27
27
  aliases = ['rust']
28
28
  mimetypes = ['text/rust']
29
29
 
30
+ keyword_types = (
31
+ words(('u8', 'u16', 'u32', 'u64', 'i8', 'i16', 'i32', 'i64',
32
+ 'usize', 'isize', 'f32', 'f64', 'str', 'bool'),
33
+ suffix=r'\b'),
34
+ Keyword.Type)
35
+
36
+ builtin_types = (words((
37
+ # Reexported core operators
38
+ 'Copy', 'Send', 'Sized', 'Sync',
39
+ 'Drop', 'Fn', 'FnMut', 'FnOnce',
40
+
41
+ # Reexported types and traits
42
+ 'Box',
43
+ 'ToOwned',
44
+ 'Clone',
45
+ 'PartialEq', 'PartialOrd', 'Eq', 'Ord',
46
+ 'AsRef', 'AsMut', 'Into', 'From',
47
+ 'Default',
48
+ 'Iterator', 'Extend', 'IntoIterator',
49
+ 'DoubleEndedIterator', 'ExactSizeIterator',
50
+ 'Option',
51
+ 'Some', 'None',
52
+ 'Result',
53
+ 'Ok', 'Err',
54
+ 'SliceConcatExt',
55
+ 'String', 'ToString',
56
+ 'Vec'), suffix=r'\b'),
57
+ Name.Builtin)
58
+
30
59
  tokens = {
31
60
  'root': [
32
61
  # rust allows a file to start with a shebang, but if the first line
@@ -64,36 +93,14 @@ class RustLexer(RegexLexer):
64
93
  (r'fn\b', Keyword, 'funcname'),
65
94
  (r'(struct|enum|type|union)\b', Keyword, 'typename'),
66
95
  (r'(default)(\s+)(type|fn)\b', bygroups(Keyword, Text, Keyword)),
67
- (words(('u8', 'u16', 'u32', 'u64', 'i8', 'i16', 'i32', 'i64', 'usize',
68
- 'isize', 'f32', 'f64', 'str', 'bool'), suffix=r'\b'),
69
- Keyword.Type),
96
+ keyword_types,
70
97
  (r'self\b', Name.Builtin.Pseudo),
71
98
  # Prelude (taken from Rust’s src/libstd/prelude.rs)
72
- (words((
73
- # Reexported core operators
74
- 'Copy', 'Send', 'Sized', 'Sync',
75
- 'Drop', 'Fn', 'FnMut', 'FnOnce',
76
-
77
- # Reexported functions
78
- 'drop',
79
-
80
- # Reexported types and traits
81
- 'Box',
82
- 'ToOwned',
83
- 'Clone',
84
- 'PartialEq', 'PartialOrd', 'Eq', 'Ord',
85
- 'AsRef', 'AsMut', 'Into', 'From',
86
- 'Default',
87
- 'Iterator', 'Extend', 'IntoIterator',
88
- 'DoubleEndedIterator', 'ExactSizeIterator',
89
- 'Option',
90
- 'Some', 'None',
91
- 'Result',
92
- 'Ok', 'Err',
93
- 'SliceConcatExt',
94
- 'String', 'ToString',
95
- 'Vec'), suffix=r'\b'),
96
- Name.Builtin),
99
+ builtin_types,
100
+ # Path seperators, so types don't catch them.
101
+ (r'::\b', Text),
102
+ # Types in positions.
103
+ (r'(?::|->)', Text, 'typename'),
97
104
  # Labels
98
105
  (r'(break|continue)(\s*)(\'[A-Za-z_]\w*)?',
99
106
  bygroups(Keyword, Text.Whitespace, Name.Label)),
@@ -112,7 +119,8 @@ class RustLexer(RegexLexer):
112
119
  (r'0[xX][0-9a-fA-F_]+', Number.Hex, 'number_lit'),
113
120
  # Decimal Literal
114
121
  (r'[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|'
115
- r'\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)', Number.Float, 'number_lit'),
122
+ r'\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)', Number.Float,
123
+ 'number_lit'),
116
124
  (r'[0-9][0-9_]*', Number.Integer, 'number_lit'),
117
125
  # String Literal
118
126
  (r'b"', String, 'bytestring'),
@@ -164,6 +172,9 @@ class RustLexer(RegexLexer):
164
172
  ],
165
173
  'typename': [
166
174
  (r'\s+', Text),
175
+ (r'&', Keyword.Pseudo),
176
+ builtin_types,
177
+ keyword_types,
167
178
  (r'[a-zA-Z_]\w*', Name.Class, '#pop'),
168
179
  default('#pop'),
169
180
  ],
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for SAS.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -16,6 +16,7 @@ from pygments.token import Comment, Keyword, Name, Number, String, Text, \
16
16
 
17
17
  __all__ = ['SASLexer']
18
18
 
19
+
19
20
  class SASLexer(RegexLexer):
20
21
  """
21
22
  For `SAS <http://www.sas.com/>`_ files.
@@ -136,7 +137,7 @@ class SASLexer(RegexLexer):
136
137
  ],
137
138
  # Special highlight for proc, data, quit, run
138
139
  'proc-data': [
139
- (r'(^|;)\s*(proc [a-zA-Z0-9_]+|data|run|quit)[\s;\n]',
140
+ (r'(^|;)\s*(proc \w+|data|run|quit)[\s;]',
140
141
  Keyword.Reserved),
141
142
  ],
142
143
  # Special highlight cards and datalines
@@ -154,7 +155,6 @@ class SASLexer(RegexLexer):
154
155
  (r'NOTE(:|-).*', Generic, '#pop'),
155
156
  (r'WARNING(:|-).*', Generic.Emph, '#pop'),
156
157
  (r'ERROR(:|-).*', Generic.Error, '#pop'),
157
- (r'(?!(WARNING|NOTE|ERROR))+', Text, '#pop'),
158
158
  include('general'),
159
159
  ],
160
160
  'general': [
@@ -188,8 +188,8 @@ class SASLexer(RegexLexer):
188
188
  ],
189
189
  # Strings and user-defined variables and macros (order matters)
190
190
  'vars-strings': [
191
- (r'&[a-zA-Z_][a-zA-Z0-9_]{0,31}\.?', Name.Variable),
192
- (r'%[a-zA-Z_][a-zA-Z0-9_]{0,31}', Name.Function),
191
+ (r'&[a-z_]\w{0,31}\.?', Name.Variable),
192
+ (r'%[a-z_]\w{0,31}', Name.Function),
193
193
  (r'\'', String, 'string_squote'),
194
194
  (r'"', String, 'string_dquote'),
195
195
  ],
@@ -209,11 +209,11 @@ class SASLexer(RegexLexer):
209
209
  (r'[$"\\]', String),
210
210
  ],
211
211
  'validvar': [
212
- (r'[a-zA-Z_][a-zA-Z0-9_]{0,31}\.?', Name.Variable, '#pop'),
212
+ (r'[a-z_]\w{0,31}\.?', Name.Variable, '#pop'),
213
213
  ],
214
214
  # SAS numbers and special variables
215
215
  'numbers': [
216
- (r'\b[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)([eE][+-]?[0-9]+)?[i]?\b',
216
+ (r'\b[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)(E[+-]?[0-9]+)?i?\b',
217
217
  Number),
218
218
  ],
219
219
  'special': [