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 scripting and embedded 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 various shells.
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,16 +27,17 @@ line_re = re.compile('.*?\n')
27
27
 
28
28
  class BashLexer(RegexLexer):
29
29
  """
30
- Lexer for (ba|k|)sh shell scripts.
30
+ Lexer for (ba|k|z|)sh shell scripts.
31
31
 
32
32
  .. versionadded:: 0.6
33
33
  """
34
34
 
35
35
  name = 'Bash'
36
- aliases = ['bash', 'sh', 'ksh', 'shell']
36
+ aliases = ['bash', 'sh', 'ksh', 'zsh', 'shell']
37
37
  filenames = ['*.sh', '*.ksh', '*.bash', '*.ebuild', '*.eclass',
38
- '*.exheres-0', '*.exlib',
39
- '.bashrc', 'bashrc', '.bash_*', 'bash_*', 'PKGBUILD']
38
+ '*.exheres-0', '*.exlib', '*.zsh',
39
+ '.bashrc', 'bashrc', '.bash_*', 'bash_*', 'zshrc', '.zshrc',
40
+ 'PKGBUILD']
40
41
  mimetypes = ['application/x-sh', 'application/x-shellscript']
41
42
 
42
43
  tokens = {
@@ -50,7 +51,7 @@ class BashLexer(RegexLexer):
50
51
  (r'\$\(\(', Keyword, 'math'),
51
52
  (r'\$\(', Keyword, 'paren'),
52
53
  (r'\$\{#?', String.Interpol, 'curly'),
53
- (r'\$[a-zA-Z_][a-zA-Z0-9_]*', Name.Variable), # user variable
54
+ (r'\$[a-zA-Z_]\w*', Name.Variable), # user variable
54
55
  (r'\$(?:\d+|[#$?!_*@-])', Name.Variable), # builtin
55
56
  (r'\$', Text),
56
57
  ],
@@ -478,13 +479,16 @@ class BatchLexer(RegexLexer):
478
479
  using(this, state='variable')), '#pop'),
479
480
  (r'(exist%s)(%s%s)' % (_token_terminator, _space, _stoken),
480
481
  bygroups(Keyword, using(this, state='text')), '#pop'),
481
- (r'(%s%s?)(==)(%s?%s)' % (_stoken, _space, _space, _stoken),
482
- bygroups(using(this, state='text'), Operator,
483
- using(this, state='text')), '#pop'),
484
482
  (r'(%s%s)(%s)(%s%s)' % (_number, _space, _opword, _space, _number),
485
483
  bygroups(using(this, state='arithmetic'), Operator.Word,
486
484
  using(this, state='arithmetic')), '#pop'),
487
- (r'(%s%s)(%s)(%s%s)' % (_stoken, _space, _opword, _space, _stoken),
485
+ (_stoken, using(this, state='text'), ('#pop', 'if2')),
486
+ ],
487
+ 'if2': [
488
+ (r'(%s?)(==)(%s?%s)' % (_space, _space, _stoken),
489
+ bygroups(using(this, state='text'), Operator,
490
+ using(this, state='text')), '#pop'),
491
+ (r'(%s)(%s)(%s%s)' % (_space, _opword, _space, _stoken),
488
492
  bygroups(using(this, state='text'), Operator.Word,
489
493
  using(this, state='text')), '#pop')
490
494
  ],
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Smalltalk 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 SMV 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
 
@@ -19,6 +19,8 @@ __all__ = ['NuSMVLexer']
19
19
  class NuSMVLexer(RegexLexer):
20
20
  """
21
21
  Lexer for the NuSMV language.
22
+
23
+ .. versionadded:: 2.2
22
24
  """
23
25
 
24
26
  name = 'NuSMV'
@@ -33,43 +35,45 @@ class NuSMVLexer(RegexLexer):
33
35
  (r'--.*\n', Comment),
34
36
 
35
37
  # Reserved
