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
  Lexers for C/C++ 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 other C-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
 
@@ -105,7 +105,7 @@ class ClayLexer(RegexLexer):
105
105
  tokens = {
106
106
  'root': [
107
107
  (r'\s', Text),
108
- (r'//.*?$', Comment.Singleline),
108
+ (r'//.*?$', Comment.Single),
109
109
  (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
110
110
  (r'\b(public|private|import|as|record|variant|instance'
111
111
  r'|define|overload|default|external|alias'
@@ -5,15 +5,14 @@
5
5
 
6
6
  Lexers for the Cap'n Proto schema 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
 
12
12
  import re
13
13
 
14
- from pygments.lexer import RegexLexer, bygroups, words
15
- from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16
- Number, Punctuation, Literal
14
+ from pygments.lexer import RegexLexer, default
15
+ from pygments.token import Text, Comment, Keyword, Name, Literal
17
16
 
18
17
  __all__ = ['CapnProtoLexer']
19
18
 
@@ -30,7 +29,6 @@ class CapnProtoLexer(RegexLexer):
30
29
 
31
30
  flags = re.MULTILINE | re.UNICODE
32
31
 
33
-
34
32
  tokens = {
35
33
  'root': [
36
34
  (r'#.*?$', Comment.Single),
@@ -38,42 +36,43 @@ class CapnProtoLexer(RegexLexer):
38
36
  (r'=', Literal, 'expression'),
39
37
  (r':', Name.Class, 'type'),
40
38
  (r'\$', Name.Attribute, 'annotation'),
41
- (r'(struct|enum|interface|union|import|using|const|annotation|extends|in|of|on|as|with|from|fixed)\b',
42
- Keyword),
43
- (r'[a-zA-Z0-9_.]+', Name),
44
- (r'[^#@=:$a-zA-Z0-9_]+', Text),
39
+ (r'(struct|enum|interface|union|import|using|const|annotation|'
40
+ r'extends|in|of|on|as|with|from|fixed)\b',
41
+ Keyword),
42
+ (r'[\w.]+', Name),
43
+ (r'[^#@=:$\w]+', Text),
45
44
  ],
46
45
  'type': [
47
46
  (r'[^][=;,(){}$]+', Name.Class),
48
47
  (r'[[(]', Name.Class, 'parentype'),
49
- (r'', Name.Class, '#pop')
48
+ default('#pop'),
50
49
  ],
51
50
  'parentype': [
52
51
  (r'[^][;()]+', Name.Class),
53
52
  (r'[[(]', Name.Class, '#push'),
54
53
  (r'[])]', Name.Class, '#pop'),
55
- (r'', Name.Class, '#pop')
54
+ default('#pop'),
56
55
  ],
57
56
  'expression': [
58
57
  (r'[^][;,(){}$]+', Literal),
59
58
  (r'[[(]', Literal, 'parenexp'),
60
- (r'', Literal, '#pop')
59
+ default('#pop'),
61
60
  ],
62
61
  'parenexp': [
63
62
  (r'[^][;()]+', Literal),
64
63
  (r'[[(]', Literal, '#push'),
65
64
  (r'[])]', Literal, '#pop'),
66
- (r'', Literal, '#pop')
65
+ default('#pop'),
67
66
  ],
68
67
  'annotation': [
69
68
  (r'[^][;,(){}=:]+', Name.Attribute),
70
69
  (r'[[(]', Name.Attribute, 'annexp'),
71
- (r'', Name.Attribute, '#pop')
70
+ default('#pop'),
72
71
  ],
73
72
  'annexp': [
74
73
  (r'[^][;()]+', Name.Attribute),
75
74
  (r'[[(]', Name.Attribute, '#push'),
76
75
  (r'[])]', Name.Attribute, '#pop'),
77
- (r'', Name.Attribute, '#pop')
76
+ default('#pop'),
78
77
  ],
79
78
  }
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for the Chapel 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
 
@@ -52,7 +52,7 @@ class ChapelLexer(RegexLexer):
52
52
  'then', 'use', 'when', 'where', 'while', 'with', 'yield',
53
53
  'zip'), suffix=r'\b'),
54
54
  Keyword),
55
- (r'(proc)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'procname'),
55
+ (r'(proc)((?:\s)+)', bygroups(Keyword, Text), 'procname'),
56
56
  (r'(class|module|record|union)(\s+)', bygroups(Keyword, Text),
57
57
  'classname'),
58
58
 
@@ -96,6 +96,7 @@ class ChapelLexer(RegexLexer):
96
96
  (r'[a-zA-Z_][\w$]*', Name.Class, '#pop'),
97
97
  ],
98
98
  'procname': [
99
- (r'[a-zA-Z_][\w$]*', Name.Function, '#pop'),
99
+ (r'([a-zA-Z_][\w$]+|\~[a-zA-Z_][\w$]+|[+*/!~%<>=&^|\-]{1,2})',
100
+ Name.Function, '#pop'),
100
101
  ],
101
102
  }
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for the Clean 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
 
