pygments.rb 2.0.0 → 2.1.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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +12 -0
- data/.rubocop.yml +18 -0
- data/CHANGELOG.adoc +4 -0
- data/Rakefile +1 -3
- data/bench.rb +9 -4
- data/{cache-lexers.rb → cache_lexers.rb} +0 -0
- data/lib/pygments/lexer.rb +1 -1
- data/lib/pygments/popen.rb +129 -127
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +1 -1
- data/test/test_pygments.rb +6 -8
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/AUTHORS +5 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/INSTALLER +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/LICENSE +1 -1
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/METADATA +8 -9
- data/vendor/pygments-main/Pygments-2.8.0.dist-info/RECORD +494 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/REQUESTED +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/WHEEL +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/entry_points.txt +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/top_level.txt +0 -0
- data/vendor/pygments-main/pygments/__init__.py +2 -3
- data/vendor/pygments-main/pygments/__main__.py +1 -2
- data/vendor/pygments-main/pygments/cmdline.py +179 -159
- data/vendor/pygments-main/pygments/console.py +1 -2
- data/vendor/pygments-main/pygments/filter.py +1 -2
- data/vendor/pygments-main/pygments/filters/__init__.py +1 -2
- data/vendor/pygments-main/pygments/formatter.py +1 -2
- data/vendor/pygments-main/pygments/formatters/__init__.py +2 -3
- data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -2
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
- data/vendor/pygments-main/pygments/formatters/html.py +33 -18
- data/vendor/pygments-main/pygments/formatters/img.py +24 -10
- data/vendor/pygments-main/pygments/formatters/irc.py +1 -2
- data/vendor/pygments-main/pygments/formatters/latex.py +8 -9
- data/vendor/pygments-main/pygments/formatters/other.py +7 -10
- data/vendor/pygments-main/pygments/formatters/rtf.py +1 -2
- data/vendor/pygments-main/pygments/formatters/svg.py +5 -4
- data/vendor/pygments-main/pygments/formatters/terminal.py +1 -2
- data/vendor/pygments-main/pygments/formatters/terminal256.py +24 -3
- data/vendor/pygments-main/pygments/lexer.py +7 -6
- data/vendor/pygments-main/pygments/lexers/__init__.py +2 -3
- data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +16 -12
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_mapping.py +6 -3
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +2 -3
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +439 -386
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +91 -55
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/actionscript.py +7 -8
- data/vendor/pygments-main/pygments/lexers/agile.py +1 -2
- data/vendor/pygments-main/pygments/lexers/algebra.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +48 -0
- data/vendor/pygments-main/pygments/lexers/ampl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/apl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/archetype.py +2 -3
- data/vendor/pygments-main/pygments/lexers/arrow.py +1 -2
- data/vendor/pygments-main/pygments/lexers/asm.py +1 -2
- data/vendor/pygments-main/pygments/lexers/automation.py +7 -2
- data/vendor/pygments-main/pygments/lexers/bare.py +1 -2
- data/vendor/pygments-main/pygments/lexers/basic.py +3 -4
- data/vendor/pygments-main/pygments/lexers/bibtex.py +1 -2
- data/vendor/pygments-main/pygments/lexers/boa.py +4 -5
- data/vendor/pygments-main/pygments/lexers/business.py +3 -4
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +2 -4
- data/vendor/pygments-main/pygments/lexers/c_like.py +1 -2
- data/vendor/pygments-main/pygments/lexers/capnproto.py +1 -2
- data/vendor/pygments-main/pygments/lexers/cddl.py +190 -0
- data/vendor/pygments-main/pygments/lexers/chapel.py +3 -4
- data/vendor/pygments-main/pygments/lexers/clean.py +1 -2
- data/vendor/pygments-main/pygments/lexers/compiled.py +1 -2
- data/vendor/pygments-main/pygments/lexers/configs.py +6 -5
- data/vendor/pygments-main/pygments/lexers/console.py +1 -2
- data/vendor/pygments-main/pygments/lexers/crystal.py +53 -79
- data/vendor/pygments-main/pygments/lexers/csound.py +1 -2
- data/vendor/pygments-main/pygments/lexers/css.py +11 -8
- data/vendor/pygments-main/pygments/lexers/d.py +3 -4
- data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -2
- data/vendor/pygments-main/pygments/lexers/data.py +2 -3
- data/vendor/pygments-main/pygments/lexers/devicetree.py +1 -2
- data/vendor/pygments-main/pygments/lexers/diff.py +1 -2
- data/vendor/pygments-main/pygments/lexers/dotnet.py +7 -8
- data/vendor/pygments-main/pygments/lexers/dsls.py +3 -4
- data/vendor/pygments-main/pygments/lexers/dylan.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ecl.py +4 -6
- data/vendor/pygments-main/pygments/lexers/eiffel.py +2 -3
- data/vendor/pygments-main/pygments/lexers/elm.py +1 -2
- data/vendor/pygments-main/pygments/lexers/email.py +1 -2
- data/vendor/pygments-main/pygments/lexers/erlang.py +1 -2
- data/vendor/pygments-main/pygments/lexers/esoteric.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ezhil.py +1 -2
- data/vendor/pygments-main/pygments/lexers/factor.py +3 -4
- data/vendor/pygments-main/pygments/lexers/fantom.py +1 -2
- data/vendor/pygments-main/pygments/lexers/felix.py +1 -2
- data/vendor/pygments-main/pygments/lexers/floscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/forth.py +2 -3
- data/vendor/pygments-main/pygments/lexers/fortran.py +9 -7
- data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -2
- data/vendor/pygments-main/pygments/lexers/freefem.py +1 -2
- data/vendor/pygments-main/pygments/lexers/functional.py +1 -2
- data/vendor/pygments-main/pygments/lexers/futhark.py +110 -0
- data/vendor/pygments-main/pygments/lexers/gdscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/go.py +2 -3
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +1 -2
- data/vendor/pygments-main/pygments/lexers/graph.py +1 -2
- data/vendor/pygments-main/pygments/lexers/graphics.py +3 -4
- data/vendor/pygments-main/pygments/lexers/graphviz.py +57 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +1 -2
- data/vendor/pygments-main/pygments/lexers/haxe.py +3 -4
- data/vendor/pygments-main/pygments/lexers/hdl.py +2 -6
- data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -2
- data/vendor/pygments-main/pygments/lexers/html.py +7 -8
- data/vendor/pygments-main/pygments/lexers/idl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/igor.py +1 -2
- data/vendor/pygments-main/pygments/lexers/inferno.py +1 -2
- data/vendor/pygments-main/pygments/lexers/installers.py +1 -2
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -2
- data/vendor/pygments-main/pygments/lexers/iolang.py +2 -3
- data/vendor/pygments-main/pygments/lexers/j.py +2 -3
- data/vendor/pygments-main/pygments/lexers/javascript.py +57 -61
- data/vendor/pygments-main/pygments/lexers/julia.py +1 -2
- data/vendor/pygments-main/pygments/lexers/jvm.py +174 -108
- data/vendor/pygments-main/pygments/lexers/lisp.py +7 -8
- data/vendor/pygments-main/pygments/lexers/make.py +3 -4
- data/vendor/pygments-main/pygments/lexers/markup.py +11 -14
- data/vendor/pygments-main/pygments/lexers/math.py +1 -2
- data/vendor/pygments-main/pygments/lexers/matlab.py +2644 -84
- data/vendor/pygments-main/pygments/lexers/mime.py +2 -3
- data/vendor/pygments-main/pygments/lexers/ml.py +7 -8
- data/vendor/pygments-main/pygments/lexers/modeling.py +1 -2
- data/vendor/pygments-main/pygments/lexers/modula2.py +3 -4
- data/vendor/pygments-main/pygments/lexers/monte.py +1 -2
- data/vendor/pygments-main/pygments/lexers/mosel.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ncl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -2
- data/vendor/pygments-main/pygments/lexers/nit.py +1 -2
- data/vendor/pygments-main/pygments/lexers/nix.py +1 -2
- data/vendor/pygments-main/pygments/lexers/oberon.py +1 -2
- data/vendor/pygments-main/pygments/lexers/objective.py +3 -4
- data/vendor/pygments-main/pygments/lexers/ooc.py +1 -2
- data/vendor/pygments-main/pygments/lexers/other.py +1 -2
- data/vendor/pygments-main/pygments/lexers/parasail.py +1 -2
- data/vendor/pygments-main/pygments/lexers/parsers.py +25 -26
- data/vendor/pygments-main/pygments/lexers/pascal.py +1 -2
- data/vendor/pygments-main/pygments/lexers/pawn.py +2 -5
- data/vendor/pygments-main/pygments/lexers/perl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/php.py +3 -4
- data/vendor/pygments-main/pygments/lexers/pointless.py +1 -2
- data/vendor/pygments-main/pygments/lexers/pony.py +1 -2
- data/vendor/pygments-main/pygments/lexers/praat.py +1 -2
- data/vendor/pygments-main/pygments/lexers/prolog.py +3 -4
- data/vendor/pygments-main/pygments/lexers/promql.py +1 -2
- data/vendor/pygments-main/pygments/lexers/python.py +19 -12
- data/vendor/pygments-main/pygments/lexers/qvt.py +1 -2
- data/vendor/pygments-main/pygments/lexers/r.py +1 -2
- data/vendor/pygments-main/pygments/lexers/rdf.py +1 -2
- data/vendor/pygments-main/pygments/lexers/rebol.py +1 -2
- data/vendor/pygments-main/pygments/lexers/resource.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ride.py +1 -2
- data/vendor/pygments-main/pygments/lexers/rnc.py +1 -2
- data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -2
- data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ruby.py +30 -24
- data/vendor/pygments-main/pygments/lexers/rust.py +1 -2
- data/vendor/pygments-main/pygments/lexers/sas.py +1 -2
- data/vendor/pygments-main/pygments/lexers/scdoc.py +1 -2
- data/vendor/pygments-main/pygments/lexers/scripting.py +5 -6
- data/vendor/pygments-main/pygments/lexers/sgf.py +1 -2
- data/vendor/pygments-main/pygments/lexers/shell.py +5 -10
- data/vendor/pygments-main/pygments/lexers/sieve.py +1 -2
- data/vendor/pygments-main/pygments/lexers/slash.py +1 -2
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -2
- data/vendor/pygments-main/pygments/lexers/smv.py +1 -2
- data/vendor/pygments-main/pygments/lexers/snobol.py +1 -2
- data/vendor/pygments-main/pygments/lexers/solidity.py +1 -2
- data/vendor/pygments-main/pygments/lexers/special.py +29 -28
- data/vendor/pygments-main/pygments/lexers/sql.py +8 -13
- data/vendor/pygments-main/pygments/lexers/stata.py +1 -2
- data/vendor/pygments-main/pygments/lexers/supercollider.py +3 -4
- data/vendor/pygments-main/pygments/lexers/tcl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/templates.py +15 -16
- data/vendor/pygments-main/pygments/lexers/teraterm.py +1 -2
- data/vendor/pygments-main/pygments/lexers/testing.py +1 -2
- data/vendor/pygments-main/pygments/lexers/text.py +1 -2
- data/vendor/pygments-main/pygments/lexers/textedit.py +3 -4
- data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -2
- data/vendor/pygments-main/pygments/lexers/theorem.py +7 -5
- data/vendor/pygments-main/pygments/lexers/tnt.py +1 -2
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/typoscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/unicon.py +1 -2
- data/vendor/pygments-main/pygments/lexers/urbi.py +3 -4
- data/vendor/pygments-main/pygments/lexers/usd.py +1 -2
- data/vendor/pygments-main/pygments/lexers/varnish.py +2 -3
- data/vendor/pygments-main/pygments/lexers/verification.py +1 -2
- data/vendor/pygments-main/pygments/lexers/web.py +1 -2
- data/vendor/pygments-main/pygments/lexers/webidl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/webmisc.py +5 -5
- data/vendor/pygments-main/pygments/lexers/whiley.py +1 -2
- data/vendor/pygments-main/pygments/lexers/x10.py +2 -3
- data/vendor/pygments-main/pygments/lexers/xorg.py +1 -2
- data/vendor/pygments-main/pygments/lexers/yang.py +1 -2
- data/vendor/pygments-main/pygments/lexers/zig.py +1 -2
- data/vendor/pygments-main/pygments/modeline.py +1 -2
- data/vendor/pygments-main/pygments/plugin.py +2 -3
- data/vendor/pygments-main/pygments/regexopt.py +1 -2
- data/vendor/pygments-main/pygments/scanner.py +1 -2
- data/vendor/pygments-main/pygments/sphinxext.py +1 -2
- data/vendor/pygments-main/pygments/style.py +3 -4
- data/vendor/pygments-main/pygments/styles/__init__.py +3 -2
- data/vendor/pygments-main/pygments/styles/abap.py +1 -2
- data/vendor/pygments-main/pygments/styles/algol.py +1 -2
- data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -2
- data/vendor/pygments-main/pygments/styles/arduino.py +1 -2
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -2
- data/vendor/pygments-main/pygments/styles/borland.py +1 -2
- data/vendor/pygments-main/pygments/styles/bw.py +1 -2
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -2
- data/vendor/pygments-main/pygments/styles/default.py +1 -2
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -2
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -2
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -2
- data/vendor/pygments-main/pygments/styles/igor.py +1 -2
- data/vendor/pygments-main/pygments/styles/inkpot.py +1 -2
- data/vendor/pygments-main/pygments/styles/lovelace.py +1 -2
- data/vendor/pygments-main/pygments/styles/manni.py +1 -2
- data/vendor/pygments-main/pygments/styles/material.py +118 -0
- data/vendor/pygments-main/pygments/styles/monokai.py +1 -2
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -2
- data/vendor/pygments-main/pygments/styles/native.py +1 -2
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -2
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -2
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -2
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -2
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -2
- data/vendor/pygments-main/pygments/styles/sas.py +1 -2
- data/vendor/pygments-main/pygments/styles/solarized.py +4 -2
- data/vendor/pygments-main/pygments/styles/stata_dark.py +1 -2
- data/vendor/pygments-main/pygments/styles/stata_light.py +1 -2
- data/vendor/pygments-main/pygments/styles/tango.py +1 -2
- data/vendor/pygments-main/pygments/styles/trac.py +1 -2
- data/vendor/pygments-main/pygments/styles/vim.py +1 -2
- data/vendor/pygments-main/pygments/styles/vs.py +1 -2
- data/vendor/pygments-main/pygments/styles/xcode.py +1 -2
- data/vendor/pygments-main/pygments/styles/zenburn.py +80 -0
- data/vendor/pygments-main/pygments/token.py +1 -2
- data/vendor/pygments-main/pygments/unistring.py +1 -2
- data/vendor/pygments-main/pygments/util.py +2 -5
- metadata +21 -14
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +0 -482
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.functional
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Just export lexer classes previously contained in this module.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -0,0 +1,110 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers.futhark
|
3
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Lexer for the Futhark language
|
6
|
+
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
8
|
+
:license: BSD, see LICENSE for details.
|
9
|
+
"""
|
10
|
+
|
11
|
+
import re
|
12
|
+
|
13
|
+
from pygments.lexer import RegexLexer, include, bygroups, default, words
|
14
|
+
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
15
|
+
Number, Punctuation, Error
|
16
|
+
from pygments import unistring as uni
|
17
|
+
|
18
|
+
__all__ = ['FutharkLexer']
|
19
|
+
|
20
|
+
|
21
|
+
line_re = re.compile('.*?\n')
|
22
|
+
|
23
|
+
|
24
|
+
class FutharkLexer(RegexLexer):
|
25
|
+
"""
|
26
|
+
A Futhark lexer
|
27
|
+
|
28
|
+
.. versionadded:: 2.8.0
|
29
|
+
"""
|
30
|
+
name = 'Futhark'
|
31
|
+
aliases = ['futhark']
|
32
|
+
filenames = ['*.fut']
|
33
|
+
mimetypes = ['text/x-futhark']
|
34
|
+
|
35
|
+
flags = re.MULTILINE | re.UNICODE
|
36
|
+
|
37
|
+
num_types = ('i8', 'i16', 'i32', 'i64', 'u8', 'u16', 'u32', 'u64', 'f32', 'f64')
|
38
|
+
|
39
|
+
other_types = ('bool', )
|
40
|
+
|
41
|
+
reserved = ('if', 'then', 'else', 'let', 'loop', 'in', 'with', 'type',
|
42
|
+
'val', 'entry', 'for', 'while', 'do', 'case', 'match',
|
43
|
+
'include', 'import', 'module', 'open', 'local', 'assert', '_')
|
44
|
+
|
45
|
+
ascii = ('NUL', 'SOH', '[SE]TX', 'EOT', 'ENQ', 'ACK',
|
46
|
+
'BEL', 'BS', 'HT', 'LF', 'VT', 'FF', 'CR', 'S[OI]', 'DLE',
|
47
|
+
'DC[1-4]', 'NAK', 'SYN', 'ETB', 'CAN',
|
48
|
+
'EM', 'SUB', 'ESC', '[FGRU]S', 'SP', 'DEL')
|
49
|
+
|
50
|
+
num_postfix = r'(%s)?' % '|'.join(num_types)
|
51
|
+
|
52
|
+
identifier_re = '[a-zA-Z_][a-zA-Z_0-9\']*'
|
53
|
+
|
54
|
+
# opstart_re = '+\-\*/%=\!><\|&\^'
|
55
|
+
|
56
|
+
tokens = {
|
57
|
+
'root': [
|
58
|
+
(r'--(.*?)\n', Comment.Single),
|
59
|
+
(r'\s+', Text.Whitespace),
|
60
|
+
(r'\(\)', Punctuation),
|
61
|
+
(r'\b(%s)(?!\')\b' % '|'.join(reserved), Keyword.Reserved),
|
62
|
+
(r'\b(%s)(?!\')\b' % '|'.join(num_types + other_types), Keyword.Type),
|
63
|
+
|
64
|
+
# Identifiers
|
65
|
+
(r'#\[([a-zA-Z_\(\) ]*)\]', Comment.Preproc),
|
66
|
+
(r'!?(%s\.)*%s' % (identifier_re, identifier_re), Name),
|
67
|
+
|
68
|
+
(r'\\', Operator),
|
69
|
+
(r'[-+/%=!><|&*^][-+/%=!><|&*^.]*', Operator),
|
70
|
+
(r'[][(),:;`{}]', Punctuation),
|
71
|
+
|
72
|
+
# Numbers
|
73
|
+
(r'0[xX]_*[\da-fA-F](_*[\da-fA-F])*_*[pP][+-]?\d(_*\d)*' + num_postfix, Number.Float),
|
74
|
+
(r'0[xX]_*[\da-fA-F](_*[\da-fA-F])*\.[\da-fA-F](_*[\da-fA-F])*'
|
75
|
+
r'(_*[pP][+-]?\d(_*\d)*)?' + num_postfix, Number.Float),
|
76
|
+
(r'\d(_*\d)*_*[eE][+-]?\d(_*\d)*' + num_postfix, Number.Float),
|
77
|
+
(r'\d(_*\d)*\.\d(_*\d)*(_*[eE][+-]?\d(_*\d)*)?' + num_postfix, Number.Float),
|
78
|
+
(r'0[bB]_*[01](_*[01])*' + num_postfix, Number.Bin),
|
79
|
+
(r'0[xX]_*[\da-fA-F](_*[\da-fA-F])*' + num_postfix, Number.Hex),
|
80
|
+
(r'\d(_*\d)*' + num_postfix, Number.Integer),
|
81
|
+
|
82
|
+
# Character/String Literals
|
83
|
+
(r"'", String.Char, 'character'),
|
84
|
+
(r'"', String, 'string'),
|
85
|
+
# Special
|
86
|
+
(r'\[[a-zA-Z_\d]*\]', Keyword.Type),
|
87
|
+
(r'\(\)', Name.Builtin),
|
88
|
+
],
|
89
|
+
'character': [
|
90
|
+
# Allows multi-chars, incorrectly.
|
91
|
+
(r"[^\\']'", String.Char, '#pop'),
|
92
|
+
(r"\\", String.Escape, 'escape'),
|
93
|
+
("'", String.Char, '#pop'),
|
94
|
+
],
|
95
|
+
'string': [
|
96
|
+
(r'[^\\"]+', String),
|
97
|
+
(r"\\", String.Escape, 'escape'),
|
98
|
+
('"', String, '#pop'),
|
99
|
+
],
|
100
|
+
|
101
|
+
'escape': [
|
102
|
+
(r'[abfnrtv"\'&\\]', String.Escape, '#pop'),
|
103
|
+
(r'\^[][' + uni.Lu + r'@^_]', String.Escape, '#pop'),
|
104
|
+
('|'.join(ascii), String.Escape, '#pop'),
|
105
|
+
(r'o[0-7]+', String.Escape, '#pop'),
|
106
|
+
(r'x[\da-fA-F]+', String.Escape, '#pop'),
|
107
|
+
(r'\d+', String.Escape, '#pop'),
|
108
|
+
(r'\s+\\', String.Escape, '#pop'),
|
109
|
+
],
|
110
|
+
}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.gdscript
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
@@ -8,7 +7,7 @@
|
|
8
7
|
Modified by Daniel J. Ramirez <djrmuv@gmail.com> based on the original
|
9
8
|
python.py.
|
10
9
|
|
11
|
-
:copyright: Copyright 2006-
|
10
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
12
11
|
:license: BSD, see LICENSE for details.
|
13
12
|
"""
|
14
13
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.go
|
4
3
|
~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for the Google Go language.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -90,7 +89,7 @@ class GoLexer(RegexLexer):
|
|
90
89
|
# -- raw_string_lit
|
91
90
|
(r'`[^`]*`', String),
|
92
91
|
# -- interpreted_string_lit
|
93
|
-
(r'"(\\\\|\\
|
92
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
94
93
|
# Tokens
|
95
94
|
(r'(<<=|>>=|<<|>>|<=|>=|&\^=|&\^|\+=|-=|\*=|/=|%=|&=|\|=|&&|\|\|'
|
96
95
|
r'|<-|\+\+|--|==|!=|:=|\.\.\.|[+\-*/%&])', Operator),
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.grammar_notation
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for grammar notations like BNF.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.graph
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for graph query languages.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.graphics
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for computer graphics and plotting related languages.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -425,7 +424,7 @@ class AsymptoteLexer(RegexLexer):
|
|
425
424
|
],
|
426
425
|
'statements': [
|
427
426
|
# simple string (TeX friendly)
|
428
|
-
(r'"(\\\\|\\
|
427
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
429
428
|
# C style string (with character escapes)
|
430
429
|
(r"'", String, 'string'),
|
431
430
|
(r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?', Number.Float),
|
@@ -775,7 +774,7 @@ class PovrayLexer(RegexLexer):
|
|
775
774
|
(r'[0-9]+\.[0-9]*', Number.Float),
|
776
775
|
(r'\.[0-9]+', Number.Float),
|
777
776
|
(r'[0-9]+', Number.Integer),
|
778
|
-
(r'"(\\\\|\\
|
777
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
779
778
|
(r'\s+', Text),
|
780
779
|
]
|
781
780
|
}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers.graphviz
|
3
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Lexer for the DOT language (graphviz).
|
6
|
+
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
8
|
+
:license: BSD, see LICENSE for details.
|
9
|
+
"""
|
10
|
+
|
11
|
+
from pygments.lexer import RegexLexer, bygroups
|
12
|
+
from pygments.token import Comment, Keyword, Operator, Name, String, Number, Punctuation, Whitespace
|
13
|
+
|
14
|
+
|
15
|
+
__all__ = ['GraphvizLexer']
|
16
|
+
|
17
|
+
|
18
|
+
class GraphvizLexer(RegexLexer):
|
19
|
+
"""
|
20
|
+
For graphviz DOT graph description language.
|
21
|
+
|
22
|
+
.. versionadded:: 2.8
|
23
|
+
"""
|
24
|
+
name = 'Graphviz'
|
25
|
+
aliases = ['graphviz', 'dot']
|
26
|
+
filenames = ['*.gv', '*.dot']
|
27
|
+
mimetypes = ['text/x-graphviz', 'text/vnd.graphviz']
|
28
|
+
tokens = {
|
29
|
+
'root': [
|
30
|
+
(r'\s+', Whitespace),
|
31
|
+
(r'(#|//).*?$', Comment.Single),
|
32
|
+
(r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
|
33
|
+
(r'(?i)(node|edge|graph|digraph|subgraph|strict)\b', Keyword),
|
34
|
+
(r'--|->', Operator),
|
35
|
+
(r'[{}[\]:;,]', Punctuation),
|
36
|
+
(r'(\b\D\w*)(\s*)(=)(\s*)',
|
37
|
+
bygroups(Name.Attribute, Whitespace, Punctuation, Whitespace),
|
38
|
+
'attr_id'),
|
39
|
+
(r'\b(n|ne|e|se|s|sw|w|nw|c|_)\b', Name.Builtin),
|
40
|
+
(r'\b\D\w*', Name.Tag), # node
|
41
|
+
(r'[-]?((\.[0-9]+)|([0-9]+(\.[0-9]*)?))', Number),
|
42
|
+
(r'"(\\"|[^"])*?"', Name.Tag), # quoted node
|
43
|
+
(r'<', Punctuation, 'xml'),
|
44
|
+
],
|
45
|
+
'attr_id': [
|
46
|
+
(r'\b\D\w*', String, '#pop'),
|
47
|
+
(r'[-]?((\.[0-9]+)|([0-9]+(\.[0-9]*)?))', Number, '#pop'),
|
48
|
+
(r'"(\\"|[^"])*?"', String.Double, '#pop'),
|
49
|
+
(r'<', Punctuation, ('#pop', 'xml')),
|
50
|
+
],
|
51
|
+
'xml': [
|
52
|
+
(r'<', Punctuation, '#push'),
|
53
|
+
(r'>', Punctuation, '#pop'),
|
54
|
+
(r'\s+', Whitespace),
|
55
|
+
(r'[^<>\s]', Name.Tag),
|
56
|
+
]
|
57
|
+
}
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.haskell
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for Haskell and related languages.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.haxe
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for Haxe and related stuff.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -467,7 +466,7 @@ class HaxeLexer(ExtendedRegexLexer):
|
|
467
466
|
(r'"', String.Double, ('#pop', 'expr-chain', 'string-double')),
|
468
467
|
|
469
468
|
# EReg
|
470
|
-
(r'~/(
|
469
|
+
(r'~/(\\\\|\\[^\\]|[^/\\\n])*/[gimsu]*', String.Regex, ('#pop', 'expr-chain')),
|
471
470
|
|
472
471
|
# Array
|
473
472
|
(r'\[', Punctuation, ('#pop', 'expr-chain', 'array-decl')),
|
@@ -722,7 +721,7 @@ class HaxeLexer(ExtendedRegexLexer):
|
|
722
721
|
(r'"', String.Double, ('#pop', 'string-double')),
|
723
722
|
|
724
723
|
# EReg
|
725
|
-
(r'~/(
|
724
|
+
(r'~/(\\\\|\\[^\\]|[^/\\\n])*/[gim]*', String.Regex, '#pop'),
|
726
725
|
|
727
726
|
# Array
|
728
727
|
(r'\[', Operator, ('#pop', 'array-decl')),
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.hdl
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for hardware descriptor languages.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -13,7 +12,7 @@ import re
|
|
13
12
|
|
14
13
|
from pygments.lexer import RegexLexer, bygroups, include, using, this, words
|
15
14
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
16
|
-
Number, Punctuation
|
15
|
+
Number, Punctuation
|
17
16
|
|
18
17
|
__all__ = ['VerilogLexer', 'SystemVerilogLexer', 'VhdlLexer']
|
19
18
|
|
@@ -51,7 +50,6 @@ class VerilogLexer(RegexLexer):
|
|
51
50
|
(r'([0-9]+)|(\'o)[0-7]+', Number.Oct),
|
52
51
|
(r'\'[01xz]', Number),
|
53
52
|
(r'\d+[Ll]?', Number.Integer),
|
54
|
-
(r'\*/', Error),
|
55
53
|
(r'[~!%^&*+=|?:<>/-]', Operator),
|
56
54
|
(r'[()\[\],.;\']', Punctuation),
|
57
55
|
(r'`[a-zA-Z_]\w*', Name.Constant),
|
@@ -191,8 +189,6 @@ class SystemVerilogLexer(RegexLexer):
|
|
191
189
|
(r'\'[01xXzZ]', Number),
|
192
190
|
(r'[0-9][_0-9]*', Number.Integer),
|
193
191
|
|
194
|
-
(r'\*/', Error),
|
195
|
-
|
196
192
|
(r'[~!%^&*+=|?:<>/-]', Operator),
|
197
193
|
(words(('inside', 'dist'), suffix=r'\b'), Operator.Word),
|
198
194
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.hexdump
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for hexadecimal dumps.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.html
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for HTML, XML and related markup.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -369,8 +368,8 @@ class HamlLexer(ExtendedRegexLexer):
|
|
369
368
|
(r'\w+', Name.Variable, '#pop'),
|
370
369
|
(r'@\w+', Name.Variable.Instance, '#pop'),
|
371
370
|
(r'\$\w+', Name.Variable.Global, '#pop'),
|
372
|
-
(r"'(\\\\|\\
|
373
|
-
(r'"(\\\\|\\
|
371
|
+
(r"'(\\\\|\\[^\\]|[^'\\\n])*'", String, '#pop'),
|
372
|
+
(r'"(\\\\|\\[^\\]|[^"\\\n])*"', String, '#pop'),
|
374
373
|
],
|
375
374
|
|
376
375
|
'html-comment-block': [
|
@@ -481,8 +480,8 @@ class ScamlLexer(ExtendedRegexLexer):
|
|
481
480
|
(r'\w+', Name.Variable, '#pop'),
|
482
481
|
(r'@\w+', Name.Variable.Instance, '#pop'),
|
483
482
|
(r'\$\w+', Name.Variable.Global, '#pop'),
|
484
|
-
(r"'(\\\\|\\
|
485
|
-
(r'"(\\\\|\\
|
483
|
+
(r"'(\\\\|\\[^\\]|[^'\\\n])*'", String, '#pop'),
|
484
|
+
(r'"(\\\\|\\[^\\]|[^"\\\n])*"', String, '#pop'),
|
486
485
|
],
|
487
486
|
|
488
487
|
'html-comment-block': [
|
@@ -590,8 +589,8 @@ class PugLexer(ExtendedRegexLexer):
|
|
590
589
|
(r'\w+', Name.Variable, '#pop'),
|
591
590
|
(r'@\w+', Name.Variable.Instance, '#pop'),
|
592
591
|
(r'\$\w+', Name.Variable.Global, '#pop'),
|
593
|
-
(r"'(\\\\|\\
|
594
|
-
(r'"(\\\\|\\
|
592
|
+
(r"'(\\\\|\\[^\\]|[^'\\\n])*'", String, '#pop'),
|
593
|
+
(r'"(\\\\|\\[^\\]|[^"\\\n])*"', String, '#pop'),
|
595
594
|
],
|
596
595
|
|
597
596
|
'html-comment-block': [
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.idl
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for IDL.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.igor
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for Igor Pro.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|