pygments.rb 2.0.0.rc3 → 2.3.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 +13 -1
- data/.gitignore +0 -1
- data/.rubocop.yml +16 -0
- data/CHANGELOG.adoc +19 -0
- data/README.adoc +1 -3
- data/Rakefile +0 -14
- data/bench.rb +11 -6
- data/lib/pygments/lexer.rb +84 -62
- data/lib/pygments/mentos.py +7 -49
- data/lib/pygments/popen.rb +133 -173
- data/lib/pygments/version.rb +1 -1
- data/lib/pygments.rb +15 -6
- data/pygments.rb.gemspec +16 -11
- data/test/test_pygments.rb +19 -40
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/AUTHORS +13 -1
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/INSTALLER +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/LICENSE +1 -1
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/METADATA +8 -9
- data/vendor/pygments-main/Pygments-2.10.0.dist-info/RECORD +524 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/REQUESTED +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/WHEEL +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/entry_points.txt +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/top_level.txt +0 -0
- data/vendor/pygments-main/bin/pygmentize +1 -1
- 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 +2 -2
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
- data/vendor/pygments-main/pygments/formatters/html.py +53 -25
- 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/pangomarkup.py +83 -0
- 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 +56 -16
- data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +401 -0
- 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 +73 -54
- 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 +9 -10
- 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 +3 -4
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +53 -0
- data/vendor/pygments-main/pygments/lexers/ampl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/apdlexer.py +448 -0
- data/vendor/pygments-main/pygments/lexers/apl.py +7 -5
- 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/asc.py +51 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +87 -60
- data/vendor/pygments-main/pygments/lexers/automation.py +8 -3
- 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 +3 -4
- 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 +61 -36
- data/vendor/pygments-main/pygments/lexers/c_like.py +103 -5
- 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 +52 -29
- data/vendor/pygments-main/pygments/lexers/clean.py +7 -8
- data/vendor/pygments-main/pygments/lexers/compiled.py +1 -2
- data/vendor/pygments-main/pygments/lexers/configs.py +139 -48
- 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 +3 -4
- 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 +2 -3
- 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 +2 -3
- 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 +2 -3
- 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 +111 -0
- data/vendor/pygments-main/pygments/lexers/gcodelexer.py +36 -0
- data/vendor/pygments-main/pygments/lexers/gdscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/go.py +3 -4
- 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 +4 -5
- data/vendor/pygments-main/pygments/lexers/graphviz.py +58 -0
- data/vendor/pygments-main/pygments/lexers/gsql.py +92 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +5 -6
- data/vendor/pygments-main/pygments/lexers/haxe.py +4 -5
- 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 +3 -4
- 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 +170 -156
- data/vendor/pygments-main/pygments/lexers/jslt.py +94 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +136 -185
- data/vendor/pygments-main/pygments/lexers/jvm.py +433 -307
- data/vendor/pygments-main/pygments/lexers/kuin.py +299 -0
- data/vendor/pygments-main/pygments/lexers/lisp.py +25 -23
- data/vendor/pygments-main/pygments/lexers/make.py +3 -4
- data/vendor/pygments-main/pygments/lexers/markup.py +13 -16
- data/vendor/pygments-main/pygments/lexers/math.py +1 -2
- data/vendor/pygments-main/pygments/lexers/matlab.py +2666 -93
- data/vendor/pygments-main/pygments/lexers/meson.py +155 -0
- data/vendor/pygments-main/pygments/lexers/mime.py +7 -23
- data/vendor/pygments-main/pygments/lexers/ml.py +8 -9
- 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 +2 -3
- 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 +6 -7
- 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 +26 -27
- 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/procfile.py +43 -0
- data/vendor/pygments-main/pygments/lexers/prolog.py +3 -4
- data/vendor/pygments-main/pygments/lexers/promql.py +2 -3
- data/vendor/pygments-main/pygments/lexers/python.py +38 -17
- 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 +2 -3
- data/vendor/pygments-main/pygments/lexers/ride.py +1 -2
- data/vendor/pygments-main/pygments/lexers/rnc.py +2 -3
- 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 +31 -25
- data/vendor/pygments-main/pygments/lexers/rust.py +10 -12
- 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 +12 -13
- data/vendor/pygments-main/pygments/lexers/sgf.py +1 -2
- data/vendor/pygments-main/pygments/lexers/shell.py +15 -17
- 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/smithy.py +79 -0
- data/vendor/pygments-main/pygments/lexers/smv.py +2 -3
- 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 +44 -30
- 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 +4 -5
- data/vendor/pygments-main/pygments/lexers/tcl.py +4 -5
- data/vendor/pygments-main/pygments/lexers/teal.py +88 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +34 -35
- data/vendor/pygments-main/pygments/lexers/teraterm.py +2 -3
- data/vendor/pygments-main/pygments/lexers/testing.py +2 -3
- 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 +11 -7
- data/vendor/pygments-main/pygments/lexers/thingsdb.py +118 -0
- data/vendor/pygments-main/pygments/lexers/tnt.py +26 -17
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +2 -3
- 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/webassembly.py +120 -0
- 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 +2 -3
- 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 +4 -5
- data/vendor/pygments-main/pygments/styles/__init__.py +5 -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 +2 -2
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -2
- data/vendor/pygments-main/pygments/styles/gruvbox.py +107 -0
- 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 +2 -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 +48 -23
- data/cache-lexers.rb +0 -9
- data/lexers +0 -0
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +0 -482
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
pygments.lexers.thingsdb
|
|
4
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
|
+
|
|
6
|
+
Lexers for the ThingsDB language.
|
|
7
|
+
|
|
8
|
+
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
|
|
9
|
+
:license: BSD, see LICENSE for details.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
import re
|
|
13
|
+
from pygments.lexer import RegexLexer, include, bygroups
|
|
14
|
+
from pygments.token import Comment, Keyword, Name, Number, String, Text, \
|
|
15
|
+
Operator, Punctuation, Whitespace
|
|
16
|
+
|
|
17
|
+
__all__ = ['ThingsDBLexer']
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ThingsDBLexer(RegexLexer):
|
|
21
|
+
"""
|
|
22
|
+
Lexer for the ThingsDB programming language.
|
|
23
|
+
|
|
24
|
+
.. versionadded:: 2.9
|
|
25
|
+
"""
|
|
26
|
+
name = 'ThingsDB'
|
|
27
|
+
aliases = ['ti', 'thingsdb']
|
|
28
|
+
filenames = ['*.ti']
|
|
29
|
+
|
|
30
|
+
tokens = {
|
|
31
|
+
'root': [
|
|
32
|
+
include('expression'),
|
|
33
|
+
],
|
|
34
|
+
'expression': [
|
|
35
|
+
include('comments'),
|
|
36
|
+
include('whitespace'),
|
|
37
|
+
|
|
38
|
+
# numbers
|
|
39
|
+
(r'[-+]?0b[01]+', Number.Bin),
|
|
40
|
+
(r'[-+]?0o[0-8]+', Number.Oct),
|
|
41
|
+
(r'([-+]?0x[0-9a-fA-F]+)', Number.Hex),
|
|
42
|
+
(r'[-+]?[0-9]+', Number.Integer),
|
|
43
|
+
(r'[-+]?((inf|nan)([^0-9A-Za-z_]|$)|[0-9]*\.[0-9]+(e[+-][0-9]+)?)',
|
|
44
|
+
Number.Float),
|
|
45
|
+
|
|
46
|
+
# strings
|
|
47
|
+
(r'(?:"(?:[^"]*)")+', String.Double),
|
|
48
|
+
(r"(?:'(?:[^']*)')+", String.Single),
|
|
49
|
+
|
|
50
|
+
# literals
|
|
51
|
+
(r'(true|false|nil)\b', Keyword.Constant),
|
|
52
|
+
|
|
53
|
+
# regular expressions
|
|
54
|
+
(r'(/[^/\\]*(?:\\.[^/\\]*)*/i?)', String.Regex),
|
|
55
|
+
|
|
56
|
+
# thing id's
|
|
57
|
+
(r'#[0-9]+', Comment.Preproc),
|
|
58
|
+
|
|
59
|
+
# name, assignments and functions
|
|
60
|
+
include('names'),
|
|
61
|
+
|
|
62
|
+
(r'[(){}\[\],;]', Punctuation),
|
|
63
|
+
(r'[+\-*/%&|<>^!~@=:?]', Operator),
|
|
64
|
+
],
|
|
65
|
+
'names': [
|
|
66
|
+
(r'(\.)'
|
|
67
|
+
r'(add|call|contains|del|endswith|extend|filter|find|findindex|'
|
|
68
|
+
r'get|has|id|indexof|keys|len|lower|map|pop|push|remove|set|sort|'
|
|
69
|
+
r'splice|startswith|test|unwrap|upper|values|wrap)'
|
|
70
|
+
r'(\()',
|
|
71
|
+
bygroups(Name.Function, Name.Function, Punctuation), 'arguments'),
|
|
72
|
+
(r'(array|assert|assert_err|auth_err|backup_info|backups_info|'
|
|
73
|
+
r'bad_data_err|bool|closure|collection_info|collections_info|'
|
|
74
|
+
r'counters|deep|del_backup|del_collection|del_expired|del_node|'
|
|
75
|
+
r'del_procedure|del_token|del_type|del_user|err|float|'
|
|
76
|
+
r'forbidden_err|grant|int|isarray|isascii|isbool|isbytes|iserr|'
|
|
77
|
+
r'isfloat|isinf|isint|islist|isnan|isnil|israw|isset|isstr|'
|
|
78
|
+
r'isthing|istuple|isutf8|lookup_err|max_quota_err|mod_type|new|'
|
|
79
|
+
r'new_backup|new_collection|new_node|new_procedure|new_token|'
|
|
80
|
+
r'new_type|new_user|node_err|node_info|nodes_info|now|'
|
|
81
|
+
r'num_arguments_err|operation_err|overflow_err|procedure_doc|'
|
|
82
|
+
r'procedure_info|procedures_info|raise|refs|rename_collection|'
|
|
83
|
+
r'rename_user|reset_counters|return|revoke|run|set_log_level|set|'
|
|
84
|
+
r'set_quota|set_type|shutdown|str|syntax_err|thing|try|type|'
|
|
85
|
+
r'type_err|type_count|type_info|types_info|user_info|users_info|'
|
|
86
|
+
r'value_err|wse|zero_div_err)'
|
|
87
|
+
r'(\()',
|
|
88
|
+
bygroups(Name.Function, Punctuation),
|
|
89
|
+
'arguments'),
|
|
90
|
+
(r'(\.[A-Za-z_][0-9A-Za-z_]*)'
|
|
91
|
+
r'(\s*)(=)',
|
|
92
|
+
bygroups(Name.Attribute, Text, Operator)),
|
|
93
|
+
(r'\.[A-Za-z_][0-9A-Za-z_]*', Name.Attribute),
|
|
94
|
+
(r'([A-Za-z_][0-9A-Za-z_]*)(\s*)(=)',
|
|
95
|
+
bygroups(Name.Variable, Text, Operator)),
|
|
96
|
+
(r'[A-Za-z_][0-9A-Za-z_]*', Name.Variable),
|
|
97
|
+
],
|
|
98
|
+
'whitespace': [
|
|
99
|
+
(r'\n', Whitespace),
|
|
100
|
+
(r'\s+', Whitespace),
|
|
101
|
+
],
|
|
102
|
+
'comments': [
|
|
103
|
+
(r'//(.*?)\n', Comment.Single),
|
|
104
|
+
(r'/\*', Comment.Multiline, 'comment'),
|
|
105
|
+
],
|
|
106
|
+
'comment': [
|
|
107
|
+
(r'[^*/]+', Comment.Multiline),
|
|
108
|
+
(r'/\*', Comment.Multiline, '#push'),
|
|
109
|
+
(r'\*/', Comment.Multiline, '#pop'),
|
|
110
|
+
(r'[*/]', Comment.Multiline),
|
|
111
|
+
],
|
|
112
|
+
'arguments': [
|
|
113
|
+
include('expression'),
|
|
114
|
+
(',', Punctuation),
|
|
115
|
+
(r'\(', Punctuation, '#push'),
|
|
116
|
+
(r'\)', Punctuation, '#pop'),
|
|
117
|
+
],
|
|
118
|
+
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.tnt
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for Typographic Number Theory.
|
|
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 Lexer
|
|
15
14
|
from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
|
|
16
|
-
|
|
15
|
+
Punctuation, Error
|
|
17
16
|
|
|
18
17
|
__all__ = ['TNTLexer']
|
|
19
18
|
|
|
@@ -67,15 +66,16 @@ class TNTLexer(Lexer):
|
|
|
67
66
|
end += 1
|
|
68
67
|
except IndexError:
|
|
69
68
|
end = len(text)
|
|
70
|
-
if required:
|
|
71
|
-
|
|
69
|
+
if required and end == start:
|
|
70
|
+
raise AssertionError
|
|
72
71
|
if end != start:
|
|
73
72
|
self.cur.append((start, Text, text[start:end]))
|
|
74
73
|
return end
|
|
75
74
|
|
|
76
75
|
def variable(self, start, text):
|
|
77
76
|
"""Tokenize a variable."""
|
|
78
|
-
|
|
77
|
+
if text[start] not in self.VARIABLES:
|
|
78
|
+
raise AssertionError
|
|
79
79
|
end = start+1
|
|
80
80
|
while text[end] in self.PRIMES:
|
|
81
81
|
end += 1
|
|
@@ -98,10 +98,12 @@ class TNTLexer(Lexer):
|
|
|
98
98
|
if text[start] == '(': # (...+...)
|
|
99
99
|
self.cur.append((start, Punctuation, text[start]))
|
|
100
100
|
start = self.term(start+1, text)
|
|
101
|
-
|
|
101
|
+
if text[start] not in self.OPERATORS:
|
|
102
|
+
raise AssertionError
|
|
102
103
|
self.cur.append((start, Operator, text[start]))
|
|
103
104
|
start = self.term(start+1, text)
|
|
104
|
-
|
|
105
|
+
if text[start] != ')':
|
|
106
|
+
raise AssertionError
|
|
105
107
|
self.cur.append((start, Punctuation, text[start]))
|
|
106
108
|
return start+1
|
|
107
109
|
raise AssertionError # no matches
|
|
@@ -117,21 +119,25 @@ class TNTLexer(Lexer):
|
|
|
117
119
|
if text[start] in self.QUANTIFIERS: # Aa:<...>
|
|
118
120
|
self.cur.append((start, Keyword.Declaration, text[start]))
|
|
119
121
|
start = self.variable(start+1, text)
|
|
120
|
-
|
|
122
|
+
if text[start] != ':':
|
|
123
|
+
raise AssertionError
|
|
121
124
|
self.cur.append((start, Punctuation, text[start]))
|
|
122
125
|
return self.formula(start+1, text)
|
|
123
126
|
if text[start] == '<': # <...&...>
|
|
124
127
|
self.cur.append((start, Punctuation, text[start]))
|
|
125
128
|
start = self.formula(start+1, text)
|
|
126
|
-
|
|
129
|
+
if text[start] not in self.LOGIC:
|
|
130
|
+
raise AssertionError
|
|
127
131
|
self.cur.append((start, Operator, text[start]))
|
|
128
132
|
start = self.formula(start+1, text)
|
|
129
|
-
|
|
133
|
+
if text[start] != '>':
|
|
134
|
+
raise AssertionError
|
|
130
135
|
self.cur.append((start, Punctuation, text[start]))
|
|
131
136
|
return start+1
|
|
132
137
|
# ...=...
|
|
133
138
|
start = self.term(start, text)
|
|
134
|
-
|
|
139
|
+
if text[start] != '=':
|
|
140
|
+
raise AssertionError
|
|
135
141
|
self.cur.append((start, Operator, text[start]))
|
|
136
142
|
start = self.term(start+1, text)
|
|
137
143
|
return start
|
|
@@ -139,7 +145,8 @@ class TNTLexer(Lexer):
|
|
|
139
145
|
def rule(self, start, text):
|
|
140
146
|
"""Tokenize a rule."""
|
|
141
147
|
match = self.RULES.match(text, start)
|
|
142
|
-
|
|
148
|
+
if match is None:
|
|
149
|
+
raise AssertionError
|
|
143
150
|
groups = sorted(match.regs[1:]) # exclude whole match
|
|
144
151
|
for group in groups:
|
|
145
152
|
if group[0] >= 0: # this group matched
|
|
@@ -163,8 +170,10 @@ class TNTLexer(Lexer):
|
|
|
163
170
|
self.cur.append((start+1, Text, text[start+1:end]))
|
|
164
171
|
start = end
|
|
165
172
|
match = self.LINENOS.match(text, start)
|
|
166
|
-
|
|
167
|
-
|
|
173
|
+
if match is None:
|
|
174
|
+
raise AssertionError
|
|
175
|
+
if text[match.end()] != ')':
|
|
176
|
+
raise AssertionError
|
|
168
177
|
self.cur.append((match.start(), Number.Integer, match.group(0)))
|
|
169
178
|
self.cur.append((match.end(), Punctuation, text[match.end()]))
|
|
170
179
|
return match.end() + 1
|
|
@@ -220,7 +229,7 @@ class TNTLexer(Lexer):
|
|
|
220
229
|
orig = len(self.cur)
|
|
221
230
|
try:
|
|
222
231
|
start = end = self.formula(start, text)
|
|
223
|
-
except AssertionError: # not well-formed
|
|
232
|
+
except (AssertionError, RecursionError): # not well-formed
|
|
224
233
|
del self.cur[orig:]
|
|
225
234
|
while text[end] not in self.WHITESPACE:
|
|
226
235
|
end += 1
|
|
@@ -258,6 +267,6 @@ class TNTLexer(Lexer):
|
|
|
258
267
|
try:
|
|
259
268
|
del self.cur[orig:]
|
|
260
269
|
except NameError:
|
|
261
|
-
pass
|
|
270
|
+
pass # if orig was never defined, fine
|
|
262
271
|
self.error_till_line_end(start, text)
|
|
263
272
|
return self.cur
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.trafficscript
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for RiverBed's TrafficScript (RTS) 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
|
|
|
@@ -24,7 +23,7 @@ class RtsLexer(RegexLexer):
|
|
|
24
23
|
.. versionadded:: 2.1
|
|
25
24
|
"""
|
|
26
25
|
name = 'TrafficScript'
|
|
27
|
-
aliases = ['
|
|
26
|
+
aliases = ['trafficscript', 'rts']
|
|
28
27
|
filenames = ['*.rts']
|
|
29
28
|
|
|
30
29
|
tokens = {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.typoscript
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
@@ -14,7 +13,7 @@
|
|
|
14
13
|
`TypoScriptHtmlDataLexer`
|
|
15
14
|
Lexer that highlights markers, constants and registers within html tags.
|
|
16
15
|
|
|
17
|
-
:copyright: Copyright 2006-
|
|
16
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
|
18
17
|
:license: BSD, see LICENSE for details.
|
|
19
18
|
"""
|
|
20
19
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.unicon
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for the Icon and Unicon languages, including ucode VM.
|
|
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.urbi
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for UrbiScript 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
|
|
|
@@ -117,11 +116,11 @@ class UrbiscriptLexer(ExtendedRegexLexer):
|
|
|
117
116
|
],
|
|
118
117
|
'string.double': [
|
|
119
118
|
(r'((?:\\\\|\\"|[^"])*?)(\\B\((\d+)\)\()', blob_callback),
|
|
120
|
-
(r'(\\\\|\\
|
|
119
|
+
(r'(\\\\|\\[^\\]|[^"\\])*?"', String.Double, '#pop'),
|
|
121
120
|
],
|
|
122
121
|
'string.single': [
|
|
123
122
|
(r"((?:\\\\|\\'|[^'])*?)(\\B\((\d+)\)\()", blob_callback),
|
|
124
|
-
(r"(\\\\|\\
|
|
123
|
+
(r"(\\\\|\\[^\\]|[^'\\])*?'", String.Single, '#pop'),
|
|
125
124
|
],
|
|
126
125
|
# from http://pygments.org/docs/lexerdevelopment/#changing-states
|
|
127
126
|
'comment': [
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.usd
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
The module that parses Pixar's Universal Scene Description file format.
|
|
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.varnish
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Varnish configuration
|
|
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
|
|
|
@@ -61,7 +60,7 @@ class VCLLexer(RegexLexer):
|
|
|
61
60
|
bygroups(Name.Attribute, Operator, Name.Variable.Global, Punctuation)),
|
|
62
61
|
(r'(\.probe)(\s*=\s*)(\{)',
|
|
63
62
|
bygroups(Name.Attribute, Operator, Punctuation), 'probe'),
|
|
64
|
-
(r'(\.\w+\b)(\s*=\s*)([
|
|
63
|
+
(r'(\.\w+\b)(\s*=\s*)([^;\s]*)(\s*;)',
|
|
65
64
|
bygroups(Name.Attribute, Operator, using(this), Punctuation)),
|
|
66
65
|
(r'\{', Punctuation, '#push'),
|
|
67
66
|
(r'\}', Punctuation, '#pop'),
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.verification
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for Intermediate Verification Languages (IVLs).
|
|
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.web
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Just export previously exported lexers.
|
|
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,120 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
pygments.lexers.webassembly
|
|
4
|
+
~~~~~~~~~~~~~~~~~~~
|
|
5
|
+
|
|
6
|
+
Lexers for the WebAssembly text format.
|
|
7
|
+
|
|
8
|
+
The grammar can be found at https://github.com/WebAssembly/spec/blob/master/interpreter/README.md
|
|
9
|
+
and https://webassembly.github.io/spec/core/text/.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
|
13
|
+
:license: BSD, see LICENSE for details.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from pygments.lexer import RegexLexer, words, bygroups, default
|
|
17
|
+
from pygments.token import Text, Comment, Operator, Keyword, String, Number, Punctuation, Literal, Error, Name
|
|
18
|
+
|
|
19
|
+
__all__ = ['WatLexer']
|
|
20
|
+
|
|
21
|
+
keywords = (
|
|
22
|
+
'module', 'import', 'func', 'funcref', 'start', 'param', 'local', 'type',
|
|
23
|
+
'result', 'export', 'memory', 'global', 'mut', 'data', 'table', 'elem',
|
|
24
|
+
'if', 'then', 'else', 'end', 'block', 'loop'
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
builtins = (
|
|
28
|
+
'unreachable', 'nop', 'block', 'loop', 'if', 'else', 'end', 'br', 'br_if',
|
|
29
|
+
'br_table', 'return', 'call', 'call_indirect', 'drop', 'select',
|
|
30
|
+
'local.get', 'local.set', 'local.tee', 'global.get', 'global.set',
|
|
31
|
+
'i32.load', 'i64.load', 'f32.load', 'f64.load', 'i32.load8_s',
|
|
32
|
+
'i32.load8_u', 'i32.load16_s', 'i32.load16_u', 'i64.load8_s',
|
|
33
|
+
'i64.load8_u', 'i64.load16_s', 'i64.load16_u', 'i64.load32_s',
|
|
34
|
+
'i64.load32_u', 'i32.store', 'i64.store', 'f32.store', 'f64.store',
|
|
35
|
+
'i32.store8', 'i32.store16', 'i64.store8', 'i64.store16', 'i64.store32',
|
|
36
|
+
'memory.size', 'memory.grow', 'i32.const', 'i64.const', 'f32.const',
|
|
37
|
+
'f64.const', 'i32.eqz', 'i32.eq', 'i32.ne', 'i32.lt_s', 'i32.lt_u',
|
|
38
|
+
'i32.gt_s', 'i32.gt_u', 'i32.le_s', 'i32.le_u', 'i32.ge_s', 'i32.ge_u',
|
|
39
|
+
'i64.eqz', 'i64.eq', 'i64.ne', 'i64.lt_s', 'i64.lt_u', 'i64.gt_s',
|
|
40
|
+
'i64.gt_u', 'i64.le_s', 'i64.le_u', 'i64.ge_s', 'i64.ge_u', 'f32.eq',
|
|
41
|
+
'f32.ne', 'f32.lt', 'f32.gt', 'f32.le', 'f32.ge', 'f64.eq', 'f64.ne',
|
|
42
|
+
'f64.lt', 'f64.gt', 'f64.le', 'f64.ge', 'i32.clz', 'i32.ctz', 'i32.popcnt',
|
|
43
|
+
'i32.add', 'i32.sub', 'i32.mul', 'i32.div_s', 'i32.div_u', 'i32.rem_s',
|
|
44
|
+
'i32.rem_u', 'i32.and', 'i32.or', 'i32.xor', 'i32.shl', 'i32.shr_s',
|
|
45
|
+
'i32.shr_u', 'i32.rotl', 'i32.rotr', 'i64.clz', 'i64.ctz', 'i64.popcnt',
|
|
46
|
+
'i64.add', 'i64.sub', 'i64.mul', 'i64.div_s', 'i64.div_u', 'i64.rem_s',
|
|
47
|
+
'i64.rem_u', 'i64.and', 'i64.or', 'i64.xor', 'i64.shl', 'i64.shr_s',
|
|
48
|
+
'i64.shr_u', 'i64.rotl', 'i64.rotr', 'f32.abs', 'f32.neg', 'f32.ceil',
|
|
49
|
+
'f32.floor', 'f32.trunc', 'f32.nearest', 'f32.sqrt', 'f32.add', 'f32.sub',
|
|
50
|
+
'f32.mul', 'f32.div', 'f32.min', 'f32.max', 'f32.copysign', 'f64.abs',
|
|
51
|
+
'f64.neg', 'f64.ceil', 'f64.floor', 'f64.trunc', 'f64.nearest', 'f64.sqrt',
|
|
52
|
+
'f64.add', 'f64.sub', 'f64.mul', 'f64.div', 'f64.min', 'f64.max',
|
|
53
|
+
'f64.copysign', 'i32.wrap_i64', 'i32.trunc_f32_s', 'i32.trunc_f32_u',
|
|
54
|
+
'i32.trunc_f64_s', 'i32.trunc_f64_u', 'i64.extend_i32_s',
|
|
55
|
+
'i64.extend_i32_u', 'i64.trunc_f32_s', 'i64.trunc_f32_u',
|
|
56
|
+
'i64.trunc_f64_s', 'i64.trunc_f64_u', 'f32.convert_i32_s',
|
|
57
|
+
'f32.convert_i32_u', 'f32.convert_i64_s', 'f32.convert_i64_u',
|
|
58
|
+
'f32.demote_f64', 'f64.convert_i32_s', 'f64.convert_i32_u',
|
|
59
|
+
'f64.convert_i64_s', 'f64.convert_i64_u', 'f64.promote_f32',
|
|
60
|
+
'i32.reinterpret_f32', 'i64.reinterpret_f64', 'f32.reinterpret_i32',
|
|
61
|
+
'f64.reinterpret_i64',
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class WatLexer(RegexLexer):
|
|
66
|
+
"""Lexer for the `WebAssembly text format <https://webassembly.org/>`_.
|
|
67
|
+
|
|
68
|
+
.. versionadded:: 2.9
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
name = 'WebAssembly'
|
|
72
|
+
aliases = ['wast', 'wat']
|
|
73
|
+
filenames = ['*.wat', '*.wast']
|
|
74
|
+
|
|
75
|
+
tokens = {
|
|
76
|
+
'root': [
|
|
77
|
+
(words(keywords, suffix=r'(?=[^a-z_\.])'), Keyword),
|
|
78
|
+
(words(builtins), Name.Builtin, 'arguments'),
|
|
79
|
+
(words(['i32', 'i64', 'f32', 'f64']), Keyword.Type),
|
|
80
|
+
(r'\$[A-Za-z0-9!#$%&\'*+./:<=>?@\\^_`|~-]+', Name.Variable), # yes, all of the are valid in identifiers
|
|
81
|
+
(r';;.*?$', Comment.Single),
|
|
82
|
+
(r'\(;', Comment.Multiline, 'nesting_comment'),
|
|
83
|
+
(r'[+-]?0x[\dA-Fa-f](_?[\dA-Fa-f])*(.([\dA-Fa-f](_?[\dA-Fa-f])*)?)?([pP][+-]?[\dA-Fa-f](_?[\dA-Fa-f])*)?', Number.Float),
|
|
84
|
+
(r'[+-]?\d.\d(_?\d)*[eE][+-]?\d(_?\d)*', Number.Float),
|
|
85
|
+
(r'[+-]?\d.\d(_?\d)*', Number.Float),
|
|
86
|
+
(r'[+-]?\d.[eE][+-]?\d(_?\d)*', Number.Float),
|
|
87
|
+
(r'[+-]?(inf|nan:0x[\dA-Fa-f](_?[\dA-Fa-f])*|nan)', Number.Float),
|
|
88
|
+
(r'[+-]?0x[\dA-Fa-f](_?[\dA-Fa-f])*', Number.Hex),
|
|
89
|
+
(r'[+-]?\d(_?\d)*', Number.Integer),
|
|
90
|
+
(r'[\(\)]', Punctuation),
|
|
91
|
+
(r'"', String.Double, 'string'),
|
|
92
|
+
(r'\s+', Text),
|
|
93
|
+
],
|
|
94
|
+
'nesting_comment': [
|
|
95
|
+
(r'\(;', Comment.Multiline, '#push'),
|
|
96
|
+
(r';\)', Comment.Multiline, '#pop'),
|
|
97
|
+
(r'[^;(]+', Comment.Multiline),
|
|
98
|
+
(r'[;(]', Comment.Multiline),
|
|
99
|
+
],
|
|
100
|
+
'string': [
|
|
101
|
+
(r'\\[\dA-Fa-f][\dA-Fa-f]', String.Escape), # must have exactly two hex digits
|
|
102
|
+
(r'\\t', String.Escape),
|
|
103
|
+
(r'\\n', String.Escape),
|
|
104
|
+
(r'\\r', String.Escape),
|
|
105
|
+
(r'\\"', String.Escape),
|
|
106
|
+
(r"\\'", String.Escape),
|
|
107
|
+
(r'\\u\{[\dA-Fa-f](_?[\dA-Fa-f])*\}', String.Escape),
|
|
108
|
+
(r'\\\\', String.Escape),
|
|
109
|
+
(r'"', String.Double, '#pop'),
|
|
110
|
+
(r'[^"\\]+', String.Double),
|
|
111
|
+
],
|
|
112
|
+
'arguments': [
|
|
113
|
+
(r'\s+', Text),
|
|
114
|
+
(r'(offset)(=)(0x[\dA-Fa-f](_?[\dA-Fa-f])*)', bygroups(Keyword, Operator, Number.Hex)),
|
|
115
|
+
(r'(offset)(=)(\d(_?\d)*)', bygroups(Keyword, Operator, Number.Integer)),
|
|
116
|
+
(r'(align)(=)(0x[\dA-Fa-f](_?[\dA-Fa-f])*)', bygroups(Keyword, Operator, Number.Hex)),
|
|
117
|
+
(r'(align)(=)(\d(_?\d)*)', bygroups(Keyword, Operator, Number.Integer)),
|
|
118
|
+
default('#pop'),
|
|
119
|
+
]
|
|
120
|
+
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.webidl
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Web IDL, including some extensions.
|
|
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.webmisc
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for misc. web 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
|
|
|
@@ -128,7 +127,8 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
|
128
127
|
|
|
129
128
|
def popstate_tag_callback(lexer, match, ctx):
|
|
130
129
|
yield match.start(), Name.Tag, match.group(1)
|
|
131
|
-
|
|
130
|
+
if lexer.xquery_parse_state:
|
|
131
|
+
ctx.stack.append(lexer.xquery_parse_state.pop())
|
|
132
132
|
ctx.pos = match.end()
|
|
133
133
|
|
|
134
134
|
def popstate_xmlcomment_callback(lexer, match, ctx):
|
|
@@ -857,8 +857,8 @@ class QmlLexer(RegexLexer):
|
|
|
857
857
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
|
858
858
|
(r'0x[0-9a-fA-F]+', Number.Hex),
|
|
859
859
|
(r'[0-9]+', Number.Integer),
|
|
860
|
-
(r'"(\\\\|\\
|
|
861
|
-
(r"'(\\\\|\\
|
|
860
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
|
861
|
+
(r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
|
|
862
862
|
]
|
|
863
863
|
}
|
|
864
864
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.whiley
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for the Whiley 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
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.x10
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for the X10 programming 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
|
|
|
@@ -62,7 +61,7 @@ class X10Lexer(RegexLexer):
|
|
|
62
61
|
(r'\b(%s)\b' % '|'.join(types), Keyword.Type),
|
|
63
62
|
(r'\b(%s)\b' % '|'.join(values), Keyword.Constant),
|
|
64
63
|
(r'\b(%s)\b' % '|'.join(modifiers), Keyword.Declaration),
|
|
65
|
-
(r'"(\\\\|\\
|
|
64
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
|
66
65
|
(r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char),
|
|
67
66
|
(r'.', Text)
|
|
68
67
|
],
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.xorg
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Xorg configs.
|
|
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.yang
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for the YANG 1.1 modeling language. See :rfc:`7950`.
|
|
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.zig
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Zig.
|
|
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.modeline
|
|
4
3
|
~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
A simple modeline parser (based on pymodeline).
|
|
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
|
|