@@ -116,7 +116,7 @@ class CleanLexer(ExtendedRegexLexer):
116
116
  (r'(?s)/\*.*?\*/', Comment.Multi),
117
117
 
118
118
  # Modules, imports, etc.
119
- (r'\b((?:implementation|definition|system)\s+)?(module)(\s+)([\w`\.]+)',
119
+ (r'\b((?:implementation|definition|system)\s+)?(module)(\s+)([\w`.]+)',
120
120
  bygroups(Keyword.Namespace, Keyword.Namespace, Text, Name.Class)),
121
121
  (r'(?<=\n)import(?=\s)', Keyword.Namespace, 'import'),
122
122
  (r'(?<=\n)from(?=\s)', Keyword.Namespace, 'fromimport'),
@@ -140,7 +140,7 @@ class CleanLexer(ExtendedRegexLexer):
140
140
  # Literals
141
141
  (r'\'\\?.(?<!\\)\'', String.Char),
142
142
  (r'\'\\\d+\'', String.Char),
143
- (r'\'\\\\\'', String.Char), # (special case for '\\')
143
+ (r'\'\\\\\'', String.Char), # (special case for '\\')
144
144
  (r'[+\-~]?\s*\d+\.\d+(E[+\-~]?\d+)?\b', Number.Float),
145
145
  (r'[+\-~]?\s*0[0-7]\b', Number.Oct),
146
146
  (r'[+\-~]?\s*0x[0-9a-fA-F]\b', Number.Hex),
@@ -150,11 +150,11 @@ class CleanLexer(ExtendedRegexLexer):
150
150
  Literal),
151
151
 
152
152
  # Qualified names
153
- (r'(\')([\w\.]+)(\'\.)',
153
+ (r'(\')([\w.]+)(\'\.)',
154
154
  bygroups(Punctuation, Name.Namespace, Punctuation)),
155
155
 
156
156
  # Everything else is some name
157
- (r'([\w`$%\/\?@]+\.?)*[\w`$%\/\?@]+', Name),
157
+ (r'([\w`$%/?@]+\.?)*[\w`$%/?@]+', Name),
158
158
 
159
159
  # Punctuation
160
160
  (r'[{}()\[\],:;.#]', Punctuation),
@@ -171,14 +171,14 @@ class CleanLexer(ExtendedRegexLexer):
171
171
  ],
172
172
  'fromimport': [
173
173
  include('common'),
174
- (r'([\w`\.]+)', check_class_not_import),
174
+ (r'([\w`.]+)', check_class_not_import),
175
175
  (r'\n', Whitespace, '#pop'),
176
176
  (r'\s', Whitespace),
177
177
  ],
178
178
  'fromimportfunc': [
179
179
  include('common'),
180
- (r'(::)\s+([^,\s]+)', bygroups(Punctuation, Keyword.Type)),
181
- (r'([\w`$()=\-<>~*\^|+&%\/]+)', check_instance_class),
180
+ (r'(::)(\s+)([^,\s]+)', bygroups(Punctuation, Text, Keyword.Type)),
181
+ (r'([\w`$()=\-<>~*\^|+&%/]+)', check_instance_class),
182
182
  (r',', Punctuation),
183
183
  (r'\n', Whitespace, '#pop'),
184
184
  (r'\s', Whitespace),
@@ -204,7 +204,7 @@ class CleanLexer(ExtendedRegexLexer):
204
204
  include('common'),
205
205
  (words(('from', 'import', 'as', 'qualified'),
206
206
  prefix='(?<=\s)', suffix='(?=\s)'), Keyword.Namespace),
207
- (r'[\w`\.]+', Name.Class),
207
+ (r'[\w`.]+', Name.Class),
208
208
  (r'\n', Whitespace, '#pop'),
209
209
  (r',', Punctuation),
210
210
  (r'[^\S\n]+', Whitespace),
@@ -269,7 +269,7 @@ class CleanLexer(ExtendedRegexLexer):
269
269
  (r'^(?=\S)', Whitespace, '#pop:3'),
270
270
  (r'[,&]', Punctuation),
271
271
  (r'\[', Punctuation, 'functiondefuniquneq'),
272
- (r'[\w`$()=\-<>~*\^|+&%\/{}\[\]@]', Name.Function, 'functionname'),
272
+ (r'[\w`$()=\-<>~*\^|+&%/{}\[\]@]', Name.Function, 'functionname'),
273
273
  (r'\s+', Whitespace),
274
274
  ],