36
- (words(('MODULE','DEFINE','MDEFINE','CONSTANTS','VAR','IVAR',
37
- 'FROZENVAR','INIT','TRANS','INVAR','SPEC','CTLSPEC','LTLSPEC',
38
- 'PSLSPEC','COMPUTE','NAME','INVARSPEC','FAIRNESS','JUSTICE',
39
- 'COMPASSION','ISA','ASSIGN','CONSTRAINT','SIMPWFF','CTLWFF',
40
- 'LTLWFF','PSLWFF','COMPWFF','IN','MIN','MAX','MIRROR','PRED',
41
- 'PREDICATES'), suffix=r'(?![\w$#-])'), Keyword.Declaration),
38
+ (words(('MODULE', 'DEFINE', 'MDEFINE', 'CONSTANTS', 'VAR', 'IVAR',
39
+ 'FROZENVAR', 'INIT', 'TRANS', 'INVAR', 'SPEC', 'CTLSPEC',
40
+ 'LTLSPEC', 'PSLSPEC', 'COMPUTE', 'NAME', 'INVARSPEC',
41
+ 'FAIRNESS', 'JUSTICE', 'COMPASSION', 'ISA', 'ASSIGN',
42
+ 'CONSTRAINT', 'SIMPWFF', 'CTLWFF', 'LTLWFF', 'PSLWFF',
43
+ 'COMPWFF', 'IN', 'MIN', 'MAX', 'MIRROR', 'PRED',
44
+ 'PREDICATES'), suffix=r'(?![\w$#-])'),
45
+ Keyword.Declaration),
42
46
  (r'process(?![\w$#-])', Keyword),
43
- (words(('array','of','boolean','integer','real','word'),
44
- suffix=r'(?![\w$#-])'), Keyword.Type),
45
- (words(('case','esac'), suffix=r'(?![\w$#-])'), Keyword),
46
- (words(('word1','bool','signed','unsigned','extend','resize',
47
- 'sizeof','uwconst','swconst','init','self','count','abs','max',
48
- 'min'), suffix=r'(?![\w$#-])'), Name.Builtin),
49
- (words(('EX','AX','EF','AF','EG','AG','E','F','O','G','H','X','Y',
50
- 'Z','A','U','S','V','T','BU','EBF','ABF','EBG','ABG','next',
51
- 'mod','union','in','xor','xnor'), suffix=r'(?![\w$#-])'),
47
+ (words(('array', 'of', 'boolean', 'integer', 'real', 'word'),
48
+ suffix=r'(?![\w$#-])'), Keyword.Type),
49
+ (words(('case', 'esac'), suffix=r'(?![\w$#-])'), Keyword),
50
+ (words(('word1', 'bool', 'signed', 'unsigned', 'extend', 'resize',
51
+ 'sizeof', 'uwconst', 'swconst', 'init', 'self', 'count',
52
+ 'abs', 'max', 'min'), suffix=r'(?![\w$#-])'),
53
+ Name.Builtin),
54
+ (words(('EX', 'AX', 'EF', 'AF', 'EG', 'AG', 'E', 'F', 'O', 'G',
55
+ 'H', 'X', 'Y', 'Z', 'A', 'U', 'S', 'V', 'T', 'BU', 'EBF',
56
+ 'ABF', 'EBG', 'ABG', 'next', 'mod', 'union', 'in', 'xor',
57
+ 'xnor'), suffix=r'(?![\w$#-])'),
52
58
  Operator.Word),
53
- (words(('TRUE','FALSE'), suffix=r'(?![\w$#-])'), Keyword.Constant),
59
+ (words(('TRUE', 'FALSE'), suffix=r'(?![\w$#-])'), Keyword.Constant),
54
60
 
55
61
  # Names
56
62
  (r'[a-zA-Z_][\w$#-]*', Name.Variable),
57
-
63
+
58
64
  # Operators
59
65
  (r':=', Operator),
60
- (r'[&\|\+\-\*/<>!=]', Operator),
66
+ (r'[-&|+*/<>!=]', Operator),
61
67
 
62
68
  # Literals
63
69
  (r'\-?\d+\b', Number.Integer),
64
70
  (r'0[su][bB]\d*_[01_]+', Number.Bin),
65
- (r'0[su][oO]\d*_[01234567_]+', Number.Oct),
71
+ (r'0[su][oO]\d*_[0-7_]+', Number.Oct),
66
72
  (r'0[su][dD]\d*_[\d_]+', Number.Dec),
67
73
  (r'0[su][hH]\d*_[\da-fA-F_]+', Number.Hex),
68
74
 
69
75
  # Whitespace, punctuation and the rest
70
76
  (r'\s+', Text.Whitespace),
71
- (r'[\(\)\[\]\{\};\?:\.,]', Punctuation),
72
- (r'.', Generic.Error),
73
- ]
77
+ (r'[()\[\]{};?:.,]', Punctuation),
78
+ ],
74
79
  }
