pygments.rb 0.6.3 → 1.0.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 +7 -0
- data/CHANGELOG.md +11 -0
- data/README.md +6 -6
- data/Rakefile +2 -1
- data/cache-lexers.rb +1 -1
- data/circle.yml +7 -0
- data/lib/pygments/lexer.rb +3 -3
- data/lib/pygments/popen.rb +67 -30
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +2 -1
- data/test/test_pygments.rb +16 -16
- data/vendor/pygments-main/AUTHORS +54 -8
- data/vendor/pygments-main/CHANGES +247 -25
- data/vendor/pygments-main/LICENSE +1 -1
- data/vendor/pygments-main/Makefile +15 -6
- data/vendor/pygments-main/README.rst +39 -0
- data/vendor/pygments-main/REVISION +1 -1
- data/vendor/pygments-main/TODO +0 -3
- data/vendor/pygments-main/doc/_themes/pygments14/layout.html +1 -1
- data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +1 -1
- data/vendor/pygments-main/doc/conf.py +3 -11
- data/vendor/pygments-main/doc/docs/api.rst +15 -0
- data/vendor/pygments-main/doc/docs/cmdline.rst +6 -2
- data/vendor/pygments-main/doc/docs/filterdevelopment.rst +4 -3
- data/vendor/pygments-main/doc/docs/integrate.rst +11 -15
- data/vendor/pygments-main/doc/docs/java.rst +7 -7
- data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +258 -171
- data/vendor/pygments-main/doc/docs/lexers.rst +2 -2
- data/vendor/pygments-main/doc/docs/styles.rst +58 -0
- data/vendor/pygments-main/doc/docs/tokens.rst +22 -2
- data/vendor/pygments-main/doc/docs/unicode.rst +15 -7
- data/vendor/pygments-main/doc/faq.rst +17 -21
- data/vendor/pygments-main/doc/index.rst +12 -11
- data/vendor/pygments-main/doc/languages.rst +10 -7
- data/vendor/pygments-main/external/autopygmentize +9 -6
- data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +70 -52
- data/vendor/pygments-main/external/markdown-processor.py +1 -1
- data/vendor/pygments-main/external/moin-parser.py +1 -1
- data/vendor/pygments-main/external/rst-directive.py +1 -1
- data/vendor/pygments-main/pygmentize +2 -1
- data/vendor/pygments-main/pygments/__init__.py +14 -15
- data/vendor/pygments-main/pygments/cmdline.py +188 -113
- data/vendor/pygments-main/pygments/console.py +13 -13
- data/vendor/pygments-main/pygments/filter.py +7 -7
- data/vendor/pygments-main/pygments/filters/__init__.py +24 -32
- data/vendor/pygments-main/pygments/formatter.py +5 -5
- data/vendor/pygments-main/pygments/formatters/__init__.py +92 -44
- data/vendor/pygments-main/pygments/formatters/_mapping.py +51 -69
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/html.py +63 -51
- data/vendor/pygments-main/pygments/formatters/img.py +25 -22
- data/vendor/pygments-main/pygments/formatters/irc.py +182 -0
- data/vendor/pygments-main/pygments/formatters/latex.py +34 -22
- data/vendor/pygments-main/pygments/formatters/other.py +5 -7
- data/vendor/pygments-main/pygments/formatters/rtf.py +28 -31
- data/vendor/pygments-main/pygments/formatters/svg.py +1 -2
- data/vendor/pygments-main/pygments/formatters/terminal.py +29 -45
- data/vendor/pygments-main/pygments/formatters/terminal256.py +118 -31
- data/vendor/pygments-main/pygments/lexer.py +120 -34
- data/vendor/pygments-main/pygments/lexers/__init__.py +85 -53
- data/vendor/pygments-main/pygments/lexers/{_asybuiltins.py → _asy_builtins.py} +7 -7
- data/vendor/pygments-main/pygments/lexers/{_clbuiltins.py → _cl_builtins.py} +17 -17
- data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +72 -0
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1346 -0
- data/vendor/pygments-main/pygments/lexers/{_lassobuiltins.py → _lasso_builtins.py} +4699 -4561
- data/vendor/pygments-main/pygments/lexers/{_luabuiltins.py → _lua_builtins.py} +91 -51
- data/vendor/pygments-main/pygments/lexers/_mapping.py +342 -242
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1172 -0
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2547 -0
- data/vendor/pygments-main/pygments/lexers/{_phpbuiltins.py → _php_builtins.py} +350 -353
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +600 -212
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3084 -30
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1163 -0
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +91 -13
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +419 -0
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1004 -0
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1939 -0
- data/vendor/pygments-main/pygments/lexers/actionscript.py +240 -0
- data/vendor/pygments-main/pygments/lexers/agile.py +14 -2542
- data/vendor/pygments-main/pygments/lexers/algebra.py +221 -0
- data/vendor/pygments-main/pygments/lexers/ambient.py +76 -0
- data/vendor/pygments-main/pygments/lexers/ampl.py +87 -0
- data/vendor/pygments-main/pygments/lexers/apl.py +101 -0
- data/vendor/pygments-main/pygments/lexers/archetype.py +318 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +276 -81
- data/vendor/pygments-main/pygments/lexers/automation.py +374 -0
- data/vendor/pygments-main/pygments/lexers/basic.py +500 -0
- data/vendor/pygments-main/pygments/lexers/bibtex.py +156 -0
- data/vendor/pygments-main/pygments/lexers/business.py +594 -0
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +252 -0
- data/vendor/pygments-main/pygments/lexers/c_like.py +541 -0
- data/vendor/pygments-main/pygments/lexers/capnproto.py +79 -0
- data/vendor/pygments-main/pygments/lexers/chapel.py +101 -0
- data/vendor/pygments-main/pygments/lexers/clean.py +288 -0
- data/vendor/pygments-main/pygments/lexers/compiled.py +24 -5182
- data/vendor/pygments-main/pygments/lexers/configs.py +833 -0
- data/vendor/pygments-main/pygments/lexers/console.py +114 -0
- data/vendor/pygments-main/pygments/lexers/crystal.py +384 -0
- data/vendor/pygments-main/pygments/lexers/csound.py +366 -0
- data/vendor/pygments-main/pygments/lexers/css.py +689 -0
- data/vendor/pygments-main/pygments/lexers/d.py +251 -0
- data/vendor/pygments-main/pygments/lexers/dalvik.py +6 -6
- data/vendor/pygments-main/pygments/lexers/data.py +555 -0
- data/vendor/pygments-main/pygments/lexers/diff.py +165 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +96 -88
- data/vendor/pygments-main/pygments/lexers/dsls.py +878 -0
- data/vendor/pygments-main/pygments/lexers/dylan.py +289 -0
- data/vendor/pygments-main/pygments/lexers/ecl.py +125 -0
- data/vendor/pygments-main/pygments/lexers/eiffel.py +65 -0
- data/vendor/pygments-main/pygments/lexers/elm.py +121 -0
- data/vendor/pygments-main/pygments/lexers/erlang.py +533 -0
- data/vendor/pygments-main/pygments/lexers/esoteric.py +275 -0
- data/vendor/pygments-main/pygments/lexers/ezhil.py +68 -0
- data/vendor/pygments-main/pygments/lexers/factor.py +344 -0
- data/vendor/pygments-main/pygments/lexers/fantom.py +250 -0
- data/vendor/pygments-main/pygments/lexers/felix.py +273 -0
- data/vendor/pygments-main/pygments/lexers/forth.py +177 -0
- data/vendor/pygments-main/pygments/lexers/fortran.py +205 -0
- data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
- data/vendor/pygments-main/pygments/lexers/functional.py +11 -3661
- data/vendor/pygments-main/pygments/lexers/go.py +101 -0
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +213 -0
- data/vendor/pygments-main/pygments/lexers/graph.py +7 -8
- data/vendor/pygments-main/pygments/lexers/graphics.py +553 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +840 -0
- data/vendor/pygments-main/pygments/lexers/haxe.py +936 -0
- data/vendor/pygments-main/pygments/lexers/hdl.py +172 -145
- data/vendor/pygments-main/pygments/lexers/hexdump.py +97 -0
- data/vendor/pygments-main/pygments/lexers/html.py +602 -0
- data/vendor/pygments-main/pygments/lexers/idl.py +270 -0
- data/vendor/pygments-main/pygments/lexers/igor.py +288 -0
- data/vendor/pygments-main/pygments/lexers/inferno.py +3 -3
- data/vendor/pygments-main/pygments/lexers/installers.py +322 -0
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +1343 -0
- data/vendor/pygments-main/pygments/lexers/iolang.py +63 -0
- data/vendor/pygments-main/pygments/lexers/j.py +146 -0
- data/vendor/pygments-main/pygments/lexers/javascript.py +1506 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +333 -0
- data/vendor/pygments-main/pygments/lexers/jvm.py +232 -186
- data/vendor/pygments-main/pygments/lexers/lisp.py +2621 -0
- data/vendor/pygments-main/pygments/lexers/make.py +202 -0
- data/vendor/pygments-main/pygments/lexers/markup.py +595 -0
- data/vendor/pygments-main/pygments/lexers/math.py +11 -2276
- data/vendor/pygments-main/pygments/lexers/matlab.py +663 -0
- data/vendor/pygments-main/pygments/lexers/ml.py +769 -0
- data/vendor/pygments-main/pygments/lexers/modeling.py +358 -0
- data/vendor/pygments-main/pygments/lexers/modula2.py +1561 -0
- data/vendor/pygments-main/pygments/lexers/monte.py +203 -0
- data/vendor/pygments-main/pygments/lexers/ncl.py +1053 -0
- data/vendor/pygments-main/pygments/lexers/nimrod.py +159 -0
- data/vendor/pygments-main/pygments/lexers/nit.py +64 -0
- data/vendor/pygments-main/pygments/lexers/nix.py +136 -0
- data/vendor/pygments-main/pygments/lexers/oberon.py +105 -0
- data/vendor/pygments-main/pygments/lexers/objective.py +504 -0
- data/vendor/pygments-main/pygments/lexers/ooc.py +85 -0
- data/vendor/pygments-main/pygments/lexers/other.py +30 -4481
- data/vendor/pygments-main/pygments/lexers/parasail.py +79 -0
- data/vendor/pygments-main/pygments/lexers/parsers.py +171 -114
- data/vendor/pygments-main/pygments/lexers/pascal.py +644 -0
- data/vendor/pygments-main/pygments/lexers/pawn.py +199 -0
- data/vendor/pygments-main/pygments/lexers/perl.py +616 -0
- data/vendor/pygments-main/pygments/lexers/php.py +267 -0
- data/vendor/pygments-main/pygments/lexers/praat.py +294 -0
- data/vendor/pygments-main/pygments/lexers/prolog.py +306 -0
- data/vendor/pygments-main/pygments/lexers/python.py +938 -0
- data/vendor/pygments-main/pygments/lexers/qvt.py +152 -0
- data/vendor/pygments-main/pygments/lexers/r.py +453 -0
- data/vendor/pygments-main/pygments/lexers/rdf.py +195 -24
- data/vendor/pygments-main/pygments/lexers/rebol.py +431 -0
- data/vendor/pygments-main/pygments/lexers/resource.py +85 -0
- data/vendor/pygments-main/pygments/lexers/rnc.py +67 -0
- data/vendor/pygments-main/pygments/lexers/roboconf.py +82 -0
- data/vendor/pygments-main/pygments/lexers/{_robotframeworklexer.py → robotframework.py} +20 -18
- data/vendor/pygments-main/pygments/lexers/ruby.py +519 -0
- data/vendor/pygments-main/pygments/lexers/rust.py +209 -0
- data/vendor/pygments-main/pygments/lexers/sas.py +228 -0
- data/vendor/pygments-main/pygments/lexers/scripting.py +1222 -0
- data/vendor/pygments-main/pygments/lexers/shell.py +478 -115
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +195 -0
- data/vendor/pygments-main/pygments/lexers/smv.py +75 -0
- data/vendor/pygments-main/pygments/lexers/snobol.py +83 -0
- data/vendor/pygments-main/pygments/lexers/special.py +6 -2
- data/vendor/pygments-main/pygments/lexers/sql.py +209 -120
- data/vendor/pygments-main/pygments/lexers/stata.py +106 -0
- data/vendor/pygments-main/pygments/lexers/supercollider.py +90 -0
- data/vendor/pygments-main/pygments/lexers/tcl.py +145 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +282 -90
- data/vendor/pygments-main/pygments/lexers/testing.py +207 -0
- data/vendor/pygments-main/pygments/lexers/text.py +15 -2045
- data/vendor/pygments-main/pygments/lexers/textedit.py +169 -0
- data/vendor/pygments-main/pygments/lexers/textfmts.py +297 -0
- data/vendor/pygments-main/pygments/lexers/theorem.py +458 -0
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +54 -0
- data/vendor/pygments-main/pygments/lexers/typoscript.py +225 -0
- data/vendor/pygments-main/pygments/lexers/urbi.py +133 -0
- data/vendor/pygments-main/pygments/lexers/varnish.py +190 -0
- data/vendor/pygments-main/pygments/lexers/verification.py +111 -0
- data/vendor/pygments-main/pygments/lexers/web.py +13 -4499
- data/vendor/pygments-main/pygments/lexers/webmisc.py +979 -0
- data/vendor/pygments-main/pygments/lexers/whiley.py +117 -0
- data/vendor/pygments-main/pygments/lexers/x10.py +69 -0
- data/vendor/pygments-main/pygments/modeline.py +5 -2
- data/vendor/pygments-main/pygments/plugin.py +1 -1
- data/vendor/pygments-main/pygments/regexopt.py +92 -0
- data/vendor/pygments-main/pygments/scanner.py +3 -2
- data/vendor/pygments-main/pygments/sphinxext.py +11 -6
- data/vendor/pygments-main/pygments/style.py +41 -4
- data/vendor/pygments-main/pygments/styles/__init__.py +5 -1
- data/vendor/pygments-main/pygments/styles/algol.py +63 -0
- data/vendor/pygments-main/pygments/styles/algol_nu.py +63 -0
- data/vendor/pygments-main/pygments/styles/arduino.py +98 -0
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
- data/vendor/pygments-main/pygments/styles/borland.py +1 -1
- data/vendor/pygments-main/pygments/styles/bw.py +1 -1
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
- data/vendor/pygments-main/pygments/styles/default.py +1 -1
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
- data/vendor/pygments-main/pygments/styles/igor.py +1 -1
- data/vendor/pygments-main/pygments/styles/lovelace.py +97 -0
- data/vendor/pygments-main/pygments/styles/manni.py +1 -1
- data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
- data/vendor/pygments-main/pygments/styles/native.py +1 -1
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
- data/vendor/pygments-main/pygments/styles/perldoc.py +2 -2
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
- data/vendor/pygments-main/pygments/styles/sas.py +41 -0
- data/vendor/pygments-main/pygments/styles/stata.py +37 -0
- data/vendor/pygments-main/pygments/styles/tango.py +1 -1
- data/vendor/pygments-main/pygments/styles/trac.py +1 -1
- data/vendor/pygments-main/pygments/styles/vim.py +1 -1
- data/vendor/pygments-main/pygments/styles/vs.py +1 -1
- data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
- data/vendor/pygments-main/pygments/token.py +31 -16
- data/vendor/pygments-main/pygments/unistring.py +141 -65
- data/vendor/pygments-main/pygments/util.py +129 -33
- data/vendor/pygments-main/requirements.txt +5 -0
- data/vendor/pygments-main/scripts/check_sources.py +25 -40
- data/vendor/pygments-main/scripts/debug_lexer.py +246 -0
- data/vendor/pygments-main/scripts/find_error.py +1 -0
- data/vendor/pygments-main/scripts/get_vimkw.py +35 -4
- data/vendor/pygments-main/setup.cfg +3 -0
- data/vendor/pygments-main/setup.py +17 -30
- data/vendor/pygments-main/tox.ini +7 -0
- metadata +159 -387
- data/vendor/pygments-main/ez_setup.py +0 -382
- data/vendor/pygments-main/pygments/lexers/_cocoabuiltins.py +0 -73
- data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +0 -562
- data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +0 -1077
- data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +0 -13
- data/vendor/pygments-main/pygments/lexers/qbasic.py +0 -157
- data/vendor/pygments-main/scripts/find_codetags.py +0 -213
- data/vendor/pygments-main/scripts/find_error.py +0 -173
- data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +0 -37
- data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +0 -869
- data/vendor/pygments-main/tests/dtds/HTML4.dcl +0 -88
- data/vendor/pygments-main/tests/dtds/HTML4.dtd +0 -1092
- data/vendor/pygments-main/tests/dtds/HTML4.soc +0 -9
- data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +0 -195
- data/vendor/pygments-main/tests/dtds/HTMLspec.ent +0 -77
- data/vendor/pygments-main/tests/dtds/HTMLsym.ent +0 -241
- data/vendor/pygments-main/tests/examplefiles/99_bottles_of_beer.chpl +0 -118
- data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +0 -209
- data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +0 -102
- data/vendor/pygments-main/tests/examplefiles/BOM.js +0 -1
- data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +0 -611
- data/vendor/pygments-main/tests/examplefiles/Config.in.cache +0 -1973
- data/vendor/pygments-main/tests/examplefiles/Constants.mo +0 -158
- data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +0 -411
- data/vendor/pygments-main/tests/examplefiles/Deflate.fs +0 -578
- data/vendor/pygments-main/tests/examplefiles/Error.pmod +0 -38
- data/vendor/pygments-main/tests/examplefiles/Errors.scala +0 -18
- data/vendor/pygments-main/tests/examplefiles/FakeFile.pike +0 -360
- data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +0 -66
- data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +0 -104
- data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +0 -671
- data/vendor/pygments-main/tests/examplefiles/Intro.java +0 -1660
- data/vendor/pygments-main/tests/examplefiles/Makefile +0 -1131
- data/vendor/pygments-main/tests/examplefiles/Object.st +0 -4394
- data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +0 -584
- data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +0 -23
- data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +0 -378
- data/vendor/pygments-main/tests/examplefiles/Sorting.mod +0 -470
- data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +0 -382
- data/vendor/pygments-main/tests/examplefiles/addressbook.proto +0 -30
- data/vendor/pygments-main/tests/examplefiles/antlr_ANTLRv3.g +0 -608
- data/vendor/pygments-main/tests/examplefiles/antlr_throws +0 -1
- data/vendor/pygments-main/tests/examplefiles/apache2.conf +0 -393
- data/vendor/pygments-main/tests/examplefiles/as3_test.as +0 -143
- data/vendor/pygments-main/tests/examplefiles/as3_test2.as +0 -46
- data/vendor/pygments-main/tests/examplefiles/as3_test3.as +0 -3
- data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +0 -27
- data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +0 -25
- data/vendor/pygments-main/tests/examplefiles/badcase.java +0 -2
- data/vendor/pygments-main/tests/examplefiles/batchfile.bat +0 -49
- data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +0 -308
- data/vendor/pygments-main/tests/examplefiles/boot-9.scm +0 -1557
- data/vendor/pygments-main/tests/examplefiles/ca65_example +0 -284
- data/vendor/pygments-main/tests/examplefiles/cbmbas_example +0 -9
- data/vendor/pygments-main/tests/examplefiles/cells.ps +0 -515
- data/vendor/pygments-main/tests/examplefiles/ceval.c +0 -2604
- data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +0 -13
- data/vendor/pygments-main/tests/examplefiles/classes.dylan +0 -125
- data/vendor/pygments-main/tests/examplefiles/clojure-weird-keywords.clj +0 -5
- data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +0 -10
- data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +0 -447
- data/vendor/pygments-main/tests/examplefiles/core.cljs +0 -52
- data/vendor/pygments-main/tests/examplefiles/database.pytb +0 -20
- data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +0 -2461
- data/vendor/pygments-main/tests/examplefiles/demo.ahk +0 -181
- data/vendor/pygments-main/tests/examplefiles/demo.cfm +0 -50
- data/vendor/pygments-main/tests/examplefiles/demo.hbs +0 -12
- data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +0 -68
- data/vendor/pygments-main/tests/examplefiles/dwarf.cw +0 -17
- data/vendor/pygments-main/tests/examplefiles/ember.handlebars +0 -33
- data/vendor/pygments-main/tests/examplefiles/erl_session +0 -10
- data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +0 -1
- data/vendor/pygments-main/tests/examplefiles/evil_regex.js +0 -48
- data/vendor/pygments-main/tests/examplefiles/example.Rd +0 -78
- data/vendor/pygments-main/tests/examplefiles/example.als +0 -217
- data/vendor/pygments-main/tests/examplefiles/example.bug +0 -54
- data/vendor/pygments-main/tests/examplefiles/example.c +0 -2080
- data/vendor/pygments-main/tests/examplefiles/example.ceylon +0 -52
- data/vendor/pygments-main/tests/examplefiles/example.chai +0 -6
- data/vendor/pygments-main/tests/examplefiles/example.clay +0 -33
- data/vendor/pygments-main/tests/examplefiles/example.cls +0 -15
- data/vendor/pygments-main/tests/examplefiles/example.cob +0 -3556
- data/vendor/pygments-main/tests/examplefiles/example.coffee +0 -27
- data/vendor/pygments-main/tests/examplefiles/example.cpp +0 -2363
- data/vendor/pygments-main/tests/examplefiles/example.e +0 -124
- data/vendor/pygments-main/tests/examplefiles/example.f90 +0 -8
- data/vendor/pygments-main/tests/examplefiles/example.feature +0 -16
- data/vendor/pygments-main/tests/examplefiles/example.gd +0 -23
- data/vendor/pygments-main/tests/examplefiles/example.gi +0 -64
- data/vendor/pygments-main/tests/examplefiles/example.groovy +0 -2
- data/vendor/pygments-main/tests/examplefiles/example.gs +0 -106
- data/vendor/pygments-main/tests/examplefiles/example.gst +0 -7
- data/vendor/pygments-main/tests/examplefiles/example.hs +0 -27
- data/vendor/pygments-main/tests/examplefiles/example.hx +0 -185
- data/vendor/pygments-main/tests/examplefiles/example.i6t +0 -32
- data/vendor/pygments-main/tests/examplefiles/example.i7x +0 -45
- data/vendor/pygments-main/tests/examplefiles/example.inf +0 -374
- data/vendor/pygments-main/tests/examplefiles/example.j +0 -564
- data/vendor/pygments-main/tests/examplefiles/example.jag +0 -48
- data/vendor/pygments-main/tests/examplefiles/example.java +0 -16
- data/vendor/pygments-main/tests/examplefiles/example.kal +0 -75
- data/vendor/pygments-main/tests/examplefiles/example.kt +0 -47
- data/vendor/pygments-main/tests/examplefiles/example.lagda +0 -19
- data/vendor/pygments-main/tests/examplefiles/example.liquid +0 -42
- data/vendor/pygments-main/tests/examplefiles/example.lua +0 -250
- data/vendor/pygments-main/tests/examplefiles/example.ma +0 -8
- data/vendor/pygments-main/tests/examplefiles/example.monkey +0 -152
- data/vendor/pygments-main/tests/examplefiles/example.moo +0 -26
- data/vendor/pygments-main/tests/examplefiles/example.moon +0 -629
- data/vendor/pygments-main/tests/examplefiles/example.mq4 +0 -187
- data/vendor/pygments-main/tests/examplefiles/example.mqh +0 -123
- data/vendor/pygments-main/tests/examplefiles/example.msc +0 -43
- data/vendor/pygments-main/tests/examplefiles/example.ni +0 -57
- data/vendor/pygments-main/tests/examplefiles/example.nim +0 -1010
- data/vendor/pygments-main/tests/examplefiles/example.nix +0 -80
- data/vendor/pygments-main/tests/examplefiles/example.ns2 +0 -69
- data/vendor/pygments-main/tests/examplefiles/example.pas +0 -2708
- data/vendor/pygments-main/tests/examplefiles/example.pp +0 -8
- data/vendor/pygments-main/tests/examplefiles/example.prg +0 -161
- data/vendor/pygments-main/tests/examplefiles/example.rb +0 -1852
- data/vendor/pygments-main/tests/examplefiles/example.red +0 -257
- data/vendor/pygments-main/tests/examplefiles/example.reds +0 -150
- data/vendor/pygments-main/tests/examplefiles/example.reg +0 -19
- data/vendor/pygments-main/tests/examplefiles/example.rexx +0 -50
- data/vendor/pygments-main/tests/examplefiles/example.rhtml +0 -561
- data/vendor/pygments-main/tests/examplefiles/example.rkt +0 -743
- data/vendor/pygments-main/tests/examplefiles/example.rpf +0 -4
- data/vendor/pygments-main/tests/examplefiles/example.sh +0 -22
- data/vendor/pygments-main/tests/examplefiles/example.sh-session +0 -19
- data/vendor/pygments-main/tests/examplefiles/example.shell-session +0 -45
- data/vendor/pygments-main/tests/examplefiles/example.slim +0 -31
- data/vendor/pygments-main/tests/examplefiles/example.sls +0 -51
- data/vendor/pygments-main/tests/examplefiles/example.sml +0 -156
- data/vendor/pygments-main/tests/examplefiles/example.snobol +0 -15
- data/vendor/pygments-main/tests/examplefiles/example.stan +0 -110
- data/vendor/pygments-main/tests/examplefiles/example.tea +0 -34
- data/vendor/pygments-main/tests/examplefiles/example.todotxt +0 -9
- data/vendor/pygments-main/tests/examplefiles/example.ts +0 -28
- data/vendor/pygments-main/tests/examplefiles/example.u +0 -548
- data/vendor/pygments-main/tests/examplefiles/example.weechatlog +0 -9
- data/vendor/pygments-main/tests/examplefiles/example.xhtml +0 -376
- data/vendor/pygments-main/tests/examplefiles/example.xtend +0 -34
- data/vendor/pygments-main/tests/examplefiles/example.yaml +0 -302
- data/vendor/pygments-main/tests/examplefiles/example2.aspx +0 -29
- data/vendor/pygments-main/tests/examplefiles/example2.msc +0 -79
- data/vendor/pygments-main/tests/examplefiles/exampleScript.cfc +0 -241
- data/vendor/pygments-main/tests/examplefiles/exampleTag.cfc +0 -18
- data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +0 -205
- data/vendor/pygments-main/tests/examplefiles/example_file.fy +0 -128
- data/vendor/pygments-main/tests/examplefiles/firefox.mak +0 -586
- data/vendor/pygments-main/tests/examplefiles/flipflop.sv +0 -19
- data/vendor/pygments-main/tests/examplefiles/foo.sce +0 -6
- data/vendor/pygments-main/tests/examplefiles/format.ml +0 -1213
- data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +0 -77
- data/vendor/pygments-main/tests/examplefiles/function.mu +0 -1
- data/vendor/pygments-main/tests/examplefiles/functional.rst +0 -1472
- data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +0 -133
- data/vendor/pygments-main/tests/examplefiles/genclass.clj +0 -510
- data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +0 -193
- data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +0 -33
- data/vendor/pygments-main/tests/examplefiles/glsl.frag +0 -7
- data/vendor/pygments-main/tests/examplefiles/glsl.vert +0 -13
- data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +0 -22
- data/vendor/pygments-main/tests/examplefiles/hash_syntax.rb +0 -5
- data/vendor/pygments-main/tests/examplefiles/hello.at +0 -6
- data/vendor/pygments-main/tests/examplefiles/hello.golo +0 -5
- data/vendor/pygments-main/tests/examplefiles/hello.lsl +0 -12
- data/vendor/pygments-main/tests/examplefiles/hello.smali +0 -40
- data/vendor/pygments-main/tests/examplefiles/hello.sp +0 -9
- data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +0 -1
- data/vendor/pygments-main/tests/examplefiles/http_request_example +0 -15
- data/vendor/pygments-main/tests/examplefiles/http_response_example +0 -29
- data/vendor/pygments-main/tests/examplefiles/hybris_File.hy +0 -174
- data/vendor/pygments-main/tests/examplefiles/idl_sample.pro +0 -73
- data/vendor/pygments-main/tests/examplefiles/iex_example +0 -23
- data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +0 -71
- data/vendor/pygments-main/tests/examplefiles/intro.ik +0 -24
- data/vendor/pygments-main/tests/examplefiles/ints.php +0 -10
- data/vendor/pygments-main/tests/examplefiles/intsyn.fun +0 -675
- data/vendor/pygments-main/tests/examplefiles/intsyn.sig +0 -286
- data/vendor/pygments-main/tests/examplefiles/irb_heredoc +0 -8
- data/vendor/pygments-main/tests/examplefiles/irc.lsp +0 -214
- data/vendor/pygments-main/tests/examplefiles/java.properties +0 -16
- data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +0 -28
- data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +0 -45
- data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +0 -713
- data/vendor/pygments-main/tests/examplefiles/json.lasso +0 -301
- data/vendor/pygments-main/tests/examplefiles/json.lasso9 +0 -213
- data/vendor/pygments-main/tests/examplefiles/language.hy +0 -165
- data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +0 -13
- data/vendor/pygments-main/tests/examplefiles/limbo.b +0 -456
- data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +0 -47
- data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +0 -43
- data/vendor/pygments-main/tests/examplefiles/logos_example.xm +0 -28
- data/vendor/pygments-main/tests/examplefiles/ltmain.sh +0 -2849
- data/vendor/pygments-main/tests/examplefiles/main.cmake +0 -44
- data/vendor/pygments-main/tests/examplefiles/markdown.lsp +0 -679
- data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +0 -3
- data/vendor/pygments-main/tests/examplefiles/matlab_sample +0 -30
- data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +0 -37
- data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +0 -455
- data/vendor/pygments-main/tests/examplefiles/minehunt.qml +0 -112
- data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +0 -4
- data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +0 -340
- data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +0 -38
- data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +0 -95
- data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +0 -96
- data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +0 -30
- data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +0 -87
- data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +0 -118
- data/vendor/pygments-main/tests/examplefiles/numbers.c +0 -12
- data/vendor/pygments-main/tests/examplefiles/objc_example.m +0 -179
- data/vendor/pygments-main/tests/examplefiles/openedge_example +0 -34
- data/vendor/pygments-main/tests/examplefiles/pawn_example +0 -25
- data/vendor/pygments-main/tests/examplefiles/perl_misc +0 -62
- data/vendor/pygments-main/tests/examplefiles/perl_perl5db +0 -998
- data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +0 -120
- data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +0 -856
- data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +0 -163
- data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +0 -567
- data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +0 -1223
- data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +0 -47
- data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +0 -10
- data/vendor/pygments-main/tests/examplefiles/psql_session.txt +0 -122
- data/vendor/pygments-main/tests/examplefiles/py3_test.txt +0 -2
- data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +0 -4
- data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +0 -14
- data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +0 -2
- data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +0 -4
- data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +0 -234
- data/vendor/pygments-main/tests/examplefiles/qbasic_example +0 -2
- data/vendor/pygments-main/tests/examplefiles/qsort.prolog +0 -13
- data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +0 -38
- data/vendor/pygments-main/tests/examplefiles/r6rs-comments.scm +0 -23
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +0 -280
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +0 -2
- data/vendor/pygments-main/tests/examplefiles/regex.js +0 -22
- data/vendor/pygments-main/tests/examplefiles/reversi.lsp +0 -427
- data/vendor/pygments-main/tests/examplefiles/robotframework_test.txt +0 -39
- data/vendor/pygments-main/tests/examplefiles/rql-queries.rql +0 -34
- data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +0 -11
- data/vendor/pygments-main/tests/examplefiles/rust_example.rs +0 -233
- data/vendor/pygments-main/tests/examplefiles/scilab.sci +0 -30
- data/vendor/pygments-main/tests/examplefiles/scope.cirru +0 -43
- data/vendor/pygments-main/tests/examplefiles/session.dylan-console +0 -9
- data/vendor/pygments-main/tests/examplefiles/sibling.prolog +0 -19
- data/vendor/pygments-main/tests/examplefiles/simple.md +0 -747
- data/vendor/pygments-main/tests/examplefiles/smarty_example.html +0 -209
- data/vendor/pygments-main/tests/examplefiles/source.lgt +0 -343
- data/vendor/pygments-main/tests/examplefiles/sources.list +0 -62
- data/vendor/pygments-main/tests/examplefiles/sparql.rq +0 -23
- data/vendor/pygments-main/tests/examplefiles/sphere.pov +0 -18
- data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +0 -27
- data/vendor/pygments-main/tests/examplefiles/squid.conf +0 -30
- data/vendor/pygments-main/tests/examplefiles/string.jl +0 -1031
- data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +0 -21
- data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +0 -3
- data/vendor/pygments-main/tests/examplefiles/swig_java.swg +0 -1329
- data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +0 -225
- data/vendor/pygments-main/tests/examplefiles/test.R +0 -185
- data/vendor/pygments-main/tests/examplefiles/test.adb +0 -211
- data/vendor/pygments-main/tests/examplefiles/test.agda +0 -102
- data/vendor/pygments-main/tests/examplefiles/test.apl +0 -26
- data/vendor/pygments-main/tests/examplefiles/test.asy +0 -131
- data/vendor/pygments-main/tests/examplefiles/test.awk +0 -121
- data/vendor/pygments-main/tests/examplefiles/test.bb +0 -95
- data/vendor/pygments-main/tests/examplefiles/test.bmx +0 -145
- data/vendor/pygments-main/tests/examplefiles/test.boo +0 -39
- data/vendor/pygments-main/tests/examplefiles/test.bro +0 -250
- data/vendor/pygments-main/tests/examplefiles/test.cs +0 -374
- data/vendor/pygments-main/tests/examplefiles/test.css +0 -54
- data/vendor/pygments-main/tests/examplefiles/test.cu +0 -36
- data/vendor/pygments-main/tests/examplefiles/test.cyp +0 -123
- data/vendor/pygments-main/tests/examplefiles/test.d +0 -135
- data/vendor/pygments-main/tests/examplefiles/test.dart +0 -23
- data/vendor/pygments-main/tests/examplefiles/test.dtd +0 -89
- data/vendor/pygments-main/tests/examplefiles/test.ebnf +0 -31
- data/vendor/pygments-main/tests/examplefiles/test.ec +0 -605
- data/vendor/pygments-main/tests/examplefiles/test.ecl +0 -58
- data/vendor/pygments-main/tests/examplefiles/test.eh +0 -315
- data/vendor/pygments-main/tests/examplefiles/test.erl +0 -169
- data/vendor/pygments-main/tests/examplefiles/test.evoque +0 -33
- data/vendor/pygments-main/tests/examplefiles/test.fan +0 -818
- data/vendor/pygments-main/tests/examplefiles/test.flx +0 -57
- data/vendor/pygments-main/tests/examplefiles/test.gdc +0 -13
- data/vendor/pygments-main/tests/examplefiles/test.groovy +0 -97
- data/vendor/pygments-main/tests/examplefiles/test.html +0 -339
- data/vendor/pygments-main/tests/examplefiles/test.idr +0 -93
- data/vendor/pygments-main/tests/examplefiles/test.ini +0 -10
- data/vendor/pygments-main/tests/examplefiles/test.java +0 -653
- data/vendor/pygments-main/tests/examplefiles/test.jsp +0 -24
- data/vendor/pygments-main/tests/examplefiles/test.maql +0 -45
- data/vendor/pygments-main/tests/examplefiles/test.mask +0 -41
- data/vendor/pygments-main/tests/examplefiles/test.mod +0 -374
- data/vendor/pygments-main/tests/examplefiles/test.moo +0 -51
- data/vendor/pygments-main/tests/examplefiles/test.myt +0 -166
- data/vendor/pygments-main/tests/examplefiles/test.nim +0 -93
- data/vendor/pygments-main/tests/examplefiles/test.opa +0 -10
- data/vendor/pygments-main/tests/examplefiles/test.p6 +0 -252
- data/vendor/pygments-main/tests/examplefiles/test.pan +0 -54
- data/vendor/pygments-main/tests/examplefiles/test.pas +0 -743
- data/vendor/pygments-main/tests/examplefiles/test.php +0 -507
- data/vendor/pygments-main/tests/examplefiles/test.pig +0 -148
- data/vendor/pygments-main/tests/examplefiles/test.plot +0 -333
- data/vendor/pygments-main/tests/examplefiles/test.ps1 +0 -108
- data/vendor/pygments-main/tests/examplefiles/test.pwn +0 -253
- data/vendor/pygments-main/tests/examplefiles/test.pypylog +0 -1839
- data/vendor/pygments-main/tests/examplefiles/test.r3 +0 -114
- data/vendor/pygments-main/tests/examplefiles/test.rb +0 -177
- data/vendor/pygments-main/tests/examplefiles/test.rhtml +0 -43
- data/vendor/pygments-main/tests/examplefiles/test.rsl +0 -111
- data/vendor/pygments-main/tests/examplefiles/test.scaml +0 -8
- data/vendor/pygments-main/tests/examplefiles/test.ssp +0 -12
- data/vendor/pygments-main/tests/examplefiles/test.swift +0 -65
- data/vendor/pygments-main/tests/examplefiles/test.tcsh +0 -830
- data/vendor/pygments-main/tests/examplefiles/test.vb +0 -407
- data/vendor/pygments-main/tests/examplefiles/test.vhdl +0 -161
- data/vendor/pygments-main/tests/examplefiles/test.xqy +0 -138
- data/vendor/pygments-main/tests/examplefiles/test.xsl +0 -23
- data/vendor/pygments-main/tests/examplefiles/test.zep +0 -33
- data/vendor/pygments-main/tests/examplefiles/test2.pypylog +0 -120
- data/vendor/pygments-main/tests/examplefiles/truncated.pytb +0 -15
- data/vendor/pygments-main/tests/examplefiles/type.lisp +0 -1218
- data/vendor/pygments-main/tests/examplefiles/underscore.coffee +0 -603
- data/vendor/pygments-main/tests/examplefiles/unicode.applescript +0 -5
- data/vendor/pygments-main/tests/examplefiles/unicode.go +0 -10
- data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +0 -11
- data/vendor/pygments-main/tests/examplefiles/unix-io.lid +0 -37
- data/vendor/pygments-main/tests/examplefiles/vbnet_test.bas +0 -29
- data/vendor/pygments-main/tests/examplefiles/vctreestatus_hg +0 -4
- data/vendor/pygments-main/tests/examplefiles/vimrc +0 -21
- data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +0 -3
- data/vendor/pygments-main/tests/examplefiles/while.pov +0 -13
- data/vendor/pygments-main/tests/examplefiles/wiki.factor +0 -384
- data/vendor/pygments-main/tests/examplefiles/xml_example +0 -1897
- data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +0 -798
- data/vendor/pygments-main/tests/run.py +0 -44
- data/vendor/pygments-main/tests/string_asserts.py +0 -22
- data/vendor/pygments-main/tests/support.py +0 -15
- data/vendor/pygments-main/tests/support/tags +0 -36
- data/vendor/pygments-main/tests/test_basic_api.py +0 -309
- data/vendor/pygments-main/tests/test_cfm.py +0 -46
- data/vendor/pygments-main/tests/test_clexer.py +0 -236
- data/vendor/pygments-main/tests/test_cmdline.py +0 -106
- data/vendor/pygments-main/tests/test_examplefiles.py +0 -110
- data/vendor/pygments-main/tests/test_html_formatter.py +0 -180
- data/vendor/pygments-main/tests/test_latex_formatter.py +0 -57
- data/vendor/pygments-main/tests/test_lexers_other.py +0 -68
- data/vendor/pygments-main/tests/test_objectiveclexer.py +0 -81
- data/vendor/pygments-main/tests/test_perllexer.py +0 -137
- data/vendor/pygments-main/tests/test_qbasiclexer.py +0 -43
- data/vendor/pygments-main/tests/test_regexlexer.py +0 -54
- data/vendor/pygments-main/tests/test_rtf_formatter.py +0 -109
- data/vendor/pygments-main/tests/test_string_asserts.py +0 -39
- data/vendor/pygments-main/tests/test_token.py +0 -46
- data/vendor/pygments-main/tests/test_using_api.py +0 -40
- data/vendor/pygments-main/tests/test_util.py +0 -135
@@ -0,0 +1,106 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""
|
3
|
+
pygments.lexers.stata
|
4
|
+
~~~~~~~~~~~~~~~~~~~~~
|
5
|
+
|
6
|
+
Lexer for Stata
|
7
|
+
|
8
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
9
|
+
:license: BSD, see LICENSE for details.
|
10
|
+
"""
|
11
|
+
|
12
|
+
from pygments.lexer import RegexLexer, include, words
|
13
|
+
from pygments.token import Comment, Keyword, Name, Number, \
|
14
|
+
String, Text, Operator
|
15
|
+
|
16
|
+
from pygments.lexers._stata_builtins import builtins_base, builtins_functions
|
17
|
+
|
18
|
+
__all__ = ['StataLexer']
|
19
|
+
|
20
|
+
class StataLexer(RegexLexer):
|
21
|
+
"""
|
22
|
+
For `Stata <http://www.stata.com/>`_ do files.
|
23
|
+
|
24
|
+
.. versionadded:: 2.2
|
25
|
+
"""
|
26
|
+
# Syntax based on
|
27
|
+
# - http://fmwww.bc.edu/RePEc/bocode/s/synlightlist.ado
|
28
|
+
# - http://github.com/isagalaev/highlight.js/blob/master/src/languages/stata.js
|
29
|
+
# - http://github.com/jpitblado/vim-stata/blob/master/syntax/stata.vim
|
30
|
+
|
31
|
+
name = 'Stata'
|
32
|
+
aliases = ['stata', 'do']
|
33
|
+
filenames = ['*.do', '*.ado']
|
34
|
+
mimetypes = ['text/x-stata', 'text/stata', 'application/x-stata']
|
35
|
+
|
36
|
+
tokens = {
|
37
|
+
'root': [
|
38
|
+
include('comments'),
|
39
|
+
include('vars-strings'),
|
40
|
+
include('numbers'),
|
41
|
+
include('keywords'),
|
42
|
+
(r'.', Text),
|
43
|
+
],
|
44
|
+
# Global and local macros; regular and special strings
|
45
|
+
'vars-strings': [
|
46
|
+
(r'\$[a-zA-Z_0-9\{]', Name.Variable.Global, 'var_validglobal'),
|
47
|
+
(r'`[a-zA-Z_0-9]{0,31}\'', Name.Variable),
|
48
|
+
(r'"', String, 'string_dquote'),
|
49
|
+
(r'`"', String, 'string_mquote'),
|
50
|
+
],
|
51
|
+
# For either string type, highlight macros as macros
|
52
|
+
'string_dquote': [
|
53
|
+
(r'"', String, '#pop'),
|
54
|
+
(r'\\\\|\\"|\\\n', String.Escape),
|
55
|
+
(r'\$', Name.Variable.Global, 'var_validglobal'),
|
56
|
+
(r'`', Name.Variable, 'var_validlocal'),
|
57
|
+
(r'[^$\$`"\\]+', String),
|
58
|
+
(r'[$"\\]', String),
|
59
|
+
],
|
60
|
+
'string_mquote': [
|
61
|
+
(r'"\'', String, '#pop'),
|
62
|
+
(r'\\\\|\\"|\\\n', String.Escape),
|
63
|
+
(r'\$', Name.Variable.Global, 'var_validglobal'),
|
64
|
+
(r'`', Name.Variable, 'var_validlocal'),
|
65
|
+
(r'[^$\$`"\\]+', String),
|
66
|
+
(r'[$"\\]', String),
|
67
|
+
],
|
68
|
+
'var_validglobal': [
|
69
|
+
(r'\{?[a-zA-Z0-9_]{0,32}\}?', Name.Variable.Global, '#pop'),
|
70
|
+
],
|
71
|
+
'var_validlocal': [
|
72
|
+
(r'[a-zA-Z0-9_]{0,31}\'', Name.Variable, '#pop'),
|
73
|
+
],
|
74
|
+
# * only OK at line start, // OK anywhere
|
75
|
+
'comments': [
|
76
|
+
(r'^\s*\*.*$', Comment),
|
77
|
+
(r'//.*', Comment.Single),
|
78
|
+
(r'/\*.*?\*/', Comment.Multiline),
|
79
|
+
(r'/[*](.|\n)*?[*]/', Comment.Multiline),
|
80
|
+
],
|
81
|
+
# Built in functions and statements
|
82
|
+
'keywords': [
|
83
|
+
(words(builtins_functions, prefix = r'\b', suffix = r'\('),
|
84
|
+
Name.Function),
|
85
|
+
(words(builtins_base, prefix = r'(^\s*|\s)', suffix = r'\b'),
|
86
|
+
Keyword),
|
87
|
+
],
|
88
|
+
# http://www.stata.com/help.cgi?operators
|
89
|
+
'operators': [
|
90
|
+
(r'-|==|<=|>=|<|>|&|!=', Operator),
|
91
|
+
(r'\*|\+|\^|/|!|~|==|~=', Operator)
|
92
|
+
],
|
93
|
+
# Stata numbers
|
94
|
+
'numbers': [
|
95
|
+
# decimal number
|
96
|
+
(r'\b[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)([eE][+-]?[0-9]+)?[i]?\b',
|
97
|
+
Number),
|
98
|
+
],
|
99
|
+
# Stata formats
|
100
|
+
'format': [
|
101
|
+
(r'%-?\d{1,2}(\.\d{1,2})?[gfe]c?', Name.Variable),
|
102
|
+
(r'%(21x|16H|16L|8H|8L)', Name.Variable),
|
103
|
+
(r'%-?(tc|tC|td|tw|tm|tq|th|ty|tg).{0,32}', Name.Variable),
|
104
|
+
(r'%[-~]?\d{1,4}s', Name.Variable),
|
105
|
+
]
|
106
|
+
}
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""
|
3
|
+
pygments.lexers.supercollider
|
4
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
|
+
|
6
|
+
Lexer for SuperCollider
|
7
|
+
|
8
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
9
|
+
:license: BSD, see LICENSE for details.
|
10
|
+
"""
|
11
|
+
|
12
|
+
import re
|
13
|
+
|
14
|
+
from pygments.lexer import RegexLexer, include, words, default
|
15
|
+
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
16
|
+
Number, Punctuation
|
17
|
+
|
18
|
+
__all__ = ['SuperColliderLexer']
|
19
|
+
|
20
|
+
|
21
|
+
class SuperColliderLexer(RegexLexer):
|
22
|
+
"""
|
23
|
+
For `SuperCollider <http://supercollider.github.io/>`_ source code.
|
24
|
+
|
25
|
+
.. versionadded:: 2.1
|
26
|
+
"""
|
27
|
+
|
28
|
+
name = 'SuperCollider'
|
29
|
+
aliases = ['sc', 'supercollider']
|
30
|
+
filenames = ['*.sc', '*.scd']
|
31
|
+
mimetypes = ['application/supercollider', 'text/supercollider', ]
|
32
|
+
|
33
|
+
flags = re.DOTALL | re.MULTILINE
|
34
|
+
tokens = {
|
35
|
+
'commentsandwhitespace': [
|
36
|
+
(r'\s+', Text),
|
37
|
+
(r'<!--', Comment),
|
38
|
+
(r'//.*?\n', Comment.Single),
|
39
|
+
(r'/\*.*?\*/', Comment.Multiline)
|
40
|
+
],
|
41
|
+
'slashstartsregex': [
|
42
|
+
include('commentsandwhitespace'),
|
43
|
+
(r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
|
44
|
+
r'([gim]+\b|\B)', String.Regex, '#pop'),
|
45
|
+
(r'(?=/)', Text, ('#pop', 'badregex')),
|
46
|
+
default('#pop'),
|
47
|
+
],
|
48
|
+
'badregex': [
|
49
|
+
(r'\n', Text, '#pop')
|
50
|
+
],
|
51
|
+
'root': [
|
52
|
+
(r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
|
53
|
+
include('commentsandwhitespace'),
|
54
|
+
(r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
|
55
|
+
r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
|
56
|
+
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
57
|
+
(r'[})\].]', Punctuation),
|
58
|
+
(words((
|
59
|
+
'for', 'in', 'while', 'do', 'break', 'return', 'continue',
|
60
|
+
'switch', 'case', 'default', 'if', 'else', 'throw', 'try',
|
61
|
+
'catch', 'finally', 'new', 'delete', 'typeof', 'instanceof',
|
62
|
+
'void'), suffix=r'\b'),
|
63
|
+
Keyword, 'slashstartsregex'),
|
64
|
+
(words(('var', 'let', 'with', 'function', 'arg'), suffix=r'\b'),
|
65
|
+
Keyword.Declaration, 'slashstartsregex'),
|
66
|
+
(words((
|
67
|
+
'(abstract', 'boolean', 'byte', 'char', 'class', 'const',
|
68
|
+
'debugger', 'double', 'enum', 'export', 'extends', 'final',
|
69
|
+
'float', 'goto', 'implements', 'import', 'int', 'interface',
|
70
|
+
'long', 'native', 'package', 'private', 'protected', 'public',
|
71
|
+
'short', 'static', 'super', 'synchronized', 'throws',
|
72
|
+
'transient', 'volatile'), suffix=r'\b'),
|
73
|
+
Keyword.Reserved),
|
74
|
+
(words(('true', 'false', 'nil', 'inf'), suffix=r'\b'), Keyword.Constant),
|
75
|
+
(words((
|
76
|
+
'Array', 'Boolean', 'Date', 'Error', 'Function', 'Number',
|
77
|
+
'Object', 'Packages', 'RegExp', 'String',
|
78
|
+
'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'super',
|
79
|
+
'thisFunctionDef', 'thisFunction', 'thisMethod', 'thisProcess',
|
80
|
+
'thisThread', 'this'), suffix=r'\b'),
|
81
|
+
Name.Builtin),
|
82
|
+
(r'[$a-zA-Z_]\w*', Name.Other),
|
83
|
+
(r'\\?[$a-zA-Z_]\w*', String.Symbol),
|
84
|
+
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
85
|
+
(r'0x[0-9a-fA-F]+', Number.Hex),
|
86
|
+
(r'[0-9]+', Number.Integer),
|
87
|
+
(r'"(\\\\|\\"|[^"])*"', String.Double),
|
88
|
+
(r"'(\\\\|\\'|[^'])*'", String.Single),
|
89
|
+
]
|
90
|
+
}
|
@@ -0,0 +1,145 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""
|
3
|
+
pygments.lexers.tcl
|
4
|
+
~~~~~~~~~~~~~~~~~~~
|
5
|
+
|
6
|
+
Lexers for Tcl and related languages.
|
7
|
+
|
8
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
9
|
+
:license: BSD, see LICENSE for details.
|
10
|
+
"""
|
11
|
+
|
12
|
+
from pygments.lexer import RegexLexer, include, words
|
13
|
+
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
14
|
+
Number
|
15
|
+
from pygments.util import shebang_matches
|
16
|
+
|
17
|
+
__all__ = ['TclLexer']
|
18
|
+
|
19
|
+
|
20
|
+
class TclLexer(RegexLexer):
|
21
|
+
"""
|
22
|
+
For Tcl source code.
|
23
|
+
|
24
|
+
.. versionadded:: 0.10
|
25
|
+
"""
|
26
|
+
|
27
|
+
keyword_cmds_re = words((
|
28
|
+
'after', 'apply', 'array', 'break', 'catch', 'continue', 'elseif', 'else', 'error',
|
29
|
+
'eval', 'expr', 'for', 'foreach', 'global', 'if', 'namespace', 'proc', 'rename', 'return',
|
30
|
+
'set', 'switch', 'then', 'trace', 'unset', 'update', 'uplevel', 'upvar', 'variable',
|
31
|
+
'vwait', 'while'), prefix=r'\b', suffix=r'\b')
|
32
|
+
|
33
|
+
builtin_cmds_re = words((
|
34
|
+
'append', 'bgerror', 'binary', 'cd', 'chan', 'clock', 'close', 'concat', 'dde', 'dict',
|
35
|
+
'encoding', 'eof', 'exec', 'exit', 'fblocked', 'fconfigure', 'fcopy', 'file',
|
36
|
+
'fileevent', 'flush', 'format', 'gets', 'glob', 'history', 'http', 'incr', 'info', 'interp',
|
37
|
+
'join', 'lappend', 'lassign', 'lindex', 'linsert', 'list', 'llength', 'load', 'loadTk',
|
38
|
+
'lrange', 'lrepeat', 'lreplace', 'lreverse', 'lsearch', 'lset', 'lsort', 'mathfunc',
|
39
|
+
'mathop', 'memory', 'msgcat', 'open', 'package', 'pid', 'pkg::create', 'pkg_mkIndex',
|
40
|
+
'platform', 'platform::shell', 'puts', 'pwd', 're_syntax', 'read', 'refchan',
|
41
|
+
'regexp', 'registry', 'regsub', 'scan', 'seek', 'socket', 'source', 'split', 'string',
|
42
|
+
'subst', 'tell', 'time', 'tm', 'unknown', 'unload'), prefix=r'\b', suffix=r'\b')
|
43
|
+
|
44
|
+
name = 'Tcl'
|
45
|
+
aliases = ['tcl']
|
46
|
+
filenames = ['*.tcl', '*.rvt']
|
47
|
+
mimetypes = ['text/x-tcl', 'text/x-script.tcl', 'application/x-tcl']
|
48
|
+
|
49
|
+
def _gen_command_rules(keyword_cmds_re, builtin_cmds_re, context=""):
|
50
|
+
return [
|
51
|
+
(keyword_cmds_re, Keyword, 'params' + context),
|
52
|
+
(builtin_cmds_re, Name.Builtin, 'params' + context),
|
53
|
+
(r'([\w.-]+)', Name.Variable, 'params' + context),
|
54
|
+
(r'#', Comment, 'comment'),
|
55
|
+
]
|
56
|
+
|
57
|
+
tokens = {
|
58
|
+
'root': [
|
59
|
+
include('command'),
|
60
|
+
include('basic'),
|
61
|
+
include('data'),
|
62
|
+
(r'\}', Keyword), # HACK: somehow we miscounted our braces
|
63
|
+
],
|
64
|
+
'command': _gen_command_rules(keyword_cmds_re, builtin_cmds_re),
|
65
|
+
'command-in-brace': _gen_command_rules(keyword_cmds_re,
|
66
|
+
builtin_cmds_re,
|
67
|
+
"-in-brace"),
|
68
|
+
'command-in-bracket': _gen_command_rules(keyword_cmds_re,
|
69
|
+
builtin_cmds_re,
|
70
|
+
"-in-bracket"),
|
71
|
+
'command-in-paren': _gen_command_rules(keyword_cmds_re,
|
72
|
+
builtin_cmds_re,
|
73
|
+
"-in-paren"),
|
74
|
+
'basic': [
|
75
|
+
(r'\(', Keyword, 'paren'),
|
76
|
+
(r'\[', Keyword, 'bracket'),
|
77
|
+
(r'\{', Keyword, 'brace'),
|
78
|
+
(r'"', String.Double, 'string'),
|
79
|
+
(r'(eq|ne|in|ni)\b', Operator.Word),
|
80
|
+
(r'!=|==|<<|>>|<=|>=|&&|\|\||\*\*|[-+~!*/%<>&^|?:]', Operator),
|
81
|
+
],
|
82
|
+
'data': [
|
83
|
+
(r'\s+', Text),
|
84
|
+
(r'0x[a-fA-F0-9]+', Number.Hex),
|
85
|
+
(r'0[0-7]+', Number.Oct),
|
86
|
+
(r'\d+\.\d+', Number.Float),
|
87
|
+
(r'\d+', Number.Integer),
|
88
|
+
(r'\$([\w.:-]+)', Name.Variable),
|
89
|
+
(r'([\w.:-]+)', Text),
|
90
|
+
],
|
91
|
+
'params': [
|
92
|
+
(r';', Keyword, '#pop'),
|
93
|
+
(r'\n', Text, '#pop'),
|
94
|
+
(r'(else|elseif|then)\b', Keyword),
|
95
|
+
include('basic'),
|
96
|
+
include('data'),
|
97
|
+
],
|
98
|
+
'params-in-brace': [
|
99
|
+
(r'\}', Keyword, ('#pop', '#pop')),
|
100
|
+
include('params')
|
101
|
+
],
|
102
|
+
'params-in-paren': [
|
103
|
+
(r'\)', Keyword, ('#pop', '#pop')),
|
104
|
+
include('params')
|
105
|
+
],
|
106
|
+
'params-in-bracket': [
|
107
|
+
(r'\]', Keyword, ('#pop', '#pop')),
|
108
|
+
include('params')
|
109
|
+
],
|
110
|
+
'string': [
|
111
|
+
(r'\[', String.Double, 'string-square'),
|
112
|
+
(r'(?s)(\\\\|\\[0-7]+|\\.|[^"\\])', String.Double),
|
113
|
+
(r'"', String.Double, '#pop')
|
114
|
+
],
|
115
|
+
'string-square': [
|
116
|
+
(r'\[', String.Double, 'string-square'),
|
117
|
+
(r'(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])', String.Double),
|
118
|
+
(r'\]', String.Double, '#pop')
|
119
|
+
],
|
120
|
+
'brace': [
|
121
|
+
(r'\}', Keyword, '#pop'),
|
122
|
+
include('command-in-brace'),
|
123
|
+
include('basic'),
|
124
|
+
include('data'),
|
125
|
+
],
|
126
|
+
'paren': [
|
127
|
+
(r'\)', Keyword, '#pop'),
|
128
|
+
include('command-in-paren'),
|
129
|
+
include('basic'),
|
130
|
+
include('data'),
|
131
|
+
],
|
132
|
+
'bracket': [
|
133
|
+
(r'\]', Keyword, '#pop'),
|
134
|
+
include('command-in-bracket'),
|
135
|
+
include('basic'),
|
136
|
+
include('data'),
|
137
|
+
],
|
138
|
+
'comment': [
|
139
|
+
(r'.*[^\\]\n', Comment, '#pop'),
|
140
|
+
(r'.*\\\n', Comment),
|
141
|
+
],
|
142
|
+
}
|
143
|
+
|
144
|
+
def analyse_text(text):
|
145
|
+
return shebang_matches(text, r'(tcl)')
|
@@ -5,23 +5,24 @@
|
|
5
5
|
|
6
6
|
Lexers for various template engines' markup.
|
7
7
|
|
8
|
-
:copyright: Copyright 2006-
|
8
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
9
9
|
:license: BSD, see LICENSE for details.
|
10
10
|
"""
|
11
11
|
|
12
12
|
import re
|
13
13
|
|
14
|
-
from pygments.lexers.
|
15
|
-
|
16
|
-
from pygments.lexers.
|
17
|
-
from pygments.lexers.
|
18
|
-
from pygments.lexers.
|
19
|
-
from pygments.lexers.
|
14
|
+
from pygments.lexers.html import HtmlLexer, XmlLexer
|
15
|
+
from pygments.lexers.javascript import JavascriptLexer, LassoLexer
|
16
|
+
from pygments.lexers.css import CssLexer
|
17
|
+
from pygments.lexers.php import PhpLexer
|
18
|
+
from pygments.lexers.python import PythonLexer
|
19
|
+
from pygments.lexers.perl import PerlLexer
|
20
|
+
from pygments.lexers.jvm import JavaLexer, TeaLangLexer
|
21
|
+
from pygments.lexers.data import YamlLexer
|
20
22
|
from pygments.lexer import Lexer, DelegatingLexer, RegexLexer, bygroups, \
|
21
|
-
|
22
|
-
from pygments.token import Error, Punctuation, \
|
23
|
-
|
24
|
-
Whitespace
|
23
|
+
include, using, this, default, combined
|
24
|
+
from pygments.token import Error, Punctuation, Whitespace, \
|
25
|
+
Text, Comment, Operator, Keyword, Name, String, Number, Other, Token
|
25
26
|
from pygments.util import html_doctype_matches, looks_like_xml
|
26
27
|
|
27
28
|
__all__ = ['HtmlPhpLexer', 'XmlPhpLexer', 'CssPhpLexer',
|
@@ -42,7 +43,8 @@ __all__ = ['HtmlPhpLexer', 'XmlPhpLexer', 'CssPhpLexer',
|
|
42
43
|
'VelocityHtmlLexer', 'VelocityXmlLexer', 'SspLexer',
|
43
44
|
'TeaTemplateLexer', 'LassoHtmlLexer', 'LassoXmlLexer',
|
44
45
|
'LassoCssLexer', 'LassoJavascriptLexer', 'HandlebarsLexer',
|
45
|
-
'HandlebarsHtmlLexer', 'YamlJinjaLexer', 'LiquidLexer'
|
46
|
+
'HandlebarsHtmlLexer', 'YamlJinjaLexer', 'LiquidLexer',
|
47
|
+
'TwigLexer', 'TwigHtmlLexer', 'Angular2Lexer', 'Angular2HtmlLexer']
|
46
48
|
|
47
49
|
|
48
50
|
class ErbLexer(Lexer):
|
@@ -63,7 +65,7 @@ class ErbLexer(Lexer):
|
|
63
65
|
_block_re = re.compile(r'(<%%|%%>|<%=|<%#|<%-|<%|-%>|%>|^%[^%].*?$)', re.M)
|
64
66
|
|
65
67
|
def __init__(self, **options):
|
66
|
-
from pygments.lexers.
|
68
|
+
from pygments.lexers.ruby import RubyLexer
|
67
69
|
self.ruby_lexer = RubyLexer(**options)
|
68
70
|
Lexer.__init__(self, **options)
|
69
71
|
|
@@ -106,7 +108,7 @@ class ErbLexer(Lexer):
|
|
106
108
|
data = tokens.pop()
|
107
109
|
r_idx = 0
|
108
110
|
for r_idx, r_token, r_value in \
|
109
|
-
|
111
|
+
self.ruby_lexer.get_tokens_unprocessed(data):
|
110
112
|
yield r_idx + idx, r_token, r_value
|
111
113
|
idx += len(data)
|
112
114
|
state = 2
|
@@ -119,7 +121,7 @@ class ErbLexer(Lexer):
|
|
119
121
|
yield idx, Comment.Preproc, tag[0]
|
120
122
|
r_idx = 0
|
121
123
|
for r_idx, r_token, r_value in \
|
122
|
-
|
124
|
+
self.ruby_lexer.get_tokens_unprocessed(tag[1:]):
|
123
125
|
yield idx + 1 + r_idx, r_token, r_value
|
124
126
|
idx += len(tag)
|
125
127
|
state = 0
|
@@ -169,10 +171,11 @@ class SmartyLexer(RegexLexer):
|
|
169
171
|
],
|
170
172
|
'smarty': [
|
171
173
|
(r'\s+', Text),
|
174
|
+
(r'\{', Comment.Preproc, '#push'),
|
172
175
|
(r'\}', Comment.Preproc, '#pop'),
|
173
176
|
(r'#[a-zA-Z_]\w*#', Name.Variable),
|
174
177
|
(r'\$[a-zA-Z_]\w*(\.\w+)*', Name.Variable),
|
175
|
-
(r'[~!%^&*()+=|\[\]
|
178
|
+
(r'[~!%^&*()+=|\[\]:;,.<>/?@-]', Operator),
|
176
179
|
(r'(true|false|null)\b', Keyword.Constant),
|
177
180
|
(r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|"
|
178
181
|
r"0[xX][0-9a-fA-F]+[Ll]?", Number),
|
@@ -205,7 +208,7 @@ class VelocityLexer(RegexLexer):
|
|
205
208
|
|
206
209
|
name = 'Velocity'
|
207
210
|
aliases = ['velocity']
|
208
|
-
filenames = ['*.vm','*.fhtml']
|
211
|
+
filenames = ['*.vm', '*.fhtml']
|
209
212
|
|
210
213
|
flags = re.MULTILINE | re.DOTALL
|
211
214
|
|
@@ -234,7 +237,7 @@ class VelocityLexer(RegexLexer):
|
|
234
237
|
default('#pop')
|
235
238
|
],
|
236
239
|
'directiveparams': [
|
237
|
-
(r'(&&|\|\||==?|!=?|[
|
240
|
+
(r'(&&|\|\||==?|!=?|[-<>+*%&|^/])|\b(eq|ne|gt|lt|ge|le|not|in)\b',
|
238
241
|
Operator),
|
239
242
|
(r'\[', Operator, 'rangeoperator'),
|
240
243
|
(r'\b' + identifier + r'\b', Name.Function),
|
@@ -248,7 +251,7 @@ class VelocityLexer(RegexLexer):
|
|
248
251
|
'funcparams': [
|
249
252
|
(r'\$\{?', Punctuation, 'variable'),
|
250
253
|
(r'\s+', Text),
|
251
|
-
(r'
|
254
|
+
(r'[,:]', Punctuation),
|
252
255
|
(r'"(\\\\|\\"|[^"])*"', String.Double),
|
253
256
|
(r"'(\\\\|\\'|[^'])*'", String.Single),
|
254
257
|
(r"0[xX][0-9a-fA-F]+[Ll]?", Number),
|
@@ -256,6 +259,8 @@ class VelocityLexer(RegexLexer):
|
|
256
259
|
(r'(true|false|null)\b', Keyword.Constant),
|
257
260
|
(r'\(', Punctuation, '#push'),
|
258
261
|
(r'\)', Punctuation, '#pop'),
|
262
|
+
(r'\{', Punctuation, '#push'),
|
263
|
+
(r'\}', Punctuation, '#pop'),
|
259
264
|
(r'\[', Punctuation, '#push'),
|
260
265
|
(r'\]', Punctuation, '#pop'),
|
261
266
|
]
|
@@ -277,31 +282,31 @@ class VelocityLexer(RegexLexer):
|
|
277
282
|
|
278
283
|
class VelocityHtmlLexer(DelegatingLexer):
|
279
284
|
"""
|
280
|
-
Subclass of the `VelocityLexer` that highlights
|
285
|
+
Subclass of the `VelocityLexer` that highlights unlexed data
|
281
286
|
with the `HtmlLexer`.
|
282
287
|
|
283
288
|
"""
|
284
289
|
|
285
290
|
name = 'HTML+Velocity'
|
286
291
|
aliases = ['html+velocity']
|
287
|
-
alias_filenames = ['*.html','*.fhtml']
|
292
|
+
alias_filenames = ['*.html', '*.fhtml']
|
288
293
|
mimetypes = ['text/html+velocity']
|
289
294
|
|
290
295
|
def __init__(self, **options):
|
291
296
|
super(VelocityHtmlLexer, self).__init__(HtmlLexer, VelocityLexer,
|
292
|
-
|
297
|
+
**options)
|
293
298
|
|
294
299
|
|
295
300
|
class VelocityXmlLexer(DelegatingLexer):
|
296
301
|
"""
|
297
|
-
Subclass of the `VelocityLexer` that highlights
|
302
|
+
Subclass of the `VelocityLexer` that highlights unlexed data
|
298
303
|
with the `XmlLexer`.
|
299
304
|
|
300
305
|
"""
|
301
306
|
|
302
307
|
name = 'XML+Velocity'
|
303
308
|
aliases = ['xml+velocity']
|
304
|
-
alias_filenames = ['*.xml','*.vm']
|
309
|
+
alias_filenames = ['*.xml', '*.vm']
|
305
310
|
mimetypes = ['application/xml+velocity']
|
306
311
|
|
307
312
|
def __init__(self, **options):
|
@@ -311,7 +316,7 @@ class VelocityXmlLexer(DelegatingLexer):
|
|
311
316
|
def analyse_text(text):
|
312
317
|
rv = VelocityLexer.analyse_text(text) - 0.01
|
313
318
|
if looks_like_xml(text):
|
314
|
-
rv += 0.
|
319
|
+
rv += 0.4
|
315
320
|
return rv
|
316
321
|
|
317
322
|
|
@@ -366,7 +371,7 @@ class DjangoLexer(RegexLexer):
|
|
366
371
|
r'with(?:(?:out)?\s*context)?|scoped|ignore\s+missing)\b',
|
367
372
|
Keyword),
|
368
373
|
(r'(loop|block|super|forloop)\b', Name.Builtin),
|
369
|
-
(r'[a-zA-
|
374
|
+
(r'[a-zA-Z_][\w-]*', Name.Variable),
|
370
375
|
(r'\.\w+', Name.Variable),
|
371
376
|
(r':?"(\\\\|\\"|[^"])*"', String.Double),
|
372
377
|
(r":?'(\\\\|\\'|[^'])*'", String.Single),
|
@@ -448,7 +453,7 @@ class MyghtyLexer(RegexLexer):
|
|
448
453
|
|
449
454
|
class MyghtyHtmlLexer(DelegatingLexer):
|
450
455
|
"""
|
451
|
-
Subclass of the `MyghtyLexer` that highlights
|
456
|
+
Subclass of the `MyghtyLexer` that highlights unlexed data
|
452
457
|
with the `HtmlLexer`.
|
453
458
|
|
454
459
|
.. versionadded:: 0.6
|
@@ -465,7 +470,7 @@ class MyghtyHtmlLexer(DelegatingLexer):
|
|
465
470
|
|
466
471
|
class MyghtyXmlLexer(DelegatingLexer):
|
467
472
|
"""
|
468
|
-
Subclass of the `MyghtyLexer` that highlights
|
473
|
+
Subclass of the `MyghtyLexer` that highlights unlexed data
|
469
474
|
with the `XmlLexer`.
|
470
475
|
|
471
476
|
.. versionadded:: 0.6
|
@@ -482,7 +487,7 @@ class MyghtyXmlLexer(DelegatingLexer):
|
|
482
487
|
|
483
488
|
class MyghtyJavascriptLexer(DelegatingLexer):
|
484
489
|
"""
|
485
|
-
Subclass of the `MyghtyLexer` that highlights
|
490
|
+
Subclass of the `MyghtyLexer` that highlights unlexed data
|
486
491
|
with the `JavascriptLexer`.
|
487
492
|
|
488
493
|
.. versionadded:: 0.6
|
@@ -501,7 +506,7 @@ class MyghtyJavascriptLexer(DelegatingLexer):
|
|
501
506
|
|
502
507
|
class MyghtyCssLexer(DelegatingLexer):
|
503
508
|
"""
|
504
|
-
Subclass of the `MyghtyLexer` that highlights
|
509
|
+
Subclass of the `MyghtyLexer` that highlights unlexed data
|
505
510
|
with the `CssLexer`.
|
506
511
|
|
507
512
|
.. versionadded:: 0.6
|
@@ -565,10 +570,12 @@ class MasonLexer(RegexLexer):
|
|
565
570
|
}
|
566
571
|
|
567
572
|
def analyse_text(text):
|
568
|
-
|
569
|
-
if re.search('
|
570
|
-
|
571
|
-
|
573
|
+
result = 0.0
|
574
|
+
if re.search(r'</%(class|doc|init)%>', text) is not None:
|
575
|
+
result = 1.0
|
576
|
+
elif re.search(r'<&.+&>', text, re.DOTALL) is not None:
|
577
|
+
result = 0.11
|
578
|
+
return result
|
572
579
|
|
573
580
|
|
574
581
|
class MakoLexer(RegexLexer):
|
@@ -595,11 +602,11 @@ class MakoLexer(RegexLexer):
|
|
595
602
|
(r'(\s*)(##[^\n]*)(\n|\Z)',
|
596
603
|
bygroups(Text, Comment.Preproc, Other)),
|
597
604
|
(r'(?s)<%doc>.*?</%doc>', Comment.Preproc),
|
598
|
-
(r'(<%)([\w
|
605
|
+
(r'(<%)([\w.:]+)',
|
599
606
|
bygroups(Comment.Preproc, Name.Builtin), 'tag'),
|
600
|
-
(r'(</%)([\w
|
607
|
+
(r'(</%)([\w.:]+)(>)',
|
601
608
|
bygroups(Comment.Preproc, Name.Builtin, Comment.Preproc)),
|
602
|
-
(r'<%(?=([\w
|
609
|
+
(r'<%(?=([\w.:]+))', Comment.Preproc, 'ondeftags'),
|
603
610
|
(r'(<%(?:!?))(.*?)(%>)(?s)',
|
604
611
|
bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc)),
|
605
612
|
(r'(\$\{)(.*?)(\})',
|
@@ -653,11 +660,12 @@ class MakoHtmlLexer(DelegatingLexer):
|
|
653
660
|
|
654
661
|
def __init__(self, **options):
|
655
662
|
super(MakoHtmlLexer, self).__init__(HtmlLexer, MakoLexer,
|
656
|
-
|
663
|
+
**options)
|
664
|
+
|
657
665
|
|
658
666
|
class MakoXmlLexer(DelegatingLexer):
|
659
667
|
"""
|
660
|
-
Subclass of the `MakoLexer` that highlights
|
668
|
+
Subclass of the `MakoLexer` that highlights unlexed data
|
661
669
|
with the `XmlLexer`.
|
662
670
|
|
663
671
|
.. versionadded:: 0.7
|
@@ -669,11 +677,12 @@ class MakoXmlLexer(DelegatingLexer):
|
|
669
677
|
|
670
678
|
def __init__(self, **options):
|
671
679
|
super(MakoXmlLexer, self).__init__(XmlLexer, MakoLexer,
|
672
|
-
|
680
|
+
**options)
|
681
|
+
|
673
682
|
|
674
683
|
class MakoJavascriptLexer(DelegatingLexer):
|
675
684
|
"""
|
676
|
-
Subclass of the `MakoLexer` that highlights
|
685
|
+
Subclass of the `MakoLexer` that highlights unlexed data
|
677
686
|
with the `JavascriptLexer`.
|
678
687
|
|
679
688
|
.. versionadded:: 0.7
|
@@ -687,11 +696,12 @@ class MakoJavascriptLexer(DelegatingLexer):
|
|
687
696
|
|
688
697
|
def __init__(self, **options):
|
689
698
|
super(MakoJavascriptLexer, self).__init__(JavascriptLexer,
|
690
|
-
|
699
|
+
MakoLexer, **options)
|
700
|
+
|
691
701
|
|
692
702
|
class MakoCssLexer(DelegatingLexer):
|
693
703
|
"""
|
694
|
-
Subclass of the `MakoLexer` that highlights
|
704
|
+
Subclass of the `MakoLexer` that highlights unlexed data
|
695
705
|
with the `CssLexer`.
|
696
706
|
|
697
707
|
.. versionadded:: 0.7
|
@@ -703,7 +713,7 @@ class MakoCssLexer(DelegatingLexer):
|
|
703
713
|
|
704
714
|
def __init__(self, **options):
|
705
715
|
super(MakoCssLexer, self).__init__(CssLexer, MakoLexer,
|
706
|
-
|
716
|
+
**options)
|
707
717
|
|
708
718
|
|
709
719
|
# Genshi and Cheetah lexers courtesy of Matt Good.
|
@@ -747,7 +757,7 @@ class CheetahLexer(RegexLexer):
|
|
747
757
|
(bygroups(Comment.Preproc, using(CheetahPythonLexer),
|
748
758
|
Comment.Preproc))),
|
749
759
|
# TODO support other Python syntax like $foo['bar']
|
750
|
-
(r'(\$)([a-zA-Z_][\w
|
760
|
+
(r'(\$)([a-zA-Z_][\w.]*\w)',
|
751
761
|
bygroups(Comment.Preproc, using(CheetahPythonLexer))),
|
752
762
|
(r'(\$\{!?)(.*?)(\})(?s)',
|
753
763
|
bygroups(Comment.Preproc, using(CheetahPythonLexer),
|
@@ -767,7 +777,7 @@ class CheetahLexer(RegexLexer):
|
|
767
777
|
|
768
778
|
class CheetahHtmlLexer(DelegatingLexer):
|
769
779
|
"""
|
770
|
-
Subclass of the `CheetahLexer` that highlights
|
780
|
+
Subclass of the `CheetahLexer` that highlights unlexed data
|
771
781
|
with the `HtmlLexer`.
|
772
782
|
"""
|
773
783
|
|
@@ -782,7 +792,7 @@ class CheetahHtmlLexer(DelegatingLexer):
|
|
782
792
|
|
783
793
|
class CheetahXmlLexer(DelegatingLexer):
|
784
794
|
"""
|
785
|
-
Subclass of the `CheetahLexer` that highlights
|
795
|
+
Subclass of the `CheetahLexer` that highlights unlexed data
|
786
796
|
with the `XmlLexer`.
|
787
797
|
"""
|
788
798
|
|
@@ -797,7 +807,7 @@ class CheetahXmlLexer(DelegatingLexer):
|
|
797
807
|
|
798
808
|
class CheetahJavascriptLexer(DelegatingLexer):
|
799
809
|
"""
|
800
|
-
Subclass of the `CheetahLexer` that highlights
|
810
|
+
Subclass of the `CheetahLexer` that highlights unlexed data
|
801
811
|
with the `JavascriptLexer`.
|
802
812
|
"""
|
803
813
|
|
@@ -828,11 +838,11 @@ class GenshiTextLexer(RegexLexer):
|
|
828
838
|
|
829
839
|
tokens = {
|
830
840
|
'root': [
|
831
|
-
(r'[
|
841
|
+
(r'[^#$\s]+', Other),
|
832
842
|
(r'^(\s*)(##.*)$', bygroups(Text, Comment)),
|
833
843
|
(r'^(\s*)(#)', bygroups(Text, Comment.Preproc), 'directive'),
|
834
844
|
include('variable'),
|
835
|
-
(r'[
|
845
|
+
(r'[#$\s]', Other),
|
836
846
|
],
|
837
847
|
'directive': [
|
838
848
|
(r'\n', Text, '#pop'),
|
@@ -845,7 +855,7 @@ class GenshiTextLexer(RegexLexer):
|
|
845
855
|
'variable': [
|
846
856
|
(r'(?<!\$)(\$\{)(.+?)(\})',
|
847
857
|
bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc)),
|
848
|
-
(r'(?<!\$)(\$)([a-zA-Z_][\w
|
858
|
+
(r'(?<!\$)(\$)([a-zA-Z_][\w.]*)',
|
849
859
|
Name.Variable),
|
850
860
|
]
|
851
861
|
}
|
@@ -861,15 +871,15 @@ class GenshiMarkupLexer(RegexLexer):
|
|
861
871
|
|
862
872
|
tokens = {
|
863
873
|
'root': [
|
864
|
-
(r'[
|
874
|
+
(r'[^<$]+', Other),
|
865
875
|
(r'(<\?python)(.*?)(\?>)',
|
866
876
|
bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc)),
|
867
877
|
# yield style and script blocks as Other
|
868
878
|
(r'<\s*(script|style)\s*.*?>.*?<\s*/\1\s*>', Other),
|
869
879
|
(r'<\s*py:[a-zA-Z0-9]+', Name.Tag, 'pytag'),
|
870
|
-
(r'<\s*[a-zA-Z0-9
|
880
|
+
(r'<\s*[a-zA-Z0-9:.]+', Name.Tag, 'tag'),
|
871
881
|
include('variable'),
|
872
|
-
(r'[
|
882
|
+
(r'[<$]', Other),
|
873
883
|
],
|
874
884
|
'pytag': [
|
875
885
|
(r'\s+', Text),
|
@@ -1116,7 +1126,7 @@ class HtmlPhpLexer(DelegatingLexer):
|
|
1116
1126
|
|
1117
1127
|
class XmlPhpLexer(DelegatingLexer):
|
1118
1128
|
"""
|
1119
|
-
Subclass of `PhpLexer` that
|
1129
|
+
Subclass of `PhpLexer` that highlights unhandled data with the `XmlLexer`.
|
1120
1130
|
"""
|
1121
1131
|
|
1122
1132
|
name = 'XML+PHP'
|
@@ -1174,7 +1184,7 @@ class JavascriptPhpLexer(DelegatingLexer):
|
|
1174
1184
|
|
1175
1185
|
class HtmlSmartyLexer(DelegatingLexer):
|
1176
1186
|
"""
|
1177
|
-
Subclass of the `SmartyLexer` that
|
1187
|
+
Subclass of the `SmartyLexer` that highlights unlexed data with the
|
1178
1188
|
`HtmlLexer`.
|
1179
1189
|
|
1180
1190
|
Nested Javascript and CSS is highlighted too.
|
@@ -1257,7 +1267,7 @@ class JavascriptSmartyLexer(DelegatingLexer):
|
|
1257
1267
|
|
1258
1268
|
class HtmlDjangoLexer(DelegatingLexer):
|
1259
1269
|
"""
|
1260
|
-
Subclass of the `DjangoLexer` that
|
1270
|
+
Subclass of the `DjangoLexer` that highlights unlexed data with the
|
1261
1271
|
`HtmlLexer`.
|
1262
1272
|
|
1263
1273
|
Nested Javascript and CSS is highlighted too.
|
@@ -1416,7 +1426,7 @@ class EvoqueLexer(RegexLexer):
|
|
1416
1426
|
String, Punctuation)),
|
1417
1427
|
# directives: evoque, overlay
|
1418
1428
|
# see doc for handling first name arg: /directives/evoque/
|
1419
|
-
|
1429
|
+
# + minor inconsistency: the "name" in e.g. $overlay{name=site_base}
|
1420
1430
|
# should be using(PythonLexer), not passed out as String
|
1421
1431
|
(r'(\$)(evoque|overlay)(\{(%)?)(\s*[#\w\-"\'.]+[^=,%}]+?)?'
|
1422
1432
|
r'(.*?)((?(4)%)\})',
|
@@ -1442,6 +1452,7 @@ class EvoqueLexer(RegexLexer):
|
|
1442
1452
|
],
|
1443
1453
|
}
|
1444
1454
|
|
1455
|
+
|
1445
1456
|
class EvoqueHtmlLexer(DelegatingLexer):
|
1446
1457
|
"""
|
1447
1458
|
Subclass of the `EvoqueLexer` that highlights unlexed data with the
|
@@ -1458,6 +1469,7 @@ class EvoqueHtmlLexer(DelegatingLexer):
|
|
1458
1469
|
super(EvoqueHtmlLexer, self).__init__(HtmlLexer, EvoqueLexer,
|
1459
1470
|
**options)
|
1460
1471
|
|
1472
|
+
|
1461
1473
|
class EvoqueXmlLexer(DelegatingLexer):
|
1462
1474
|
"""
|
1463
1475
|
Subclass of the `EvoqueLexer` that highlights unlexed data with the
|
@@ -1474,6 +1486,7 @@ class EvoqueXmlLexer(DelegatingLexer):
|
|
1474
1486
|
super(EvoqueXmlLexer, self).__init__(XmlLexer, EvoqueLexer,
|
1475
1487
|
**options)
|
1476
1488
|
|
1489
|
+
|
1477
1490
|
class ColdfusionLexer(RegexLexer):
|
1478
1491
|
"""
|
1479
1492
|
Coldfusion statements
|
@@ -1554,7 +1567,7 @@ class ColdfusionMarkupLexer(RegexLexer):
|
|
1554
1567
|
(r'[^#<]+', Other),
|
1555
1568
|
(r'(#)(.*?)(#)', bygroups(Punctuation, using(ColdfusionLexer),
|
1556
1569
|
Punctuation)),
|
1557
|
-
#(r'<cfoutput.*?>', Name.Builtin, '#push'),
|
1570
|
+
# (r'<cfoutput.*?>', Name.Builtin, '#push'),
|
1558
1571
|
(r'</cfoutput.*?>', Name.Builtin, '#pop'),
|
1559
1572
|
include('tags'),
|
1560
1573
|
(r'(?s)<[^<>]*', Other),
|
@@ -1585,6 +1598,8 @@ class ColdfusionHtmlLexer(DelegatingLexer):
|
|
1585
1598
|
class ColdfusionCFCLexer(DelegatingLexer):
|
1586
1599
|
"""
|
1587
1600
|
Coldfusion markup/script components
|
1601
|
+
|
1602
|
+
.. versionadded:: 2.0
|
1588
1603
|
"""
|
1589
1604
|
name = 'Coldfusion CFC'
|
1590
1605
|
aliases = ['cfc']
|
@@ -1593,7 +1608,7 @@ class ColdfusionCFCLexer(DelegatingLexer):
|
|
1593
1608
|
|
1594
1609
|
def __init__(self, **options):
|
1595
1610
|
super(ColdfusionCFCLexer, self).__init__(ColdfusionHtmlLexer, ColdfusionLexer,
|
1596
|
-
|
1611
|
+
**options)
|
1597
1612
|
|
1598
1613
|
|
1599
1614
|
class SspLexer(DelegatingLexer):
|
@@ -1634,13 +1649,13 @@ class TeaTemplateRootLexer(RegexLexer):
|
|
1634
1649
|
(r'<%\S?', Keyword, 'sec'),
|
1635
1650
|
(r'[^<]+', Other),
|
1636
1651
|
(r'<', Other),
|
1637
|
-
|
1652
|
+
],
|
1638
1653
|
'sec': [
|
1639
1654
|
(r'%>', Keyword, '#pop'),
|
1640
1655
|
# note: '\w\W' != '.' without DOTALL.
|
1641
1656
|
(r'[\w\W]+?(?=%>|\Z)', using(TeaLangLexer)),
|
1642
|
-
|
1643
|
-
|
1657
|
+
],
|
1658
|
+
}
|
1644
1659
|
|
1645
1660
|
|
1646
1661
|
class TeaTemplateLexer(DelegatingLexer):
|
@@ -1690,9 +1705,7 @@ class LassoHtmlLexer(DelegatingLexer):
|
|
1690
1705
|
|
1691
1706
|
def analyse_text(text):
|
1692
1707
|
rv = LassoLexer.analyse_text(text) - 0.01
|
1693
|
-
if
|
1694
|
-
rv += 0.2
|
1695
|
-
if html_doctype_matches(text):
|
1708
|
+
if html_doctype_matches(text): # same as HTML lexer
|
1696
1709
|
rv += 0.5
|
1697
1710
|
return rv
|
1698
1711
|
|
@@ -1769,16 +1782,17 @@ class LassoJavascriptLexer(DelegatingLexer):
|
|
1769
1782
|
|
1770
1783
|
def analyse_text(text):
|
1771
1784
|
rv = LassoLexer.analyse_text(text) - 0.05
|
1772
|
-
if 'function' in text:
|
1773
|
-
rv += 0.2
|
1774
1785
|
return rv
|
1775
1786
|
|
1787
|
+
|
1776
1788
|
class HandlebarsLexer(RegexLexer):
|
1777
1789
|
"""
|
1778
1790
|
Generic `handlebars <http://handlebarsjs.com/>` template lexer.
|
1779
1791
|
|
1780
1792
|
Highlights only the Handlebars template tags (stuff between `{{` and `}}`).
|
1781
1793
|
Everything else is left for a delegating lexer.
|
1794
|
+
|
1795
|
+
.. versionadded:: 2.0
|
1782
1796
|
"""
|
1783
1797
|
|
1784
1798
|
name = "Handlebars"
|
@@ -1788,10 +1802,10 @@ class HandlebarsLexer(RegexLexer):
|
|
1788
1802
|
'root': [
|
1789
1803
|
(r'[^{]+', Other),
|
1790
1804
|
|
1791
|
-
(r'{{
|
1805
|
+
(r'\{\{!.*\}\}', Comment),
|
1792
1806
|
|
1793
|
-
(r'({{{)(\s*)', bygroups(Comment.Special, Text), 'tag'),
|
1794
|
-
(r'({{)(\s*)', bygroups(Comment.Preproc, Text), 'tag'),
|
1807
|
+
(r'(\{\{\{)(\s*)', bygroups(Comment.Special, Text), 'tag'),
|
1808
|
+
(r'(\{\{)(\s*)', bygroups(Comment.Preproc, Text), 'tag'),
|
1795
1809
|
],
|
1796
1810
|
|
1797
1811
|
'tag': [
|
@@ -1800,20 +1814,20 @@ class HandlebarsLexer(RegexLexer):
|
|
1800
1814
|
(r'\}\}', Comment.Preproc, '#pop'),
|
1801
1815
|
|
1802
1816
|
# Handlebars
|
1803
|
-
(r'([
|
1817
|
+
(r'([#/]*)(each|if|unless|else|with|log|in)', bygroups(Keyword,
|
1804
1818
|
Keyword)),
|
1805
1819
|
|
1806
1820
|
# General {{#block}}
|
1807
|
-
(r'([
|
1821
|
+
(r'([#/])([\w-]+)', bygroups(Name.Function, Name.Function)),
|
1808
1822
|
|
1809
1823
|
# {{opt=something}}
|
1810
|
-
(r'(\w+)(=)', bygroups(Name.Attribute, Operator)),
|
1824
|
+
(r'([\w-]+)(=)', bygroups(Name.Attribute, Operator)),
|
1811
1825
|
|
1812
1826
|
# borrowed from DjangoLexer
|
1813
1827
|
(r':?"(\\\\|\\"|[^"])*"', String.Double),
|
1814
1828
|
(r":?'(\\\\|\\'|[^'])*'", String.Single),
|
1815
1829
|
(r'[a-zA-Z][\w-]*', Name.Variable),
|
1816
|
-
(r'
|
1830
|
+
(r'\.[\w-]+', Name.Variable),
|
1817
1831
|
(r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|"
|
1818
1832
|
r"0[xX][0-9a-fA-F]+[Ll]?", Number),
|
1819
1833
|
]
|
@@ -1824,6 +1838,8 @@ class HandlebarsHtmlLexer(DelegatingLexer):
|
|
1824
1838
|
"""
|
1825
1839
|
Subclass of the `HandlebarsLexer` that highlights unlexed data with the
|
1826
1840
|
`HtmlLexer`.
|
1841
|
+
|
1842
|
+
.. versionadded:: 2.0
|
1827
1843
|
"""
|
1828
1844
|
|
1829
1845
|
name = "HTML+Handlebars"
|
@@ -1837,7 +1853,7 @@ class HandlebarsHtmlLexer(DelegatingLexer):
|
|
1837
1853
|
|
1838
1854
|
class YamlJinjaLexer(DelegatingLexer):
|
1839
1855
|
"""
|
1840
|
-
Subclass of the `DjangoLexer` that
|
1856
|
+
Subclass of the `DjangoLexer` that highlights unlexed data with the
|
1841
1857
|
`YamlLexer`.
|
1842
1858
|
|
1843
1859
|
Commonly used in Saltstack salt states.
|
@@ -1871,10 +1887,10 @@ class LiquidLexer(RegexLexer):
|
|
1871
1887
|
# tags and block tags
|
1872
1888
|
(r'(\{%)(\s*)', bygroups(Punctuation, Whitespace), 'tag-or-block'),
|
1873
1889
|
# output tags
|
1874
|
-
(r'({{)(\s*)([^\s}]+)',
|
1890
|
+
(r'(\{\{)(\s*)([^\s}]+)',
|
1875
1891
|
bygroups(Punctuation, Whitespace, using(this, state = 'generic')),
|
1876
1892
|
'output'),
|
1877
|
-
(r'{', Text)
|
1893
|
+
(r'\{', Text)
|
1878
1894
|
],
|
1879
1895
|
|
1880
1896
|
'tag-or-block': [
|
@@ -1912,16 +1928,16 @@ class LiquidLexer(RegexLexer):
|
|
1912
1928
|
|
1913
1929
|
'output': [
|
1914
1930
|
include('whitespace'),
|
1915
|
-
('\}\}', Punctuation, '#pop'),
|
1931
|
+
('\}\}', Punctuation, '#pop'), # end of output
|
1916
1932
|
|
1917
1933
|
(r'\|', Punctuation, 'filters')
|
1918
1934
|
],
|
1919
1935
|
|
1920
1936
|
'filters': [
|
1921
1937
|
include('whitespace'),
|
1922
|
-
(r'\}\}', Punctuation, ('#pop', '#pop')),
|
1938
|
+
(r'\}\}', Punctuation, ('#pop', '#pop')), # end of filters and output
|
1923
1939
|
|
1924
|
-
(r'([^\s
|
1940
|
+
(r'([^\s|:]+)(:?)(\s*)',
|
1925
1941
|
bygroups(Name.Function, Punctuation, Whitespace), 'filter-markup')
|
1926
1942
|
],
|
1927
1943
|
|
@@ -1941,7 +1957,7 @@ class LiquidLexer(RegexLexer):
|
|
1941
1957
|
Punctuation)),
|
1942
1958
|
(r'\b!', Operator),
|
1943
1959
|
(r'\bnot\b', Operator.Word),
|
1944
|
-
(r'([\w
|
1960
|
+
(r'([\w.\'"]+)(\s+)(contains)(\s+)([\w.\'"]+)',
|
1945
1961
|
bygroups(using(this, state = 'generic'), Whitespace, Operator.Word,
|
1946
1962
|
Whitespace, using(this, state = 'generic'))),
|
1947
1963
|
|
@@ -1980,7 +1996,7 @@ class LiquidLexer(RegexLexer):
|
|
1980
1996
|
(r'([^\s=:]+)(\s*)(=|:)',
|
1981
1997
|
bygroups(Name.Attribute, Whitespace, Operator)),
|
1982
1998
|
# explicit variables
|
1983
|
-
(r'(\{\{)(\s*)([^\s
|
1999
|
+
(r'(\{\{)(\s*)([^\s}])(\s*)(\}\})',
|
1984
2000
|
bygroups(Punctuation, Whitespace, using(this, state = 'variable'),
|
1985
2001
|
Whitespace, Punctuation)),
|
1986
2002
|
|
@@ -1992,22 +2008,22 @@ class LiquidLexer(RegexLexer):
|
|
1992
2008
|
|
1993
2009
|
'default-param-markup': [
|
1994
2010
|
include('param-markup'),
|
1995
|
-
(r'.', Text)
|
2011
|
+
(r'.', Text) # fallback for switches / variables / un-quoted strings / ...
|
1996
2012
|
],
|
1997
2013
|
|
1998
2014
|
'variable-param-markup': [
|
1999
2015
|
include('param-markup'),
|
2000
2016
|
include('variable'),
|
2001
|
-
(r'.', Text)
|
2017
|
+
(r'.', Text) # fallback
|
2002
2018
|
],
|
2003
2019
|
|
2004
2020
|
'tag-markup': [
|
2005
|
-
(r'%\}', Punctuation, ('#pop', '#pop')),
|
2021
|
+
(r'%\}', Punctuation, ('#pop', '#pop')), # end of tag
|
2006
2022
|
include('default-param-markup')
|
2007
2023
|
],
|
2008
2024
|
|
2009
2025
|
'variable-tag-markup': [
|
2010
|
-
(r'%\}', Punctuation, ('#pop', '#pop')),
|
2026
|
+
(r'%\}', Punctuation, ('#pop', '#pop')), # end of tag
|
2011
2027
|
include('variable-param-markup')
|
2012
2028
|
],
|
2013
2029
|
|
@@ -2031,7 +2047,7 @@ class LiquidLexer(RegexLexer):
|
|
2031
2047
|
(r'\d+', Number.Integer)
|
2032
2048
|
],
|
2033
2049
|
|
2034
|
-
'generic': [
|
2050
|
+
'generic': [ # decides for variable, string, keyword or number
|
2035
2051
|
include('keyword'),
|
2036
2052
|
include('string'),
|
2037
2053
|
include('number'),
|
@@ -2051,10 +2067,186 @@ class LiquidLexer(RegexLexer):
|
|
2051
2067
|
],
|
2052
2068
|
|
2053
2069
|
'raw': [
|
2054
|
-
(r'[
|
2070
|
+
(r'[^{]+', Text),
|
2055
2071
|
(r'(\{%)(\s*)(endraw)(\s*)(%\})',
|
2056
2072
|
bygroups(Punctuation, Whitespace, Name.Tag, Whitespace,
|
2057
2073
|
Punctuation), '#pop'),
|
2058
2074
|
(r'\{', Text)
|
2059
|
-
]
|
2075
|
+
],
|
2060
2076
|
}
|
2077
|
+
|
2078
|
+
|
2079
|
+
class TwigLexer(RegexLexer):
|
2080
|
+
"""
|
2081
|
+
`Twig <http://twig.sensiolabs.org/>`_ template lexer.
|
2082
|
+
|
2083
|
+
It just highlights Twig code between the preprocessor directives,
|
2084
|
+
other data is left untouched by the lexer.
|
2085
|
+
|
2086
|
+
.. versionadded:: 2.0
|
2087
|
+
"""
|
2088
|
+
|
2089
|
+
name = 'Twig'
|
2090
|
+
aliases = ['twig']
|
2091
|
+
mimetypes = ['application/x-twig']
|
2092
|
+
|
2093
|
+
flags = re.M | re.S
|
2094
|
+
|
2095
|
+
# Note that a backslash is included in the following two patterns
|
2096
|
+
# PHP uses a backslash as a namespace separator
|
2097
|
+
_ident_char = r'[\\\w-]|[^\x00-\x7f]'
|
2098
|
+
_ident_begin = r'(?:[\\_a-z]|[^\x00-\x7f])'
|
2099
|
+
_ident_end = r'(?:' + _ident_char + ')*'
|
2100
|
+
_ident_inner = _ident_begin + _ident_end
|
2101
|
+
|
2102
|
+
tokens = {
|
2103
|
+
'root': [
|
2104
|
+
(r'[^{]+', Other),
|
2105
|
+
(r'\{\{', Comment.Preproc, 'var'),
|
2106
|
+
# twig comments
|
2107
|
+
(r'\{\#.*?\#\}', Comment),
|
2108
|
+
# raw twig blocks
|
2109
|
+
(r'(\{%)(-?\s*)(raw)(\s*-?)(%\})(.*?)'
|
2110
|
+
r'(\{%)(-?\s*)(endraw)(\s*-?)(%\})',
|
2111
|
+
bygroups(Comment.Preproc, Text, Keyword, Text, Comment.Preproc,
|
2112
|
+
Other, Comment.Preproc, Text, Keyword, Text,
|
2113
|
+
Comment.Preproc)),
|
2114
|
+
(r'(\{%)(-?\s*)(verbatim)(\s*-?)(%\})(.*?)'
|
2115
|
+
r'(\{%)(-?\s*)(endverbatim)(\s*-?)(%\})',
|
2116
|
+
bygroups(Comment.Preproc, Text, Keyword, Text, Comment.Preproc,
|
2117
|
+
Other, Comment.Preproc, Text, Keyword, Text,
|
2118
|
+
Comment.Preproc)),
|
2119
|
+
# filter blocks
|
2120
|
+
(r'(\{%%)(-?\s*)(filter)(\s+)(%s)' % _ident_inner,
|
2121
|
+
bygroups(Comment.Preproc, Text, Keyword, Text, Name.Function),
|
2122
|
+
'tag'),
|
2123
|
+
(r'(\{%)(-?\s*)([a-zA-Z_]\w*)',
|
2124
|
+
bygroups(Comment.Preproc, Text, Keyword), 'tag'),
|
2125
|
+
(r'\{', Other),
|
2126
|
+
],
|
2127
|
+
'varnames': [
|
2128
|
+
(r'(\|)(\s*)(%s)' % _ident_inner,
|
2129
|
+
bygroups(Operator, Text, Name.Function)),
|
2130
|
+
(r'(is)(\s+)(not)?(\s*)(%s)' % _ident_inner,
|
2131
|
+
bygroups(Keyword, Text, Keyword, Text, Name.Function)),
|
2132
|
+
(r'(?i)(true|false|none|null)\b', Keyword.Pseudo),
|
2133
|
+
(r'(in|not|and|b-and|or|b-or|b-xor|is'
|
2134
|
+
r'if|elseif|else|import'
|
2135
|
+
r'constant|defined|divisibleby|empty|even|iterable|odd|sameas'
|
2136
|
+
r'matches|starts\s+with|ends\s+with)\b',
|
2137
|
+
Keyword),
|
2138
|
+
(r'(loop|block|parent)\b', Name.Builtin),
|
2139
|
+
(_ident_inner, Name.Variable),
|
2140
|
+
(r'\.' + _ident_inner, Name.Variable),
|
2141
|
+
(r'\.[0-9]+', Number),
|
2142
|
+
(r':?"(\\\\|\\"|[^"])*"', String.Double),
|
2143
|
+
(r":?'(\\\\|\\'|[^'])*'", String.Single),
|
2144
|
+
(r'([{}()\[\]+\-*/,:~%]|\.\.|\?|:|\*\*|\/\/|!=|[><=]=?)', Operator),
|
2145
|
+
(r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|"
|
2146
|
+
r"0[xX][0-9a-fA-F]+[Ll]?", Number),
|
2147
|
+
],
|
2148
|
+
'var': [
|
2149
|
+
(r'\s+', Text),
|
2150
|
+
(r'(-?)(\}\})', bygroups(Text, Comment.Preproc), '#pop'),
|
2151
|
+
include('varnames')
|
2152
|
+
],
|
2153
|
+
'tag': [
|
2154
|
+
(r'\s+', Text),
|
2155
|
+
(r'(-?)(%\})', bygroups(Text, Comment.Preproc), '#pop'),
|
2156
|
+
include('varnames'),
|
2157
|
+
(r'.', Punctuation),
|
2158
|
+
],
|
2159
|
+
}
|
2160
|
+
|
2161
|
+
|
2162
|
+
class TwigHtmlLexer(DelegatingLexer):
|
2163
|
+
"""
|
2164
|
+
Subclass of the `TwigLexer` that highlights unlexed data with the
|
2165
|
+
`HtmlLexer`.
|
2166
|
+
|
2167
|
+
.. versionadded:: 2.0
|
2168
|
+
"""
|
2169
|
+
|
2170
|
+
name = "HTML+Twig"
|
2171
|
+
aliases = ["html+twig"]
|
2172
|
+
filenames = ['*.twig']
|
2173
|
+
mimetypes = ['text/html+twig']
|
2174
|
+
|
2175
|
+
def __init__(self, **options):
|
2176
|
+
super(TwigHtmlLexer, self).__init__(HtmlLexer, TwigLexer, **options)
|
2177
|
+
|
2178
|
+
|
2179
|
+
class Angular2Lexer(RegexLexer):
|
2180
|
+
"""
|
2181
|
+
Generic `angular2 <http://victorsavkin.com/post/119943127151/angular-2-template-syntax>` template lexer.
|
2182
|
+
|
2183
|
+
Highlights only the Angular template tags (stuff between `{{` and `}}` and
|
2184
|
+
special attributes: '(event)=', '[property]=', '[(twoWayBinding)]=').
|
2185
|
+
Everything else is left for a delegating lexer.
|
2186
|
+
|
2187
|
+
.. versionadded:: 2.1a0
|
2188
|
+
"""
|
2189
|
+
|
2190
|
+
name = "Angular2"
|
2191
|
+
aliases = ['ng2']
|
2192
|
+
|
2193
|
+
tokens = {
|
2194
|
+
'root': [
|
2195
|
+
(r'[^{([*#]+', Other),
|
2196
|
+
|
2197
|
+
# {{meal.name}}
|
2198
|
+
(r'(\{\{)(\s*)', bygroups(Comment.Preproc, Text), 'ngExpression'),
|
2199
|
+
|
2200
|
+
# (click)="deleteOrder()"; [value]="test"; [(twoWayTest)]="foo.bar"
|
2201
|
+
(r'([([]+)([\w:.-]+)([\])]+)(\s*)(=)(\s*)',
|
2202
|
+
bygroups(Punctuation, Name.Attribute, Punctuation, Text, Operator, Text), 'attr'),
|
2203
|
+
(r'([([]+)([\w:.-]+)([\])]+)(\s*)',
|
2204
|
+
bygroups(Punctuation, Name.Attribute, Punctuation, Text)),
|
2205
|
+
|
2206
|
+
# *ngIf="..."; #f="ngForm"
|
2207
|
+
(r'([*#])([\w:.-]+)(\s*)(=)(\s*)',
|
2208
|
+
bygroups(Punctuation, Name.Attribute, Punctuation, Operator), 'attr'),
|
2209
|
+
(r'([*#])([\w:.-]+)(\s*)',
|
2210
|
+
bygroups(Punctuation, Name.Attribute, Punctuation)),
|
2211
|
+
],
|
2212
|
+
|
2213
|
+
'ngExpression': [
|
2214
|
+
(r'\s+(\|\s+)?', Text),
|
2215
|
+
(r'\}\}', Comment.Preproc, '#pop'),
|
2216
|
+
|
2217
|
+
# Literals
|
2218
|
+
(r':?(true|false)', String.Boolean),
|
2219
|
+
(r':?"(\\\\|\\"|[^"])*"', String.Double),
|
2220
|
+
(r":?'(\\\\|\\'|[^'])*'", String.Single),
|
2221
|
+
(r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|"
|
2222
|
+
r"0[xX][0-9a-fA-F]+[Ll]?", Number),
|
2223
|
+
|
2224
|
+
# Variabletext
|
2225
|
+
(r'[a-zA-Z][\w-]*(\(.*\))?', Name.Variable),
|
2226
|
+
(r'\.[\w-]+(\(.*\))?', Name.Variable),
|
2227
|
+
|
2228
|
+
# inline If
|
2229
|
+
(r'(\?)(\s*)([^}\s]+)(\s*)(:)(\s*)([^}\s]+)(\s*)', bygroups(Operator, Text, String, Text, Operator, Text, String, Text)),
|
2230
|
+
],
|
2231
|
+
'attr': [
|
2232
|
+
('".*?"', String, '#pop'),
|
2233
|
+
("'.*?'", String, '#pop'),
|
2234
|
+
(r'[^\s>]+', String, '#pop'),
|
2235
|
+
],
|
2236
|
+
}
|
2237
|
+
|
2238
|
+
|
2239
|
+
class Angular2HtmlLexer(DelegatingLexer):
|
2240
|
+
"""
|
2241
|
+
Subclass of the `Angular2Lexer` that highlights unlexed data with the
|
2242
|
+
`HtmlLexer`.
|
2243
|
+
|
2244
|
+
.. versionadded:: 2.0
|
2245
|
+
"""
|
2246
|
+
|
2247
|
+
name = "HTML + Angular2"
|
2248
|
+
aliases = ["html+ng2"]
|
2249
|
+
filenames = ['*.ng2']
|
2250
|
+
|
2251
|
+
def __init__(self, **options):
|
2252
|
+
super(Angular2HtmlLexer, self).__init__(HtmlLexer, Angular2Lexer, **options)
|