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 RiverBed's TrafficScript (RTS) 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
 
@@ -14,17 +14,15 @@
14
14
  `TypoScriptHtmlDataLexer`
15
15
  Lexer that highlights markers, constants and registers within html tags.
16
16
 
17
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
17
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
18
18
  :license: BSD, see LICENSE for details.
19
19
  """
20
20
 
21
21
  import re
22
22
 
23
23
  from pygments.lexer import RegexLexer, include, bygroups, using
24
- from pygments.token import Keyword, Text, Comment, Name, String, Number, \
24
+ from pygments.token import Text, Comment, Name, String, Number, \
25
25
  Operator, Punctuation
26
- from pygments.lexer import DelegatingLexer
27
- from pygments.lexers.web import HtmlLexer, CssLexer
28
26
 
29
27
  __all__ = ['TypoScriptLexer', 'TypoScriptCssDataLexer', 'TypoScriptHtmlDataLexer']
30
28
 
@@ -115,6 +113,9 @@ class TypoScriptLexer(RegexLexer):
115
113
 
116
114
  flags = re.DOTALL | re.MULTILINE
117
115
 
116
+ # Slightly higher than TypeScript (which is 0).
117
+ priority = 0.1
118
+
118
119
  tokens = {
119
120
  'root': [
120
121
  include('comment'),
@@ -168,14 +169,14 @@ class TypoScriptLexer(RegexLexer):
168
169
  'whitespace': [
169
170
  (r'\s+', Text),
170
171
  ],
171
- 'html':[
172
+ 'html': [
172
173
  (r'<\S[^\n>]*>', using(TypoScriptHtmlDataLexer)),
173
174
  (r'&[^;\n]*;', String),
174
175
  (r'(_CSS_DEFAULT_STYLE)(\s*)(\()(?s)(.*(?=\n\)))',
175
- bygroups(Name.Class, Text, String.Symbol, using(TypoScriptCssDataLexer))),
176
+ bygroups(Name.Class, Text, String.Symbol, using(TypoScriptCssDataLexer))),
176
177
  ],
177
178
  'literal': [
178
- (r'0x[0-9A-Fa-f]+t?',Number.Hex),
179
+ (r'0x[0-9A-Fa-f]+t?', Number.Hex),
179
180
  # (r'[0-9]*\.[0-9]+([eE][0-9]+)?[fd]?\s*(?:[^=])', Number.Float),
180
181
  (r'[0-9]+', Number.Integer),
181
182
  (r'(###\w+###)', Name.Constant),
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for UrbiScript language.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Varnish configuration
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
 
@@ -121,13 +121,13 @@ class VCLLexer(RegexLexer):
121
121
  r'(\s*\(.*\))',
122
122
  bygroups(Name.Function, Punctuation, Name.Function, using(this))),
123
123
  ('[a-zA-Z_]\w*', Name),
124
- ],
124
+ ],
125
125
  'comment': [
126
126
  (r'[^*/]+', Comment.Multiline),
127
127
  (r'/\*', Comment.Multiline, '#push'),
128
128
  (r'\*/', Comment.Multiline, '#pop'),
129
129
  (r'[*/]', Comment.Multiline),
130
- ],
130
+ ],
131
131
  'comments': [
132
132
  (r'#.*$', Comment),
133
133
  (r'/\*', Comment.Multiline, 'comment'),
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for Intermediate Verification Languages (IVLs).
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
 
@@ -69,7 +69,7 @@ class SilverLexer(RegexLexer):
69
69
  """
70
70
  name = 'Silver'
71
71
  aliases = ['silver']
72
- filenames = ['*.sil']
72
+ filenames = ['*.sil', '*.vpr']
73
73
 
74
74
  tokens = {
75
75
  'root': [
@@ -89,7 +89,7 @@ class SilverLexer(RegexLexer):
89
89
  'constraining', 'Seq', 'Set', 'Multiset', 'union', 'intersection',
90
90
  'setminus', 'subset', 'unfolding', 'in', 'old', 'forall', 'exists',
91
91
  'acc', 'wildcard', 'write', 'none', 'epsilon', 'perm', 'unique',
92
- 'apply', 'package', 'folding', 'label'),
92
+ 'apply', 'package', 'folding', 'label', 'forperm'),
93
93
  suffix=r'\b'), Keyword),
94
94
  (words(('Int', 'Perm', 'Bool', 'Ref'), suffix=r'\b'), Keyword.Type),
95
95
  include('numbers'),
@@ -5,7 +5,7 @@
5
5
 
6
6
  Just export previously exported 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
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for misc. web stuff.
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
 