75
-
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the SNOBOL 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
  Special lexers.
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
 
@@ -34,7 +34,7 @@
34
34
  The ``tests/examplefiles`` contains a few test files with data to be
35
35
  parsed by these lexers.
36
36
 
37
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
37
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
38
38
  :license: BSD, see LICENSE for details.
39
39
  """
40
40
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for Stata
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
 
@@ -17,6 +17,7 @@ from pygments.lexers._stata_builtins import builtins_base, builtins_functions
17
17
 
18
18
  __all__ = ['StataLexer']
19
19
 
20
+
20
21
  class StataLexer(RegexLexer):
21
22
  """
22
23
  For `Stata <http://www.stata.com/>`_ do files.
@@ -43,8 +44,8 @@ class StataLexer(RegexLexer):
43
44
  ],
44
45
  # Global and local macros; regular and special strings
45
46
  'vars-strings': [
46
- (r'\$[a-zA-Z_0-9\{]', Name.Variable.Global, 'var_validglobal'),
47
- (r'`[a-zA-Z_0-9]{0,31}\'', Name.Variable),
47
+ (r'\$[\w{]', Name.Variable.Global, 'var_validglobal'),
48
+ (r'`\w{0,31}\'', Name.Variable),
48
49
  (r'"', String, 'string_dquote'),
49
50
  (r'`"', String, 'string_mquote'),
50
51
  ],
@@ -54,7 +55,7 @@ class StataLexer(RegexLexer):
54
55
  (r'\\\\|\\"|\\\n', String.Escape),
55
56
  (r'\$', Name.Variable.Global, 'var_validglobal'),
56
57
  (r'`', Name.Variable, 'var_validlocal'),
57
- (r'[^$\$`"\\]+', String),
58
+ (r'[^$`"\\]+', String),
58
59
  (r'[$"\\]', String),
59
60
  ],
60
61
  'string_mquote': [
@@ -62,14 +63,15 @@ class StataLexer(RegexLexer):
62
63
  (r'\\\\|\\"|\\\n', String.Escape),
63
64
  (r'\$', Name.Variable.Global, 'var_validglobal'),
64
65
  (r'`', Name.Variable, 'var_validlocal'),
65
- (r'[^$\$`"\\]+', String),
66
+ (r'[^$`"\\]+', String),
66
67
  (r'[$"\\]', String),
67
68
  ],
68
69
  'var_validglobal': [
69
- (r'\{?[a-zA-Z0-9_]{0,32}\}?', Name.Variable.Global, '#pop'),
70
+ (r'\{\w{0,32}\}', Name.Variable.Global, '#pop'),
71
+ (r'\w{1,32}', Name.Variable.Global, '#pop'),
70
72
  ],
71
73
  'var_validlocal': [
72
- (r'[a-zA-Z0-9_]{0,31}\'', Name.Variable, '#pop'),
74
+ (r'\w{0,31}\'', Name.Variable, '#pop'),
73
75
  ],