275
275
  'functiondefuniquneq': [
@@ -281,7 +281,7 @@ class CleanLexer(ExtendedRegexLexer):
281
281
  ],
282
282
  'functionname': [
283
283
  include('common'),
284
- (r'[\w`$()=\-<>~*\^|+&%\/]+', Name.Function),
284
+ (r'[\w`$()=\-<>~*\^|+&%/]+', Name.Function),
285
285
  (r'(?=\{\|)', Punctuation, 'genericfunction'),
286
286
  default('#pop'),
287
287
  ]
@@ -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
  Lexers for configuration file 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
 
@@ -462,7 +462,7 @@ class NginxConfLexer(RegexLexer):
462
462
  """
463
463
  name = 'Nginx configuration file'
464
464
  aliases = ['nginx']
465
- filenames = []
465
+ filenames = ['nginx.conf']
466
466
  mimetypes = ['text/x-nginx-conf']
467
467
 
468
468
  tokens = {
@@ -584,7 +584,7 @@ class TerraformLexer(RegexLexer):
584
584
  (r'(.*?)(\s*)(=)', bygroups(Name.Attribute, Text, Operator)),
585
585
  (words(('variable', 'resource', 'provider', 'provisioner', 'module'),
586
586
  prefix=r'\b', suffix=r'\b'), Keyword.Reserved, 'function'),
587
- (words(('ingress', 'egress', 'listener', 'default', 'connection'),
587
+ (words(('ingress', 'egress', 'listener', 'default', 'connection', 'alias'),
588
588
  prefix=r'\b', suffix=r'\b'), Keyword.Declaration),
589
589
  ('\$\{', String.Interpol, 'var_builtin'),
590
590
  ],
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for misc console output.
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,25 +5,22 @@
5
5
 
6
6
  Lexer for Crystal.
7
7
 
8
- :copyright: Copyright 2006-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
 
12
12
  import re
13
13
 
14
- from pygments.lexer import Lexer, RegexLexer, ExtendedRegexLexer, include, \
15
- bygroups, default, LexerContext, do_insertions, words
14
+ from pygments.lexer import ExtendedRegexLexer, include, \
15
+ bygroups, default, LexerContext, words
16
16
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
17
- Number, Punctuation, Error, Generic
18
- from pygments.util import shebang_matches
17
+ Number, Punctuation, Error
19
18
 
20
19
  __all__ = ['CrystalLexer']
21
20
 
22
21
  line_re = re.compile('.*?\n')
23
22
 
24
23
 
25
-
26
-
27
24
  CRYSTAL_OPERATORS = [
28
25
  '!=', '!~', '!', '%', '&&', '&', '**', '*', '+', '-', '/', '<=>', '<<', '<=', '<',
29
26
  '===', '==', '=~', '=', '>=', '>>', '>', '[]=', '[]?', '[]', '^', '||', '|', '~'
@@ -33,6 +30,8 @@ CRYSTAL_OPERATORS = [
33
30
  class CrystalLexer(ExtendedRegexLexer):
34
31
  """
35
32
  For `Crystal <http://crystal-lang.org>`_ source code.