@@ -358,8 +358,10 @@ class XQueryLexer(ExtendedRegexLexer):
358
358
  bygroups(Keyword, Text, Keyword), 'itemtype'),
359
359
  (r'(treat)(\s+)(as)\b',
360
360
  bygroups(Keyword, Text, Keyword), 'itemtype'),
361
- (r'(case)(\s+)(' + stringdouble + ')', bygroups(Keyword, Text, String.Double), 'itemtype'),
362
- (r'(case)(\s+)(' + stringsingle + ')', bygroups(Keyword, Text, String.Single), 'itemtype'),
361
+ (r'(case)(\s+)(' + stringdouble + ')',
362
+ bygroups(Keyword, Text, String.Double), 'itemtype'),
363
+ (r'(case)(\s+)(' + stringsingle + ')',
364
+ bygroups(Keyword, Text, String.Single), 'itemtype'),
363
365
  (r'(case|as)\b', Keyword, 'itemtype'),
364
366
  (r'(\))(\s*)(as)',
365
367
  bygroups(Punctuation, Text, Keyword), 'itemtype'),
@@ -367,7 +369,8 @@ class XQueryLexer(ExtendedRegexLexer):
367
369
  (r'(for|let|previous|next)(\s+)(\$)',
368
370
  bygroups(Keyword, Text, Name.Variable), 'varname'),
369
371
  (r'(for)(\s+)(tumbling|sliding)(\s+)(window)(\s+)(\$)',
370
- bygroups(Keyword, Text, Keyword, Text, Keyword, Text, Name.Variable), 'varname'),
372
+ bygroups(Keyword, Text, Keyword, Text, Keyword, Text, Name.Variable),
373
+ 'varname'),
371
374
  # (r'\)|\?|\]', Punctuation, '#push'),
372
375
  (r'\)|\?|\]', Punctuation),
373
376
  (r'(empty)(\s+)(greatest|least)', bygroups(Keyword, Text, Keyword)),
@@ -417,17 +420,21 @@ class XQueryLexer(ExtendedRegexLexer):
417
420
  (r'preserve|no-preserve', Keyword),
418
421
  (r',', Punctuation),
419
422
  ],
420
- 'annotationname':[
423
+ 'annotationname': [
421
424
  (r'\(:', Comment, 'comment'),
422
425
  (qname, Name.Decorator),
423
426
  (r'(\()(' + stringdouble + ')', bygroups(Punctuation, String.Double)),
424
427
  (r'(\()(' + stringsingle + ')', bygroups(Punctuation, String.Single)),
425
- (r'(\,)(\s+)(' + stringdouble + ')', bygroups(Punctuation, Text, String.Double)),
426
- (r'(\,)(\s+)(' + stringsingle + ')', bygroups(Punctuation, Text, String.Single)),
428
+ (r'(\,)(\s+)(' + stringdouble + ')',
429
+ bygroups(Punctuation, Text, String.Double)),
430
+ (r'(\,)(\s+)(' + stringsingle + ')',
431
+ bygroups(Punctuation, Text, String.Single)),
427
432
  (r'\)', Punctuation),
428
433
  (r'(\s+)(\%)', bygroups(Text, Name.Decorator), 'annotationname'),
429
- (r'(\s+)(variable)(\s+)(\$)', bygroups(Text, Keyword.Declaration, Text, Name.Variable), 'varname'),
430
- (r'(\s+)(function)(\s+)', bygroups(Text, Keyword.Declaration, Text), 'root')
434
+ (r'(\s+)(variable)(\s+)(\$)',
435
+ bygroups(Text, Keyword.Declaration, Text, Name.Variable), 'varname'),
436
+ (r'(\s+)(function)(\s+)',
437
+ bygroups(Text, Keyword.Declaration, Text), 'root')
431
438
  ],
432
439
  'varname': [
433
440
  (r'\(:', Comment, 'comment'),
@@ -473,8 +480,10 @@ class XQueryLexer(ExtendedRegexLexer):
473
480
  bygroups(Keyword, Text, Keyword), 'singletype'),
474
481
  (r'(treat)(\s+)(as)', bygroups(Keyword, Text, Keyword)),
475
482
  (r'(instance)(\s+)(of)', bygroups(Keyword, Text, Keyword)),
476
- (r'(case)(\s+)(' + stringdouble + ')', bygroups(Keyword, Text, String.Double), 'itemtype'),
477
- (r'(case)(\s+)(' + stringsingle + ')', bygroups(Keyword, Text, String.Single), 'itemtype'),
483
+ (r'(case)(\s+)(' + stringdouble + ')',
484
+ bygroups(Keyword, Text, String.Double), 'itemtype'),
485
+ (r'(case)(\s+)(' + stringsingle + ')',
486
+ bygroups(Keyword, Text, String.Single), 'itemtype'),
478
487
  (r'case|as', Keyword, 'itemtype'),
479
488
  (r'(\))(\s*)(as)', bygroups(Operator, Text, Keyword), 'itemtype'),
480
489
  (ncname + r':\*', Keyword.Type, 'operator'),
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the Whiley language.
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
 
@@ -19,6 +19,8 @@ __all__ = ['WhileyLexer']
19
19
  class WhileyLexer(RegexLexer):
20
20
  """
21
21
  Lexer for the Whiley programming language.
22
+
23
+ .. versionadded:: 2.2
22
24
  """
23
25
  name = 'Whiley'
24
26
  filenames = ['*.whiley']
@@ -47,12 +49,10 @@ class WhileyLexer(RegexLexer):
47
49
  'requires', 'ensures', 'where', 'assert', 'assume',
48
50
  'all', 'no', 'some', 'in', 'is', 'new',
49
51
  'throw', 'try', 'catch', 'debug', 'skip', 'fail',
50
- 'finite', 'total',
51
- ), suffix=r'\b'), Keyword.Reserved),
52
+ 'finite', 'total'), suffix=r'\b'), Keyword.Reserved),
52
53
  (words((
53
54
  'function', 'method', 'public', 'private', 'protected',
54
- 'export', 'native',
55
- ), suffix=r'\b'), Keyword.Declaration),
55
+ 'export', 'native'), suffix=r'\b'), Keyword.Declaration),
56
56
  # "constant" & "type" are not keywords unless used in declarations
