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
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.asm
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for assembly 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
|
|
|
@@ -354,13 +353,14 @@ class LlvmLexer(RegexLexer):
|
|
|
354
353
|
#: optional Comment or Whitespace
|
|
355
354
|
string = r'"[^"]*?"'
|
|
356
355
|
identifier = r'([-a-zA-Z$._][\w\-$.]*|' + string + ')'
|
|
356
|
+
block_label = r'(' + identifier + r'|(\d+))'
|
|
357
357
|
|
|
358
358
|
tokens = {
|
|
359
359
|
'root': [
|
|
360
360
|
include('whitespace'),
|
|
361
361
|
|
|
362
362
|
# Before keywords, because keywords are valid label names :(...
|
|
363
|
-
(
|
|
363
|
+
(block_label + r'\s*:', Name.Label),
|
|
364
364
|
|
|
365
365
|
include('keyword'),
|
|
366
366
|
|
|
@@ -385,68 +385,95 @@ class LlvmLexer(RegexLexer):
|
|
|
385
385
|
'keyword': [
|
|
386
386
|
# Regular keywords
|
|
387
387
|
(words((
|
|
388
|
-
'
|
|
389
|
-
'
|
|
390
|
-
'
|
|
391
|
-
'
|
|
392
|
-
'
|
|
393
|
-
'
|
|
394
|
-
'
|
|
395
|
-
'
|
|
396
|
-
'
|
|
397
|
-
'
|
|
398
|
-
'
|
|
399
|
-
'
|
|
400
|
-
'
|
|
401
|
-
'
|
|
402
|
-
'
|
|
403
|
-
'
|
|
404
|
-
'
|
|
405
|
-
'
|
|
406
|
-
'
|
|
407
|
-
'
|
|
408
|
-
'
|
|
409
|
-
'
|
|
410
|
-
'
|
|
411
|
-
'
|
|
412
|
-
'
|
|
413
|
-
'
|
|
414
|
-
'
|
|
415
|
-
'
|
|
416
|
-
'
|
|
417
|
-
'
|
|
418
|
-
'
|
|
419
|
-
'
|
|
420
|
-
'
|
|
421
|
-
'
|
|
422
|
-
'
|
|
423
|
-
'
|
|
424
|
-
'
|
|
425
|
-
'
|
|
426
|
-
'
|
|
427
|
-
'
|
|
428
|
-
'
|
|
429
|
-
'
|
|
430
|
-
'
|
|
431
|
-
'
|
|
432
|
-
'
|
|
433
|
-
'
|
|
434
|
-
'
|
|
435
|
-
'
|
|
436
|
-
'
|
|
437
|
-
'
|
|
438
|
-
'
|
|
439
|
-
'
|
|
440
|
-
'
|
|
388
|
+
'aarch64_sve_vector_pcs', 'aarch64_vector_pcs', 'acq_rel',
|
|
389
|
+
'acquire', 'add', 'addrspace', 'addrspacecast', 'afn', 'alias',
|
|
390
|
+
'aliasee', 'align', 'alignLog2', 'alignstack', 'alloca',
|
|
391
|
+
'allocsize', 'allOnes', 'alwaysinline', 'alwaysInline',
|
|
392
|
+
'amdgpu_cs', 'amdgpu_es', 'amdgpu_gfx', 'amdgpu_gs',
|
|
393
|
+
'amdgpu_hs', 'amdgpu_kernel', 'amdgpu_ls', 'amdgpu_ps',
|
|
394
|
+
'amdgpu_vs', 'and', 'any', 'anyregcc', 'appending', 'arcp',
|
|
395
|
+
'argmemonly', 'args', 'arm_aapcs_vfpcc', 'arm_aapcscc',
|
|
396
|
+
'arm_apcscc', 'ashr', 'asm', 'atomic', 'atomicrmw',
|
|
397
|
+
'attributes', 'available_externally', 'avr_intrcc',
|
|
398
|
+
'avr_signalcc', 'bit', 'bitcast', 'bitMask', 'blockaddress',
|
|
399
|
+
'blockcount', 'br', 'branchFunnel', 'builtin', 'byArg',
|
|
400
|
+
'byref', 'byte', 'byteArray', 'byval', 'c', 'call', 'callbr',
|
|
401
|
+
'callee', 'caller', 'calls', 'canAutoHide', 'catch',
|
|
402
|
+
'catchpad', 'catchret', 'catchswitch', 'cc', 'ccc',
|
|
403
|
+
'cfguard_checkcc', 'cleanup', 'cleanuppad', 'cleanupret',
|
|
404
|
+
'cmpxchg', 'cold', 'coldcc', 'comdat', 'common', 'constant',
|
|
405
|
+
'contract', 'convergent', 'critical', 'cxx_fast_tlscc',
|
|
406
|
+
'datalayout', 'declare', 'default', 'define', 'deplibs',
|
|
407
|
+
'dereferenceable', 'dereferenceable_or_null', 'distinct',
|
|
408
|
+
'dllexport', 'dllimport', 'dso_local', 'dso_local_equivalent',
|
|
409
|
+
'dso_preemptable', 'dsoLocal', 'eq', 'exact', 'exactmatch',
|
|
410
|
+
'extern_weak', 'external', 'externally_initialized',
|
|
411
|
+
'extractelement', 'extractvalue', 'fadd', 'false', 'fast',
|
|
412
|
+
'fastcc', 'fcmp', 'fdiv', 'fence', 'filter', 'flags', 'fmul',
|
|
413
|
+
'fneg', 'fpext', 'fptosi', 'fptoui', 'fptrunc', 'freeze',
|
|
414
|
+
'frem', 'from', 'fsub', 'funcFlags', 'function', 'gc',
|
|
415
|
+
'getelementptr', 'ghccc', 'global', 'guid', 'gv', 'hash',
|
|
416
|
+
'hhvm_ccc', 'hhvmcc', 'hidden', 'hot', 'hotness', 'icmp',
|
|
417
|
+
'ifunc', 'inaccessiblemem_or_argmemonly',
|
|
418
|
+
'inaccessiblememonly', 'inalloca', 'inbounds', 'indir',
|
|
419
|
+
'indirectbr', 'info', 'initialexec', 'inline', 'inlineBits',
|
|
420
|
+
'inlinehint', 'inrange', 'inreg', 'insertelement',
|
|
421
|
+
'insertvalue', 'insts', 'intel_ocl_bicc', 'inteldialect',
|
|
422
|
+
'internal', 'inttoptr', 'invoke', 'jumptable', 'kind',
|
|
423
|
+
'landingpad', 'largest', 'linkage', 'linkonce', 'linkonce_odr',
|
|
424
|
+
'live', 'load', 'local_unnamed_addr', 'localdynamic',
|
|
425
|
+
'localexec', 'lshr', 'max', 'metadata', 'min', 'minsize',
|
|
426
|
+
'module', 'monotonic', 'msp430_intrcc', 'mul', 'mustprogress',
|
|
427
|
+
'musttail', 'naked', 'name', 'nand', 'ne', 'nest', 'ninf',
|
|
428
|
+
'nnan', 'noalias', 'nobuiltin', 'nocallback', 'nocapture',
|
|
429
|
+
'nocf_check', 'noduplicate', 'noduplicates', 'nofree',
|
|
430
|
+
'noimplicitfloat', 'noinline', 'noInline', 'nomerge', 'none',
|
|
431
|
+
'nonlazybind', 'nonnull', 'noprofile', 'norecurse',
|
|
432
|
+
'noRecurse', 'noredzone', 'noreturn', 'nosync', 'notail',
|
|
433
|
+
'notEligibleToImport', 'noundef', 'nounwind', 'nsw',
|
|
434
|
+
'nsz', 'null', 'null_pointer_is_valid', 'nuw', 'oeq', 'offset',
|
|
435
|
+
'oge', 'ogt', 'ole', 'olt', 'one', 'opaque', 'optforfuzzing',
|
|
436
|
+
'optnone', 'optsize', 'or', 'ord', 'param', 'params',
|
|
437
|
+
'partition', 'path', 'personality', 'phi', 'poison',
|
|
438
|
+
'preallocated', 'prefix', 'preserve_allcc', 'preserve_mostcc',
|
|
439
|
+
'private', 'prologue', 'protected', 'ptrtoint', 'ptx_device',
|
|
440
|
+
'ptx_kernel', 'readnone', 'readNone', 'readonly', 'readOnly',
|
|
441
|
+
'reassoc', 'refs', 'relbf', 'release', 'resByArg', 'resume',
|
|
442
|
+
'ret', 'returnDoesNotAlias', 'returned', 'returns_twice',
|
|
443
|
+
'safestack', 'samesize', 'sanitize_address',
|
|
444
|
+
'sanitize_hwaddress', 'sanitize_memory', 'sanitize_memtag',
|
|
445
|
+
'sanitize_thread', 'sdiv', 'section', 'select', 'seq_cst',
|
|
446
|
+
'sext', 'sge', 'sgt', 'shadowcallstack', 'shl',
|
|
447
|
+
'shufflevector', 'sideeffect', 'signext', 'single',
|
|
448
|
+
'singleImpl', 'singleImplName', 'sitofp', 'sizeM1',
|
|
449
|
+
'sizeM1BitWidth', 'sle', 'slt', 'source_filename',
|
|
450
|
+
'speculatable', 'speculative_load_hardening', 'spir_func',
|
|
451
|
+
'spir_kernel', 'srem', 'sret', 'ssp', 'sspreq', 'sspstrong',
|
|
452
|
+
'store', 'strictfp', 'sub', 'summaries', 'summary', 'swiftcc',
|
|
453
|
+
'swifterror', 'swiftself', 'switch', 'syncscope', 'tail',
|
|
454
|
+
'tailcc', 'target', 'thread_local', 'to', 'token', 'triple',
|
|
455
|
+
'true', 'trunc', 'type', 'typeCheckedLoadConstVCalls',
|
|
456
|
+
'typeCheckedLoadVCalls', 'typeid', 'typeidCompatibleVTable',
|
|
457
|
+
'typeIdInfo', 'typeTestAssumeConstVCalls',
|
|
458
|
+
'typeTestAssumeVCalls', 'typeTestRes', 'typeTests', 'udiv',
|
|
459
|
+
'ueq', 'uge', 'ugt', 'uitofp', 'ule', 'ult', 'umax', 'umin',
|
|
460
|
+
'undef', 'une', 'uniformRetVal', 'uniqueRetVal', 'unknown',
|
|
461
|
+
'unnamed_addr', 'uno', 'unordered', 'unreachable', 'unsat',
|
|
462
|
+
'unwind', 'urem', 'uselistorder', 'uselistorder_bb', 'uwtable',
|
|
463
|
+
'va_arg', 'varFlags', 'variable', 'vcall_visibility',
|
|
464
|
+
'vFuncId', 'virtFunc', 'virtualConstProp', 'void', 'volatile',
|
|
465
|
+
'vscale', 'vTableFuncs', 'weak', 'weak_odr', 'webkit_jscc',
|
|
441
466
|
'win64cc', 'within', 'wpdRes', 'wpdResolutions', 'writeonly',
|
|
442
|
-
'
|
|
443
|
-
'
|
|
444
|
-
'
|
|
467
|
+
'x', 'x86_64_sysvcc', 'x86_fastcallcc', 'x86_intrcc',
|
|
468
|
+
'x86_mmx', 'x86_regcallcc', 'x86_stdcallcc', 'x86_thiscallcc',
|
|
469
|
+
'x86_vectorcallcc', 'xchg', 'xor', 'zeroext',
|
|
470
|
+
'zeroinitializer', 'zext', 'immarg', 'willreturn'),
|
|
445
471
|
suffix=r'\b'), Keyword),
|
|
446
472
|
|
|
447
473
|
# Types
|
|
448
474
|
(words(('void', 'half', 'bfloat', 'float', 'double', 'fp128',
|
|
449
|
-
'x86_fp80', 'ppc_fp128', 'label', 'metadata', '
|
|
475
|
+
'x86_fp80', 'ppc_fp128', 'label', 'metadata', 'x86_mmx',
|
|
476
|
+
'x86_amx', 'token')),
|
|
450
477
|
Keyword.Type),
|
|
451
478
|
|
|
452
479
|
# Integer types
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.automation
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for automation scripting 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
|
|
|
@@ -23,7 +22,7 @@ class AutohotkeyLexer(RegexLexer):
|
|
|
23
22
|
.. versionadded:: 1.4
|
|
24
23
|
"""
|
|
25
24
|
name = 'autohotkey'
|
|
26
|
-
aliases = ['
|
|
25
|
+
aliases = ['autohotkey', 'ahk']
|
|
27
26
|
filenames = ['*.ahk', '*.ahkl']
|
|
28
27
|
mimetypes = ['text/x-autohotkey']
|
|
29
28
|
|
|
@@ -327,6 +326,7 @@ class AutoItLexer(RegexLexer):
|
|
|
327
326
|
include('builtInFunctions'),
|
|
328
327
|
include('builtInMarcros'),
|
|
329
328
|
(r'"', String, combined('stringescape', 'dqs')),
|
|
329
|
+
(r"'", String, 'sqs'),
|
|
330
330
|
include('numbers'),
|
|
331
331
|
(r'[a-zA-Z_#@$][\w#@$]*', Name),
|
|
332
332
|
(r'\\|\'', Text),
|
|
@@ -368,6 +368,11 @@ class AutoItLexer(RegexLexer):
|
|
|
368
368
|
(r'"', String, '#pop'),
|
|
369
369
|
include('strings')
|
|
370
370
|
],
|
|
371
|
+
'sqs': [
|
|
372
|
+
(r'\'\'|\`([,%`abfnrtv])', String.Escape),
|
|
373
|
+
(r"'", String, '#pop'),
|
|
374
|
+
(r"[^'\n]+", String)
|
|
375
|
+
],
|
|
371
376
|
'garbage': [
|
|
372
377
|
(r'[^\S\n]', Text),
|
|
373
378
|
],
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.bare
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for the BARE schema.
|
|
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.basic
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for BASIC like languages (other than VB.net).
|
|
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
|
|
|
@@ -352,10 +351,10 @@ class CbmBasicV2Lexer(RegexLexer):
|
|
|
352
351
|
]
|
|
353
352
|
}
|
|
354
353
|
|
|
355
|
-
def analyse_text(
|
|
354
|
+
def analyse_text(text):
|
|
356
355
|
# if it starts with a line number, it shouldn't be a "modern" Basic
|
|
357
356
|
# like VB.net
|
|
358
|
-
if re.match(r'
|
|
357
|
+
if re.match(r'^\d+', text):
|
|
359
358
|
return 0.2
|
|
360
359
|
|
|
361
360
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.bibtex
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for BibTeX bibliography data and styles
|
|
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
|
|
|
@@ -27,7 +26,7 @@ class BibTeXLexer(ExtendedRegexLexer):
|
|
|
27
26
|
"""
|
|
28
27
|
|
|
29
28
|
name = 'BibTeX'
|
|
30
|
-
aliases = ['
|
|
29
|
+
aliases = ['bibtex', 'bib']
|
|
31
30
|
filenames = ['*.bib']
|
|
32
31
|
mimetypes = ["text/x-bibtex"]
|
|
33
32
|
flags = re.IGNORECASE
|
|
@@ -155,6 +154,6 @@ class BSTLexer(RegexLexer):
|
|
|
155
154
|
],
|
|
156
155
|
'whitespace': [
|
|
157
156
|
(r'\s+', Text),
|
|
158
|
-
('%.*?$', Comment.
|
|
157
|
+
('%.*?$', Comment.Single),
|
|
159
158
|
],
|
|
160
159
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.boa
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for the Boa 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
|
|
|
@@ -92,9 +91,9 @@ class BoaLexer(RegexLexer):
|
|
|
92
91
|
(classes, Name.Classes),
|
|
93
92
|
(words(operators), Operator),
|
|
94
93
|
(r'[][(),;{}\\.]', Punctuation),
|
|
95
|
-
(r'"(\\\\|\\
|
|
96
|
-
(r
|
|
97
|
-
(words(string_sep), String.
|
|
94
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
|
95
|
+
(r"`(\\\\|\\[^\\]|[^`\\])*`", String.Backtick),
|
|
96
|
+
(words(string_sep), String.Delimiter),
|
|
98
97
|
(r'[a-zA-Z_]+', Name.Variable),
|
|
99
98
|
(r'[0-9]+', Number.Integer),
|
|
100
99
|
(r'\s+?', Text), # Whitespace
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.business
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for "business-oriented" 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
|
|
|
@@ -478,8 +477,8 @@ class OpenEdgeLexer(RegexLexer):
|
|
|
478
477
|
(r'(?i)(DEFINE|DEF|DEFI|DEFIN)\b', Keyword.Declaration),
|
|
479
478
|
(types, Keyword.Type),
|
|
480
479
|
(keywords, Name.Builtin),
|
|
481
|
-
(r'"(\\\\|\\
|
|
482
|
-
(r"'(\\\\|\\
|
|
480
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
|
481
|
+
(r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
|
|
483
482
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
|
484
483
|
(r'[0-9]+', Number.Integer),
|
|
485
484
|
(r'\s+', Text),
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.c_cpp
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for C/C++ 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
|
|
|
@@ -15,7 +14,7 @@ from pygments.lexer import RegexLexer, include, bygroups, using, \
|
|
|
15
14
|
this, inherit, default, words
|
|
16
15
|
from pygments.util import get_bool_opt
|
|
17
16
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
|
18
|
-
Number, Punctuation,
|
|
17
|
+
Number, Punctuation, Whitespace
|
|
19
18
|
|
|
20
19
|
__all__ = ['CLexer', 'CppLexer']
|
|
21
20
|
|
|
@@ -44,6 +43,7 @@ class CFamilyLexer(RegexLexer):
|
|
|
44
43
|
|
|
45
44
|
# Identifier regex with C and C++ Universal Character Name (UCN) support.
|
|
46
45
|
_ident = r'(?:[a-zA-Z_$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})*'
|
|
46
|
+
_namespaced_ident = r'(?:[a-zA-Z_$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|::)*'
|
|
47
47
|
|
|
48
48
|
tokens = {
|
|
49
49
|
'whitespace': [
|
|
@@ -55,8 +55,8 @@ class CFamilyLexer(RegexLexer):
|
|
|
55
55
|
bygroups(using(this), Comment.Preproc), 'if0'),
|
|
56
56
|
('^(' + _ws1 + ')(#)',
|
|
57
57
|
bygroups(using(this), Comment.Preproc), 'macro'),
|
|
58
|
-
(r'\n',
|
|
59
|
-
(r'\
|
|
58
|
+
(r'\n', Whitespace),
|
|
59
|
+
(r'[^\S\n]+', Whitespace),
|
|
60
60
|
(r'\\\n', Text), # line continuation
|
|
61
61
|
(r'//(\n|[\w\W]*?[^\\]\n)', Comment.Single),
|
|
62
62
|
(r'/(\\\n)?[*][\w\W]*?[*](\\\n)?/', Comment.Multiline),
|
|
@@ -64,6 +64,8 @@ class CFamilyLexer(RegexLexer):
|
|
|
64
64
|
(r'/(\\\n)?[*][\w\W]*', Comment.Multiline),
|
|
65
65
|
],
|
|
66
66
|
'statements': [
|
|
67
|
+
include('keywords'),
|
|
68
|
+
include('types'),
|
|
67
69
|
(r'([LuU]|u8)?(")', bygroups(String.Affix, String), 'string'),
|
|
68
70
|
(r"([LuU]|u8)?(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')",
|
|
69
71
|
bygroups(String.Affix, String.Char, String.Char, String.Char)),
|
|
@@ -77,9 +79,19 @@ class CFamilyLexer(RegexLexer):
|
|
|
77
79
|
(r'(-)?0[bB][01](\'?[01])*' + _intsuffix, Number.Bin),
|
|
78
80
|
(r'(-)?0(\'?[0-7])+' + _intsuffix, Number.Oct),
|
|
79
81
|
(r'(-)?' + _decpart + _intsuffix, Number.Integer),
|
|
80
|
-
(r'\*/', Error),
|
|
81
82
|
(r'[~!%^&*+=|?:<>/-]', Operator),
|
|
82
83
|
(r'[()\[\],.]', Punctuation),
|
|
84
|
+
(r'(true|false|NULL)\b', Name.Builtin),
|
|
85
|
+
(r'(' + _ident + r')(\s*)(:)(?!:)', bygroups(Name.Label, Text, Punctuation)),
|
|
86
|
+
(_ident, Name)
|
|
87
|
+
],
|
|
88
|
+
'types': [
|
|
89
|
+
(words(('int8', 'int16', 'int32', 'int64', 'wchar_t'), prefix=r'__',
|
|
90
|
+
suffix=r'\b'), Keyword.Reserved),
|
|
91
|
+
(words(('bool', 'int', 'long', 'float', 'short', 'double', 'char',
|
|
92
|
+
'unsigned', 'signed', 'void'), suffix=r'\b'), Keyword.Type)
|
|
93
|
+
],
|
|
94
|
+
'keywords': [
|
|
83
95
|
(r'(struct|union)(\s+)', bygroups(Keyword, Text), 'classname'),
|
|
84
96
|
(words(('asm', 'auto', 'break', 'case', 'const', 'continue',
|
|
85
97
|
'default', 'do', 'else', 'enum', 'extern', 'for', 'goto',
|
|
@@ -87,36 +99,32 @@ class CFamilyLexer(RegexLexer):
|
|
|
87
99
|
'static', 'switch', 'typedef', 'volatile', 'while', 'union',
|
|
88
100
|
'thread_local', 'alignas', 'alignof', 'static_assert', '_Pragma'),
|
|
89
101
|
suffix=r'\b'), Keyword),
|
|
90
|
-
(r'(bool|int|long|float|short|double|char|unsigned|signed|void)\b',
|
|
91
|
-
Keyword.Type),
|
|
92
102
|
(words(('inline', '_inline', '__inline', 'naked', 'restrict',
|
|
93
103
|
'thread'), suffix=r'\b'), Keyword.Reserved),
|
|
94
104
|
# Vector intrinsics
|
|
95
105
|
(r'(__m(128i|128d|128|64))\b', Keyword.Reserved),
|
|
96
106
|
# Microsoft-isms
|
|
97
107
|
(words((
|
|
98
|
-
'asm', '
|
|
99
|
-
'fastcall', '
|
|
100
|
-
'leave', '
|
|
108
|
+
'asm', 'based', 'except', 'stdcall', 'cdecl',
|
|
109
|
+
'fastcall', 'declspec', 'finally', 'try',
|
|
110
|
+
'leave', 'w64', 'unaligned', 'raise', 'noop',
|
|
101
111
|
'identifier', 'forceinline', 'assume'),
|
|
102
|
-
prefix=r'__', suffix=r'\b'), Keyword.Reserved)
|
|
103
|
-
(r'(true|false|NULL)\b', Name.Builtin),
|
|
104
|
-
(r'(' + _ident + r')(\s*)(:)(?!:)', bygroups(Name.Label, Text, Punctuation)),
|
|
105
|
-
(_ident, Name)
|
|
112
|
+
prefix=r'__', suffix=r'\b'), Keyword.Reserved)
|
|
106
113
|
],
|
|
107
114
|
'root': [
|
|
108
115
|
include('whitespace'),
|
|
116
|
+
include('keywords'),
|
|
109
117
|
# functions
|
|
110
|
-
(r'(
|
|
111
|
-
r'(' +
|
|
118
|
+
(r'(' + _namespaced_ident + r'(?:[&*\s])+)' # return arguments
|
|
119
|
+
r'(' + _namespaced_ident + r')' # method name
|
|
112
120
|
r'(\s*\([^;]*?\))' # signature
|
|
113
121
|
r'([^;{]*)(\{)',
|
|
114
122
|
bygroups(using(this), Name.Function, using(this), using(this),
|
|
115
123
|
Punctuation),
|
|
116
124
|
'function'),
|
|
117
125
|
# function declarations
|
|
118
|
-
(r'(
|
|
119
|
-
r'(' +
|
|
126
|
+
(r'(' + _namespaced_ident + r'(?:[&*\s])+)' # return arguments
|
|
127
|
+
r'(' + _namespaced_ident + r')' # method name
|
|
120
128
|
r'(\s*\([^;]*?\))' # signature
|
|
121
129
|
r'([^;]*)(;)',
|
|
122
130
|
bygroups(using(this), Name.Function, using(this), using(this),
|
|
@@ -145,8 +153,10 @@ class CFamilyLexer(RegexLexer):
|
|
|
145
153
|
(r'\\', String), # stray backslash
|
|
146
154
|
],
|
|
147
155
|
'macro': [
|
|
148
|
-
(r'(include)('+_ws1+r')("[^"]+")([^\n]*)',
|
|
149
|
-
|
|
156
|
+
(r'('+_ws1+r')(include)('+_ws1+r')("[^"]+")([^\n]*)',
|
|
157
|
+
bygroups(using(this), Comment.Preproc, using(this), Comment.PreprocFile, Comment.Single)),
|
|
158
|
+
(r'('+_ws1+r')(include)('+_ws1+r')(<[^>]+>)([^\n]*)',
|
|
159
|
+
bygroups(using(this), Comment.Preproc, using(this), Comment.PreprocFile, Comment.Single)),
|
|
150
160
|
(r'[^/\n]+', Comment.Preproc),
|
|
151
161
|
(r'/[*](.|\n)*?[*]/', Comment.Multiline),
|
|
152
162
|
(r'//.*?\n', Comment.Single, '#pop'),
|
|
@@ -247,11 +257,14 @@ class CLexer(CFamilyLexer):
|
|
|
247
257
|
priority = 0.1
|
|
248
258
|
|
|
249
259
|
tokens = {
|
|
250
|
-
'
|
|
260
|
+
'keywords': [
|
|
251
261
|
(words((
|
|
252
262
|
'_Alignas', '_Alignof', '_Noreturn', '_Generic', '_Thread_local',
|
|
253
263
|
'_Static_assert', '_Imaginary', 'noreturn', 'imaginary', 'complex'),
|
|
254
264
|
suffix=r'\b'), Keyword),
|
|
265
|
+
inherit
|
|
266
|
+
],
|
|
267
|
+
'types': [
|
|
255
268
|
(words(('_Bool', '_Complex', '_Atomic'), suffix=r'\b'), Keyword.Type),
|
|
256
269
|
inherit
|
|
257
270
|
]
|
|
@@ -297,20 +310,6 @@ class CppLexer(CFamilyLexer):
|
|
|
297
310
|
|
|
298
311
|
tokens = {
|
|
299
312
|
'statements': [
|
|
300
|
-
(r'(class|concept|typename)(\s+)', bygroups(Keyword, Text), 'classname'),
|
|
301
|
-
(words((
|
|
302
|
-
'catch', 'const_cast', 'delete', 'dynamic_cast', 'explicit',
|
|
303
|
-
'export', 'friend', 'mutable', 'namespace', 'new', 'operator',
|
|
304
|
-
'private', 'protected', 'public', 'reinterpret_cast', 'class',
|
|
305
|
-
'restrict', 'static_cast', 'template', 'this', 'throw', 'throws',
|
|
306
|
-
'try', 'typeid', 'using', 'virtual', 'constexpr', 'nullptr', 'concept',
|
|
307
|
-
'decltype', 'noexcept', 'override', 'final', 'constinit', 'consteval',
|
|
308
|
-
'co_await', 'co_return', 'co_yield', 'requires', 'import', 'module',
|
|
309
|
-
'typename'),
|
|
310
|
-
suffix=r'\b'), Keyword),
|
|
311
|
-
(r'char(16_t|32_t|8_t)\b', Keyword.Type),
|
|
312
|
-
(r'(enum)(\s+)', bygroups(Keyword, Text), 'enumname'),
|
|
313
|
-
|
|
314
313
|
# C++11 raw strings
|
|
315
314
|
(r'((?:[LuU]|u8)?R)(")([^\\()\s]{,16})(\()((?:.|\n)*?)(\)\3)(")',
|
|
316
315
|
bygroups(String.Affix, String, String.Delimiter, String.Delimiter,
|
|
@@ -334,6 +333,32 @@ class CppLexer(CFamilyLexer):
|
|
|
334
333
|
# template specification
|
|
335
334
|
(r'\s*(?=>)', Text, '#pop'),
|
|
336
335
|
default('#pop')
|
|
336
|
+
],
|
|
337
|
+
'keywords': [
|
|
338
|
+
(r'(class|concept|typename)(\s+)', bygroups(Keyword, Text), 'classname'),
|
|
339
|
+
(words((
|
|
340
|
+
'catch', 'const_cast', 'delete', 'dynamic_cast', 'explicit',
|
|
341
|
+
'export', 'friend', 'mutable', 'new', 'operator',
|
|
342
|
+
'private', 'protected', 'public', 'reinterpret_cast', 'class',
|
|
343
|
+
'restrict', 'static_cast', 'template', 'this', 'throw', 'throws',
|
|
344
|
+
'try', 'typeid', 'using', 'virtual', 'constexpr', 'nullptr', 'concept',
|
|
345
|
+
'decltype', 'noexcept', 'override', 'final', 'constinit', 'consteval',
|
|
346
|
+
'co_await', 'co_return', 'co_yield', 'requires', 'import', 'module',
|
|
347
|
+
'typename'),
|
|
348
|
+
suffix=r'\b'), Keyword),
|
|
349
|
+
(r'namespace\b', Keyword, 'namespace'),
|
|
350
|
+
(r'(enum)(\s+)', bygroups(Keyword, Text), 'enumname'),
|
|
351
|
+
inherit
|
|
352
|
+
],
|
|
353
|
+
'types': [
|
|
354
|
+
(r'char(16_t|32_t|8_t)\b', Keyword.Type),
|
|
355
|
+
inherit
|
|
356
|
+
],
|
|
357
|
+
'namespace': [
|
|
358
|
+
(r'[;{]', Punctuation, ('#pop', 'root')),
|
|
359
|
+
(r'inline\b', Keyword.Reserved),
|
|
360
|
+
(CFamilyLexer._ident, Name.Namespace),
|
|
361
|
+
include('statement')
|
|
337
362
|
]
|
|
338
363
|
}
|
|
339
364
|
|