74
76
  # * only OK at line start, // OK anywhere
75
77
  'comments': [
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for SuperCollider
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 Tcl 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 various template engines' 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
 
@@ -1814,8 +1814,9 @@ class HandlebarsLexer(RegexLexer):
1814
1814
  (r'\}\}', Comment.Preproc, '#pop'),
1815
1815
 
1816
1816
  # Handlebars
1817
- (r'([#/]*)(each|if|unless|else|with|log|in)', bygroups(Keyword,
1817
+ (r'([#/]*)(each|if|unless|else|with|log|in(line)?)', bygroups(Keyword,
1818
1818
  Keyword)),
1819
+ (r'#\*inline', Keyword),
1819
1820
 
1820
1821
  # General {{#block}}
1821
1822
  (r'([#/])([\w-]+)', bygroups(Name.Function, Name.Function)),
@@ -1823,11 +1824,37 @@ class HandlebarsLexer(RegexLexer):
1823
1824
  # {{opt=something}}
1824
1825
  (r'([\w-]+)(=)', bygroups(Name.Attribute, Operator)),
1825
1826
 
1827
+ # Partials {{> ...}}
1828
+ (r'(>)(\s*)(@partial-block)', bygroups(Keyword, Text, Keyword)),
1829
+ (r'(#?>)(\s*)([\w-]+)', bygroups(Keyword, Text, Name.Variable)),
1830
+ (r'(>)(\s*)(\()', bygroups(Keyword, Text, Punctuation),
1831
+ 'dynamic-partial'),
1832
+
1833
+ include('generic'),
1834
+ ],
1835
+ 'dynamic-partial': [
1836
+ (r'\s+', Text),
1837
+ (r'\)', Punctuation, '#pop'),
1838
+
1839
+ (r'(lookup)(\s+)(\.|this)(\s+)', bygroups(Keyword, Text,
1840
+ Name.Variable, Text)),
1841
+ (r'(lookup)(\s+)(\S+)', bygroups(Keyword, Text,
1842
+ using(this, state='variable'))),
1843
+ (r'[\w-]+', Name.Function),
1844
+
1845
+ include('generic'),
1846
+ ],
1847
+ 'variable': [
1848
+ (r'[a-zA-Z][\w-]*', Name.Variable),
1849
+ (r'\.[\w-]+', Name.Variable),
1850
+ (r'(this\/|\.\/|(\.\.\/)+)[\w-]+', Name.Variable),
1851
+ ],
1852
+ 'generic': [
1853
+ include('variable'),
1854
+
1826
1855
  # borrowed from DjangoLexer
1827
1856
  (r':?"(\\\\|\\"|[^"])*"', String.Double),
1828
1857
  (r":?'(\\\\|\\'|[^'])*'", String.Single),
1829
- (r'[a-zA-Z][\w-]*', Name.Variable),
1830
- (r'\.[\w-]+', Name.Variable),
1831
1858
  (r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|"
1832
1859
  r"0[xX][0-9a-fA-F]+[Ll]?", Number),
1833
1860
  ]
@@ -2175,16 +2202,18 @@ class TwigHtmlLexer(DelegatingLexer):
2175
2202
  def __init__(self, **options):
2176
2203
  super(TwigHtmlLexer, self).__init__(HtmlLexer, TwigLexer, **options)
2177
2204
 
2178
-
2205
+
2179
2206
  class Angular2Lexer(RegexLexer):
2180
2207
  """
2181
- Generic `angular2 <http://victorsavkin.com/post/119943127151/angular-2-template-syntax>` template lexer.
2208
+ Generic
2209
+ `angular2 <http://victorsavkin.com/post/119943127151/angular-2-template-syntax>`_
2210
+ template lexer.
2182
2211
 
2183
- Highlights only the Angular template tags (stuff between `{{` and `}}` and
2212
+ Highlights only the Angular template tags (stuff between `{{` and `}}` and
2184
2213
  special attributes: '(event)=', '[property]=', '[(twoWayBinding)]=').
2185
2214
  Everything else is left for a delegating lexer.
2186
2215
 
2187
- .. versionadded:: 2.1a0
2216
+ .. versionadded:: 2.1
2188
2217
  """
2189
2218
 
2190
2219
  name = "Angular2"
@@ -2196,37 +2225,39 @@ class Angular2Lexer(RegexLexer):
2196
2225
 
2197
2226
  # {{meal.name}}
2198
2227
  (r'(\{\{)(\s*)', bygroups(Comment.Preproc, Text), 'ngExpression'),
2199
-
2228
+
2200
2229
  # (click)="deleteOrder()"; [value]="test"; [(twoWayTest)]="foo.bar"
2201
2230
  (r'([([]+)([\w:.-]+)([\])]+)(\s*)(=)(\s*)',
2202
- bygroups(Punctuation, Name.Attribute, Punctuation, Text, Operator, Text), 'attr'),
2231
+ bygroups(Punctuation, Name.Attribute, Punctuation, Text, Operator, Text),
2232
+ 'attr'),
2203
2233
  (r'([([]+)([\w:.-]+)([\])]+)(\s*)',
2204
2234
  bygroups(Punctuation, Name.Attribute, Punctuation, Text)),
2205
-
2235
+
2206
2236
  # *ngIf="..."; #f="ngForm"
2207
2237
  (r'([*#])([\w:.-]+)(\s*)(=)(\s*)',
2208
2238
  bygroups(Punctuation, Name.Attribute, Punctuation, Operator), 'attr'),
2209
2239
  (r'([*#])([\w:.-]+)(\s*)',
2210
2240
  bygroups(Punctuation, Name.Attribute, Punctuation)),
2211
2241
  ],
