pygments.rb 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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