57
57
  (r'(constant|type)(\s+)([a-zA-Z_]\w*)(\s+)(is)\b',
58
58
  bygroups(Keyword.Declaration, Text, Name, Text, Keyword.Reserved)),
@@ -73,8 +73,7 @@ class WhileyLexer(RegexLexer):
73
73
  'uint', 'nat',
74
74
 
75
75
  # whiley.lang.Any
76
- 'toString',
77
- ), suffix=r'\b'), Name.Builtin),
76
+ 'toString'), suffix=r'\b'), Name.Builtin),
78
77
 
79
78
  # byte literal
80
79
  (r'[01]+b', Number.Bin),
@@ -99,7 +98,7 @@ class WhileyLexer(RegexLexer):
99
98
  # operators and punctuation
100
99
  (r'[{}()\[\],.;]', Punctuation),
101
100
  (u'[+\\-*/%&|<>^!~@=:?'
102
- # unicode operators
101
+ # unicode operators
103
102
  u'\u2200\u2203\u2205\u2282\u2286\u2283\u2287'
104
103
  u'\u222A\u2229\u2264\u2265\u2208\u2227\u2228'
105
104
  u']', Operator),
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the X10 programming 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
 
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.xorg
4
+ ~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexers for Xorg configs.
7
+
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ from pygments.lexer import RegexLexer, bygroups
13
+ from pygments.token import Comment, String, Name, Text
14
+
15
+ __all__ = ['XorgLexer']
16
+
17
+
18
+ class XorgLexer(RegexLexer):
19
+ name = 'Xorg'
20
+ aliases = ['xorg.conf']
21
+ filenames = ['xorg.conf']
22
+ mimetypes = []
23
+
24
+ tokens = {
25
+ 'root': [
26
+ (r'\s+', Text),
27
+ (r'#.*$', Comment),
28
+
29
+ (r'((|Sub)Section)(\s+)("\w+")',
30
+ bygroups(String.Escape, String.Escape, Text, String.Escape)),
31
+ (r'(End(|Sub)Section)', String.Escape),
32
+
33
+ (r'(\w+)(\s+)([^\n#]+)',
34
+ bygroups(Name.Builtin, Text, Name.Constant)),
35
+ ],
36
+ }
@@ -5,7 +5,7 @@
5
5
 
6
6
  A simple modeline parser (based on pymodeline).
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
 
@@ -35,9 +35,10 @@ def get_filetype_from_buffer(buf, max_lines=5):
35
35
  ret = get_filetype_from_line(l)
36
36
  if ret:
37
37
  return ret
38
- for l in lines[max_lines:-1:-1]:
39
- ret = get_filetype_from_line(l)
40
- if ret:
41
- return ret
38
+ for i in range(max_lines, -1, -1):
39
+ if i < len(lines):
40
+ ret = get_filetype_from_line(lines[i])
41
+ if ret:
42
+ return ret
42
43
 