2212
-
2242
+
2213
2243
  'ngExpression': [
2214
2244
  (r'\s+(\|\s+)?', Text),
2215
2245
  (r'\}\}', Comment.Preproc, '#pop'),
2216
-
2246
+
2217
2247
  # Literals
2218
2248
  (r':?(true|false)', String.Boolean),
2219
2249
  (r':?"(\\\\|\\"|[^"])*"', String.Double),
2220
2250
  (r":?'(\\\\|\\'|[^'])*'", String.Single),
2221
2251
  (r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|"
2222
2252
  r"0[xX][0-9a-fA-F]+[Ll]?", Number),
2223
-
2253
+
2224
2254
  # Variabletext
2225
2255
  (r'[a-zA-Z][\w-]*(\(.*\))?', Name.Variable),
2226
2256
  (r'\.[\w-]+(\(.*\))?', Name.Variable),
2227
-
2257
+
2228
2258
  # inline If
2229
- (r'(\?)(\s*)([^}\s]+)(\s*)(:)(\s*)([^}\s]+)(\s*)', bygroups(Operator, Text, String, Text, Operator, Text, String, Text)),
2259
+ (r'(\?)(\s*)([^}\s]+)(\s*)(:)(\s*)([^}\s]+)(\s*)',
2260
+ bygroups(Operator, Text, String, Text, Operator, Text, String, Text)),
2230
2261
  ],
2231
2262
  'attr': [
2232
2263
  ('".*?"', String, '#pop'),
@@ -2249,4 +2280,4 @@ class Angular2HtmlLexer(DelegatingLexer):
2249
2280
  filenames = ['*.ng2']
2250
2281
 
2251
2282
  def __init__(self, **options):
2252
- super(Angular2HtmlLexer, self).__init__(HtmlLexer, Angular2Lexer, **options)
2283
+ super(Angular2HtmlLexer, self).__init__(HtmlLexer, Angular2Lexer, **options)
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for testing 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 non-source code file types.
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 languages related to text processing.
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 various text formats.
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 theorem-proving 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