pygments.rb 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -1
  3. data/Rakefile +1 -0
  4. data/lib/pygments/version.rb +1 -1
  5. data/pygments.rb.gemspec +1 -2
  6. data/vendor/pygments-main/AUTHORS +2 -0
  7. data/vendor/pygments-main/CHANGES +27 -4
  8. data/vendor/pygments-main/LICENSE +1 -1
  9. data/vendor/pygments-main/MANIFEST.in +1 -1
  10. data/vendor/pygments-main/Makefile +1 -1
  11. data/vendor/pygments-main/REVISION +1 -1
  12. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +1 -1
  13. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +1 -1
  14. data/vendor/pygments-main/doc/docs/api.rst +23 -0
  15. data/vendor/pygments-main/doc/docs/cmdline.rst +17 -0
  16. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +42 -3
  17. data/vendor/pygments-main/external/autopygmentize +28 -11
  18. data/vendor/pygments-main/external/markdown-processor.py +1 -1
  19. data/vendor/pygments-main/external/moin-parser.py +1 -1
  20. data/vendor/pygments-main/external/rst-directive.py +1 -1
  21. data/vendor/pygments-main/pygments/__init__.py +2 -2
  22. data/vendor/pygments-main/pygments/cmdline.py +61 -17
  23. data/vendor/pygments-main/pygments/console.py +1 -1
  24. data/vendor/pygments-main/pygments/filter.py +1 -1
  25. data/vendor/pygments-main/pygments/filters/__init__.py +1 -1
  26. data/vendor/pygments-main/pygments/formatter.py +1 -1
  27. data/vendor/pygments-main/pygments/formatters/__init__.py +37 -2
  28. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -1
  29. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  30. data/vendor/pygments-main/pygments/formatters/html.py +1 -1
  31. data/vendor/pygments-main/pygments/formatters/img.py +38 -1
  32. data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
  33. data/vendor/pygments-main/pygments/formatters/latex.py +1 -1
  34. data/vendor/pygments-main/pygments/formatters/other.py +1 -1
  35. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
  36. data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
  37. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  38. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  39. data/vendor/pygments-main/pygments/lexer.py +1 -1
  40. data/vendor/pygments-main/pygments/lexers/__init__.py +39 -5
  41. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  42. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  43. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +1 -1
  44. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  45. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +8 -1
  46. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -1
  47. data/vendor/pygments-main/pygments/lexers/_mapping.py +6 -5
  48. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  49. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  50. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +1 -1
  51. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -1
  52. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -1
  54. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
  55. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  56. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  58. data/vendor/pygments-main/pygments/lexers/actionscript.py +1 -1
  59. data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
  60. data/vendor/pygments-main/pygments/lexers/algebra.py +1 -1
  61. data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
  62. data/vendor/pygments-main/pygments/lexers/ampl.py +1 -1
  63. data/vendor/pygments-main/pygments/lexers/apl.py +1 -1
  64. data/vendor/pygments-main/pygments/lexers/archetype.py +1 -1
  65. data/vendor/pygments-main/pygments/lexers/asm.py +21 -10
  66. data/vendor/pygments-main/pygments/lexers/automation.py +3 -3
  67. data/vendor/pygments-main/pygments/lexers/basic.py +1 -1
  68. data/vendor/pygments-main/pygments/lexers/bibtex.py +9 -5
  69. data/vendor/pygments-main/pygments/lexers/business.py +53 -35
  70. data/vendor/pygments-main/pygments/lexers/c_cpp.py +1 -1
  71. data/vendor/pygments-main/pygments/lexers/c_like.py +2 -2
  72. data/vendor/pygments-main/pygments/lexers/capnproto.py +14 -15
  73. data/vendor/pygments-main/pygments/lexers/chapel.py +4 -3
  74. data/vendor/pygments-main/pygments/lexers/clean.py +11 -11
  75. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
  76. data/vendor/pygments-main/pygments/lexers/configs.py +3 -3
  77. data/vendor/pygments-main/pygments/lexers/console.py +1 -1
  78. data/vendor/pygments-main/pygments/lexers/crystal.py +29 -20
  79. data/vendor/pygments-main/pygments/lexers/csound.py +1 -1
  80. data/vendor/pygments-main/pygments/lexers/css.py +1 -1
  81. data/vendor/pygments-main/pygments/lexers/d.py +1 -1
  82. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
  83. data/vendor/pygments-main/pygments/lexers/data.py +1 -1
  84. data/vendor/pygments-main/pygments/lexers/diff.py +1 -1
  85. data/vendor/pygments-main/pygments/lexers/dotnet.py +1 -1
  86. data/vendor/pygments-main/pygments/lexers/dsls.py +4 -4
  87. data/vendor/pygments-main/pygments/lexers/dylan.py +1 -1
  88. data/vendor/pygments-main/pygments/lexers/ecl.py +1 -1
  89. data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
  90. data/vendor/pygments-main/pygments/lexers/elm.py +1 -1
  91. data/vendor/pygments-main/pygments/lexers/erlang.py +1 -1
  92. data/vendor/pygments-main/pygments/lexers/esoteric.py +9 -7
  93. data/vendor/pygments-main/pygments/lexers/ezhil.py +4 -3
  94. data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
  95. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
  96. data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
  97. data/vendor/pygments-main/pygments/lexers/forth.py +1 -1
  98. data/vendor/pygments-main/pygments/lexers/fortran.py +1 -1
  99. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
  100. data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
  101. data/vendor/pygments-main/pygments/lexers/go.py +1 -1
  102. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +2 -2
  103. data/vendor/pygments-main/pygments/lexers/graph.py +1 -1
  104. data/vendor/pygments-main/pygments/lexers/graphics.py +1 -1
  105. data/vendor/pygments-main/pygments/lexers/haskell.py +5 -2
  106. data/vendor/pygments-main/pygments/lexers/haxe.py +1 -1
  107. data/vendor/pygments-main/pygments/lexers/hdl.py +1 -1
  108. data/vendor/pygments-main/pygments/lexers/hexdump.py +18 -12
  109. data/vendor/pygments-main/pygments/lexers/html.py +1 -1
  110. data/vendor/pygments-main/pygments/lexers/idl.py +2 -2
  111. data/vendor/pygments-main/pygments/lexers/igor.py +1 -1
  112. data/vendor/pygments-main/pygments/lexers/inferno.py +1 -1
  113. data/vendor/pygments-main/pygments/lexers/installers.py +1 -1
  114. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -1
  115. data/vendor/pygments-main/pygments/lexers/iolang.py +1 -1
  116. data/vendor/pygments-main/pygments/lexers/j.py +1 -1
  117. data/vendor/pygments-main/pygments/lexers/javascript.py +56 -37
  118. data/vendor/pygments-main/pygments/lexers/julia.py +3 -3
  119. data/vendor/pygments-main/pygments/lexers/jvm.py +1 -1
  120. data/vendor/pygments-main/pygments/lexers/lisp.py +1 -1
  121. data/vendor/pygments-main/pygments/lexers/make.py +1 -1
  122. data/vendor/pygments-main/pygments/lexers/markup.py +1 -1
  123. data/vendor/pygments-main/pygments/lexers/math.py +1 -1
  124. data/vendor/pygments-main/pygments/lexers/matlab.py +1 -1
  125. data/vendor/pygments-main/pygments/lexers/ml.py +1 -1
  126. data/vendor/pygments-main/pygments/lexers/modeling.py +1 -1
  127. data/vendor/pygments-main/pygments/lexers/modula2.py +1 -1
  128. data/vendor/pygments-main/pygments/lexers/monte.py +4 -3
  129. data/vendor/pygments-main/pygments/lexers/ncl.py +85 -244
  130. data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -1
  131. data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
  132. data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
  133. data/vendor/pygments-main/pygments/lexers/oberon.py +1 -1
  134. data/vendor/pygments-main/pygments/lexers/objective.py +1 -1
  135. data/vendor/pygments-main/pygments/lexers/ooc.py +1 -1
  136. data/vendor/pygments-main/pygments/lexers/other.py +1 -1
  137. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
  138. data/vendor/pygments-main/pygments/lexers/parsers.py +1 -1
  139. data/vendor/pygments-main/pygments/lexers/pascal.py +2 -2
  140. data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
  141. data/vendor/pygments-main/pygments/lexers/perl.py +17 -13
  142. data/vendor/pygments-main/pygments/lexers/php.py +1 -1
  143. data/vendor/pygments-main/pygments/lexers/praat.py +1 -1
  144. data/vendor/pygments-main/pygments/lexers/prolog.py +1 -1
  145. data/vendor/pygments-main/pygments/lexers/python.py +2 -1
  146. data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
  147. data/vendor/pygments-main/pygments/lexers/r.py +1 -1
  148. data/vendor/pygments-main/pygments/lexers/rdf.py +1 -1
  149. data/vendor/pygments-main/pygments/lexers/rebol.py +1 -1
  150. data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
  151. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
  152. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
  153. data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -1
  154. data/vendor/pygments-main/pygments/lexers/ruby.py +1 -1
  155. data/vendor/pygments-main/pygments/lexers/rust.py +41 -30
  156. data/vendor/pygments-main/pygments/lexers/sas.py +7 -7
  157. data/vendor/pygments-main/pygments/lexers/scripting.py +1 -1
  158. data/vendor/pygments-main/pygments/lexers/shell.py +14 -10
  159. data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -1
  160. data/vendor/pygments-main/pygments/lexers/smv.py +28 -24
  161. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
  162. data/vendor/pygments-main/pygments/lexers/special.py +1 -1
  163. data/vendor/pygments-main/pygments/lexers/sql.py +1 -1
  164. data/vendor/pygments-main/pygments/lexers/stata.py +9 -7
  165. data/vendor/pygments-main/pygments/lexers/supercollider.py +1 -1
  166. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
  167. data/vendor/pygments-main/pygments/lexers/templates.py +48 -17
  168. data/vendor/pygments-main/pygments/lexers/testing.py +1 -1
  169. data/vendor/pygments-main/pygments/lexers/text.py +1 -1
  170. data/vendor/pygments-main/pygments/lexers/textedit.py +1 -1
  171. data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -1
  172. data/vendor/pygments-main/pygments/lexers/theorem.py +1 -1
  173. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
  174. data/vendor/pygments-main/pygments/lexers/typoscript.py +8 -7
  175. data/vendor/pygments-main/pygments/lexers/urbi.py +1 -1
  176. data/vendor/pygments-main/pygments/lexers/varnish.py +3 -3
  177. data/vendor/pygments-main/pygments/lexers/verification.py +3 -3
  178. data/vendor/pygments-main/pygments/lexers/web.py +1 -1
  179. data/vendor/pygments-main/pygments/lexers/webmisc.py +20 -11
  180. data/vendor/pygments-main/pygments/lexers/whiley.py +7 -8
  181. data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
  182. data/vendor/pygments-main/pygments/lexers/xorg.py +36 -0
  183. data/vendor/pygments-main/pygments/modeline.py +6 -5
  184. data/vendor/pygments-main/pygments/plugin.py +12 -18
  185. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  186. data/vendor/pygments-main/pygments/scanner.py +1 -1
  187. data/vendor/pygments-main/pygments/sphinxext.py +1 -1
  188. data/vendor/pygments-main/pygments/style.py +1 -1
  189. data/vendor/pygments-main/pygments/styles/__init__.py +4 -2
  190. data/vendor/pygments-main/pygments/styles/abap.py +29 -0
  191. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  192. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  193. data/vendor/pygments-main/pygments/styles/arduino.py +1 -1
  194. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  195. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  196. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  197. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  198. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  199. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  200. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  201. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  202. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  203. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  204. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  205. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  206. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  207. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  208. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  209. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  210. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  211. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  212. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +89 -0
  213. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  214. data/vendor/pygments-main/pygments/styles/sas.py +3 -0
  215. data/vendor/pygments-main/pygments/styles/stata.py +3 -0
  216. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  217. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  218. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  219. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  220. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  221. data/vendor/pygments-main/pygments/token.py +1 -1
  222. data/vendor/pygments-main/pygments/unistring.py +1 -1
  223. data/vendor/pygments-main/pygments/util.py +5 -4
  224. data/vendor/pygments-main/scripts/check_sources.py +2 -2
  225. data/vendor/pygments-main/scripts/debug_lexer.py +1 -1
  226. data/vendor/pygments-main/scripts/get_vimkw.py +1 -1
  227. data/vendor/pygments-main/setup.cfg +2 -2
  228. data/vendor/pygments-main/setup.py +3 -3
  229. metadata +6 -4
  230. data/vendor/pygments-main/scripts/find_error.py +0 -1
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for 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
+ }