33
+
34
+ .. versionadded:: 2.2
36
35
  """
37
36
 
38
37
  name = 'Crystal'
@@ -48,9 +47,9 @@ class CrystalLexer(ExtendedRegexLexer):
48
47
 
49
48
  start = match.start(1)
50
49
  yield start, Operator, match.group(1) # <<-?
51
- yield match.start(2), String.Heredoc, match.group(2) # quote ", ', `
52
- yield match.start(3), String.Delimiter, match.group(3) # heredoc name
53
- yield match.start(4), String.Heredoc, match.group(4) # quote again
50
+ yield match.start(2), String.Heredoc, match.group(2) # quote ", ', `
51
+ yield match.start(3), String.Delimiter, match.group(3) # heredoc name
52
+ yield match.start(4), String.Heredoc, match.group(4) # quote again
54
53
 
55
54
  heredocstack = ctx.__dict__.setdefault('heredocstack', [])
56
55
  outermost = not bool(heredocstack)
@@ -211,17 +210,21 @@ class CrystalLexer(ExtendedRegexLexer):
211
210
  # macros
212
211
  (words('''
213
212
  debugger record pp assert_responds_to spawn parallel
214
- getter setter property delegate def_hash def_equals def_equals_and_hash forward_missing_to
213
+ getter setter property delegate def_hash def_equals def_equals_and_hash
214
+ forward_missing_to
215
215
  '''.split(), suffix=r'\b'), Name.Builtin.Pseudo),
216
216
  (r'getter[!?]|property[!?]|__(DIR|FILE|LINE)__\b', Name.Builtin.Pseudo),
217
217
  # builtins
218
218
  # http://crystal-lang.org/api/toplevel.html
219
219
  (words('''
220
220
  Object Value Struct Reference Proc Class Nil Symbol Enum Void
221
- Bool Number Int Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float Float32 Float64 Char String
221
+ Bool Number Int Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64
222
+ Float Float32 Float64 Char String
222
223
  Pointer Slice Range Exception Regex
223
- Mutex StaticArray Array Hash Set Tuple Deque Box Process File Dir Time Channel Concurrent Scheduler
224
- abort at_exit caller delay exit fork future get_stack_top gets lazy loop main p print printf puts
224
+ Mutex StaticArray Array Hash Set Tuple Deque Box Process File
225
+ Dir Time Channel Concurrent Scheduler
226
+ abort at_exit caller delay exit fork future get_stack_top gets
227
+ lazy loop main p print printf puts
225
228
  raise rand read_line sleep sprintf system with_color
226
229
  '''.split(), prefix=r'(?<!\.)', suffix=r'\b'), Name.Builtin),
227
230
  # normal heredocs
@@ -274,12 +277,16 @@ class CrystalLexer(ExtendedRegexLexer):
274
277
  bygroups(Number.Hex, Text, Operator)),
275
278
  (r'(0b[01]+(?:_[01]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?',
276
279
  bygroups(Number.Bin, Text, Operator)),
277
- # 3 separate expressions for floats because any of the 3 optional parts makes it a float
278
- (r'((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)(?:e[+-]?[0-9]+)?(?:_?[f][0-9]+)?)(\s*)([/?])?',
280
+ # 3 separate expressions for floats because any of the 3 optional
281
+ # parts makes it a float
282
+ (r'((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)(?:e[+-]?[0-9]+)?'
283
+ r'(?:_?f[0-9]+)?)(\s*)([/?])?',
279
284
  bygroups(Number.Float, Text, Operator)),
280
- (r'((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)(?:_?[f][0-9]+)?)(\s*)([/?])?',
285
+ (r'((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)'
286
+ r'(?:_?f[0-9]+)?)(\s*)([/?])?',
281
287
  bygroups(Number.Float, Text, Operator)),
282
- (r'((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)?(?:_?[f][0-9]+))(\s*)([/?])?',
288
+ (r'((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)?'
289
+ r'(?:_?f[0-9]+))(\s*)([/?])?',
283
290
  bygroups(Number.Float, Text, Operator)),
284
291
  (r'(0\b|[1-9][\d]*(?:_\d+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?',
285
292
  bygroups(Number.Integer, Text, Operator)),
@@ -301,7 +308,8 @@ class CrystalLexer(ExtendedRegexLexer):
301
308
  (r'\{%', String.Interpol, 'in-macro-control'),
302
309
  (r'\{\{', String.Interpol, 'in-macro-expr'),
303
310
  # attributes
304
- (r'(@\[)(\s*)([A-Z]\w*)', bygroups(Operator, Text, Name.Decorator), 'in-attr'),
311
+ (r'(@\[)(\s*)([A-Z]\w*)',
312
+ bygroups(Operator, Text, Name.Decorator), 'in-attr'),
305
313
  # this is needed because Crystal attributes can look
306
314
  # like keywords (class) or like this: ` ?!?
307
315
  (words(CRYSTAL_OPERATORS, prefix=r'(\.|::)'),
@@ -325,7 +333,8 @@ class CrystalLexer(ExtendedRegexLexer):
325
333
  ],
326
334
  'classname': [
327
335
  (r'[A-Z_]\w*', Name.Class),
328
- (r'(\()(\s*)([A-Z_]\w*)(\s*)(\))', bygroups(Punctuation, Text, Name.Class, Text, Punctuation)),
336
+ (r'(\()(\s*)([A-Z_]\w*)(\s*)(\))',
337
+ bygroups(Punctuation, Text, Name.Class, Text, Punctuation)),
329
338
  default('#pop')
330
339
  ],
331
340
  'in-intp': [
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for CSound 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 CSS and related stylesheet 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 D 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
  Pygments lexers for Dalvik VM-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 data file format.
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 diff/patch 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 .net 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
  import re