43
44
  return None
@@ -32,43 +32,37 @@
32
32
  yourfilter = yourfilter:YourFilter
33
33
 
34
34
 
35
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
35
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
36
36
  :license: BSD, see LICENSE for details.
37
37
  """
38
- try:
39
- import pkg_resources
40
- except ImportError:
41
- pkg_resources = None
42
-
43
38
  LEXER_ENTRY_POINT = 'pygments.lexers'
44
39
  FORMATTER_ENTRY_POINT = 'pygments.formatters'
45
40
  STYLE_ENTRY_POINT = 'pygments.styles'
46
41
  FILTER_ENTRY_POINT = 'pygments.filters'
47
42
 
43
+ def iter_entry_points(group_name):
44
+ try:
45
+ import pkg_resources
46
+ except ImportError:
47
+ return []
48
+
49
+ return pkg_resources.iter_entry_points(group_name)
48
50
 
49
51
  def find_plugin_lexers():
50
- if pkg_resources is None:
51
- return
52
- for entrypoint in pkg_resources.iter_entry_points(LEXER_ENTRY_POINT):
52
+ for entrypoint in iter_entry_points(LEXER_ENTRY_POINT):
53
53
  yield entrypoint.load()
54
54
 
55
55
 
56
56
  def find_plugin_formatters():
57
- if pkg_resources is None:
58
- return
59
- for entrypoint in pkg_resources.iter_entry_points(FORMATTER_ENTRY_POINT):
57
+ for entrypoint in iter_entry_points(FORMATTER_ENTRY_POINT):
60
58
  yield entrypoint.name, entrypoint.load()
61
59
 
62
60
 
63
61
  def find_plugin_styles():
64
- if pkg_resources is None:
65
- return
66
- for entrypoint in pkg_resources.iter_entry_points(STYLE_ENTRY_POINT):
62
+ for entrypoint in iter_entry_points(STYLE_ENTRY_POINT):
67
63
  yield entrypoint.name, entrypoint.load()
68
64
 
69
65
 
70
66
  def find_plugin_filters():
71
- if pkg_resources is None:
72
- return
73
- for entrypoint in pkg_resources.iter_entry_points(FILTER_ENTRY_POINT):
67
+ for entrypoint in iter_entry_points(FILTER_ENTRY_POINT):
74
68
  yield entrypoint.name, entrypoint.load()
@@ -6,7 +6,7 @@
6
6
  An algorithm that generates optimized regexes for matching long lists of
7
7
  literal strings.
8
8
 
9
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
10
10
  :license: BSD, see LICENSE for details.
11
11
  """
12
12
 
@@ -12,7 +12,7 @@
12
12
  Have a look at the `DelphiLexer` to get an idea of how to use
13
13
  this scanner.
14
14
 
15
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
15
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
16
16
  :license: BSD, see LICENSE for details.
17
17
  """
18
18
  import re
@@ -6,7 +6,7 @@
6
6
  Sphinx extension to generate automatic documentation of lexers,
7
7
  formatters and filters.
8
8
 
9
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
10
10
  :license: BSD, see LICENSE for details.
11
11
  """
12
12
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Basic style object.
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
  Contains built-in styles.
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
 
@@ -41,7 +41,9 @@ STYLE_MAP = {
41
41
  'lovelace': 'lovelace::LovelaceStyle',
42
42
  'algol': 'algol::AlgolStyle',
43
43
  'algol_nu': 'algol_nu::Algol_NuStyle',
44
- 'arduino': 'arduino::ArduinoStyle'
44
+ 'arduino': 'arduino::ArduinoStyle',
45
+ 'rainbow_dash': 'rainbow_dash::RainbowDashStyle',
46
+ 'abap': 'abap::AbapStyle',
45
47
  }
46
48
 
47
49
 
@@ -0,0 +1,29 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.styles.abap
4
+ ~~~~~~~~~~~~~~~~~~~~
5
+
6
+ ABAP workbench like style.
7
+
8
+ :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ from pygments.style import Style
13
+ from pygments.token import Keyword, Name, Comment, String, Error, \
14
+ Number, Operator
15
+
16
+
17
+ class AbapStyle(Style):
18
+ default_style = ""
19
+ styles = {
20
+ Comment: 'italic #888',
21
+ Comment.Special: '#888',
22
+ Keyword: '#00f',
23
+ Operator.Word: '#00f',
24
+ Name: '#000',
25
+ Number: '#3af',
26
+ String: '#5a2',
27
+
28
+ Error: '#F00',
29
+ }