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
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Utility functions.
|
|
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
|
|
|
@@ -17,18 +17,19 @@ split_path_re = re.compile(r'[/\\ ]')
|
|
|
17
17
|
doctype_lookup_re = re.compile(r'''(?smx)
|
|
18
18
|
(<\?.*?\?>)?\s*
|
|
19
19
|
<!DOCTYPE\s+(
|
|
20
|
+
[a-zA-Z_][a-zA-Z0-9]*
|
|
21
|
+
(?: \s+ # optional in HTML5
|
|
20
22
|
[a-zA-Z_][a-zA-Z0-9]*\s+
|
|
21
|
-
[
|
|
22
|
-
|
|
23
|
+
"[^"]*")?
|
|
24
|
+
)
|
|
23
25
|
[^>]*>
|
|
24
26
|
''')
|
|
25
27
|
tag_re = re.compile(r'<(.+?)(\s.*?)?>.*?</.+?>(?uism)')
|
|
28
|
+
xml_decl_re = re.compile(r'\s*<\?xml[^>]*\?>', re.I)
|
|
26
29
|
|
|
27
30
|
|
|
28
31
|
class ClassNotFound(ValueError):
|
|
29
|
-
"""
|
|
30
|
-
If one of the get_*_by_* functions didn't find a matching class.
|
|
31
|
-
"""
|
|
32
|
+
"""Raised if one of the lookup functions didn't find a matching class."""
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
class OptionError(Exception):
|
|
@@ -54,7 +55,7 @@ def get_bool_opt(options, optname, default=None):
|
|
|
54
55
|
elif not isinstance(string, string_types):
|
|
55
56
|
raise OptionError('Invalid type %r for option %s; use '
|
|
56
57
|
'1/0, yes/no, true/false, on/off' % (
|
|
57
|
-
|
|
58
|
+
string, optname))
|
|
58
59
|
elif string.lower() in ('1', 'yes', 'true', 'on'):
|
|
59
60
|
return True
|
|
60
61
|
elif string.lower() in ('0', 'no', 'false', 'off'):
|
|
@@ -62,7 +63,7 @@ def get_bool_opt(options, optname, default=None):
|
|
|
62
63
|
else:
|
|
63
64
|
raise OptionError('Invalid value %r for option %s; use '
|
|
64
65
|
'1/0, yes/no, true/false, on/off' % (
|
|
65
|
-
|
|
66
|
+
string, optname))
|
|
66
67
|
|
|
67
68
|
|
|
68
69
|
def get_int_opt(options, optname, default=None):
|
|
@@ -72,11 +73,11 @@ def get_int_opt(options, optname, default=None):
|
|
|
72
73
|
except TypeError:
|
|
73
74
|
raise OptionError('Invalid type %r for option %s; you '
|
|
74
75
|
'must give an integer value' % (
|
|
75
|
-
|
|
76
|
+
string, optname))
|
|
76
77
|
except ValueError:
|
|
77
78
|
raise OptionError('Invalid value %r for option %s; you '
|
|
78
79
|
'must give an integer value' % (
|
|
79
|
-
|
|
80
|
+
string, optname))
|
|
80
81
|
|
|
81
82
|
|
|
82
83
|
def get_list_opt(options, optname, default=None):
|
|
@@ -88,7 +89,7 @@ def get_list_opt(options, optname, default=None):
|
|
|
88
89
|
else:
|
|
89
90
|
raise OptionError('Invalid type %r for option %s; you '
|
|
90
91
|
'must give a list value' % (
|
|
91
|
-
|
|
92
|
+
val, optname))
|
|
92
93
|
|
|
93
94
|
|
|
94
95
|
def docstring_headline(obj):
|
|
@@ -104,10 +105,7 @@ def docstring_headline(obj):
|
|
|
104
105
|
|
|
105
106
|
|
|
106
107
|
def make_analysator(f):
|
|
107
|
-
"""
|
|
108
|
-
Return a static text analysation function that
|
|
109
|
-
returns float values.
|
|
110
|
-
"""
|
|
108
|
+
"""Return a static text analyser function that returns float values."""
|
|
111
109
|
def text_analyse(text):
|
|
112
110
|
try:
|
|
113
111
|
rv = f(text)
|
|
@@ -124,8 +122,7 @@ def make_analysator(f):
|
|
|
124
122
|
|
|
125
123
|
|
|
126
124
|
def shebang_matches(text, regex):
|
|
127
|
-
"""
|
|
128
|
-
Check if the given regular expression matches the last part of the
|
|
125
|
+
r"""Check if the given regular expression matches the last part of the
|
|
129
126
|
shebang if one exists.
|
|
130
127
|
|
|
131
128
|
>>> from pygments.util import shebang_matches
|
|
@@ -163,15 +160,15 @@ def shebang_matches(text, regex):
|
|
|
163
160
|
if x and not x.startswith('-')][-1]
|
|
164
161
|
except IndexError:
|
|
165
162
|
return False
|
|
166
|
-
regex = re.compile('^%s(\.(exe|cmd|bat|bin))?$' % regex, re.IGNORECASE)
|
|
163
|
+
regex = re.compile(r'^%s(\.(exe|cmd|bat|bin))?$' % regex, re.IGNORECASE)
|
|
167
164
|
if regex.search(found) is not None:
|
|
168
165
|
return True
|
|
169
166
|
return False
|
|
170
167
|
|
|
171
168
|
|
|
172
169
|
def doctype_matches(text, regex):
|
|
173
|
-
"""
|
|
174
|
-
|
|
170
|
+
"""Check if the doctype matches a regular expression (if present).
|
|
171
|
+
|
|
175
172
|
Note that this method only checks the first part of a DOCTYPE.
|
|
176
173
|
eg: 'html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'
|
|
177
174
|
"""
|
|
@@ -179,21 +176,21 @@ def doctype_matches(text, regex):
|
|
|
179
176
|
if m is None:
|
|
180
177
|
return False
|
|
181
178
|
doctype = m.group(2)
|
|
182
|
-
return re.compile(regex).match(doctype.strip()) is not None
|
|
179
|
+
return re.compile(regex, re.I).match(doctype.strip()) is not None
|
|
183
180
|
|
|
184
181
|
|
|
185
182
|
def html_doctype_matches(text):
|
|
186
|
-
"""
|
|
187
|
-
|
|
188
|
-
"""
|
|
189
|
-
return doctype_matches(text, r'html\s+PUBLIC\s+"-//W3C//DTD X?HTML.*')
|
|
183
|
+
"""Check if the file looks like it has a html doctype."""
|
|
184
|
+
return doctype_matches(text, r'html')
|
|
190
185
|
|
|
191
186
|
|
|
192
187
|
_looks_like_xml_cache = {}
|
|
188
|
+
|
|
189
|
+
|
|
193
190
|
def looks_like_xml(text):
|
|
194
|
-
"""
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
"""Check if a doctype exists or if we have some tags."""
|
|
192
|
+
if xml_decl_re.match(text):
|
|
193
|
+
return True
|
|
197
194
|
key = hash(text)
|
|
198
195
|
try:
|
|
199
196
|
return _looks_like_xml_cache[key]
|
|
@@ -205,6 +202,7 @@ def looks_like_xml(text):
|
|
|
205
202
|
_looks_like_xml_cache[key] = rv
|
|
206
203
|
return rv
|
|
207
204
|
|
|
205
|
+
|
|
208
206
|
# Python narrow build compatibility
|
|
209
207
|
|
|
210
208
|
def _surrogatepair(c):
|
|
@@ -215,10 +213,9 @@ def _surrogatepair(c):
|
|
|
215
213
|
# http://www.unicode.org/book/ch03.pdf
|
|
216
214
|
return (0xd7c0 + (c >> 10), (0xdc00 + (c & 0x3ff)))
|
|
217
215
|
|
|
216
|
+
|
|
218
217
|
def unirange(a, b):
|
|
219
|
-
"""
|
|
220
|
-
Returns a regular expression string to match the given non-BMP range.
|
|
221
|
-
"""
|
|
218
|
+
"""Returns a regular expression string to match the given non-BMP range."""
|
|
222
219
|
if b < a:
|
|
223
220
|
raise ValueError("Bad character range")
|
|
224
221
|
if a < 0x10000 or b < 0x10000:
|
|
@@ -255,6 +252,98 @@ def unirange(a, b):
|
|
|
255
252
|
|
|
256
253
|
return u'(?:' + u'|'.join(buf) + u')'
|
|
257
254
|
|
|
255
|
+
|
|
256
|
+
def format_lines(var_name, seq, raw=False, indent_level=0):
|
|
257
|
+
"""Formats a sequence of strings for output."""
|
|
258
|
+
lines = []
|
|
259
|
+
base_indent = ' ' * indent_level * 4
|
|
260
|
+
inner_indent = ' ' * (indent_level + 1) * 4
|
|
261
|
+
lines.append(base_indent + var_name + ' = (')
|
|
262
|
+
if raw:
|
|
263
|
+
# These should be preformatted reprs of, say, tuples.
|
|
264
|
+
for i in seq:
|
|
265
|
+
lines.append(inner_indent + i + ',')
|
|
266
|
+
else:
|
|
267
|
+
for i in seq:
|
|
268
|
+
# Force use of single quotes
|
|
269
|
+
r = repr(i + '"')
|
|
270
|
+
lines.append(inner_indent + r[:-2] + r[-1] + ',')
|
|
271
|
+
lines.append(base_indent + ')')
|
|
272
|
+
return '\n'.join(lines)
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
def duplicates_removed(it, already_seen=()):
|
|
276
|
+
"""
|
|
277
|
+
Returns a list with duplicates removed from the iterable `it`.
|
|
278
|
+
|
|
279
|
+
Order is preserved.
|
|
280
|
+
"""
|
|
281
|
+
lst = []
|
|
282
|
+
seen = set()
|
|
283
|
+
for i in it:
|
|
284
|
+
if i in seen or i in already_seen:
|
|
285
|
+
continue
|
|
286
|
+
lst.append(i)
|
|
287
|
+
seen.add(i)
|
|
288
|
+
return lst
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
class Future(object):
|
|
292
|
+
"""Generic class to defer some work.
|
|
293
|
+
|
|
294
|
+
Handled specially in RegexLexerMeta, to support regex string construction at
|
|
295
|
+
first use.
|
|
296
|
+
"""
|
|
297
|
+
def get(self):
|
|
298
|
+
raise NotImplementedError
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
def guess_decode(text):
|
|
302
|
+
"""Decode *text* with guessed encoding.
|
|
303
|
+
|
|
304
|
+
First try UTF-8; this should fail for non-UTF-8 encodings.
|
|
305
|
+
Then try the preferred locale encoding.
|
|
306
|
+
Fall back to latin-1, which always works.
|
|
307
|
+
"""
|
|
308
|
+
try:
|
|
309
|
+
text = text.decode('utf-8')
|
|
310
|
+
return text, 'utf-8'
|
|
311
|
+
except UnicodeDecodeError:
|
|
312
|
+
try:
|
|
313
|
+
import locale
|
|
314
|
+
prefencoding = locale.getpreferredencoding()
|
|
315
|
+
text = text.decode()
|
|
316
|
+
return text, prefencoding
|
|
317
|
+
except (UnicodeDecodeError, LookupError):
|
|
318
|
+
text = text.decode('latin1')
|
|
319
|
+
return text, 'latin1'
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
def guess_decode_from_terminal(text, term):
|
|
323
|
+
"""Decode *text* coming from terminal *term*.
|
|
324
|
+
|
|
325
|
+
First try the terminal encoding, if given.
|
|
326
|
+
Then try UTF-8. Then try the preferred locale encoding.
|
|
327
|
+
Fall back to latin-1, which always works.
|
|
328
|
+
"""
|
|
329
|
+
if getattr(term, 'encoding', None):
|
|
330
|
+
try:
|
|
331
|
+
text = text.decode(term.encoding)
|
|
332
|
+
except UnicodeDecodeError:
|
|
333
|
+
pass
|
|
334
|
+
else:
|
|
335
|
+
return text, term.encoding
|
|
336
|
+
return guess_decode(text)
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
def terminal_encoding(term):
|
|
340
|
+
"""Return our best guess of encoding for the given *term*."""
|
|
341
|
+
if getattr(term, 'encoding', None):
|
|
342
|
+
return term.encoding
|
|
343
|
+
import locale
|
|
344
|
+
return locale.getpreferredencoding()
|
|
345
|
+
|
|
346
|
+
|
|
258
347
|
# Python 2/3 compatibility
|
|
259
348
|
|
|
260
349
|
if sys.version_info < (3, 0):
|
|
@@ -265,7 +354,8 @@ if sys.version_info < (3, 0):
|
|
|
265
354
|
u_prefix = 'u'
|
|
266
355
|
iteritems = dict.iteritems
|
|
267
356
|
itervalues = dict.itervalues
|
|
268
|
-
import StringIO
|
|
357
|
+
import StringIO
|
|
358
|
+
import cStringIO
|
|
269
359
|
# unfortunately, io.StringIO in Python 2 doesn't accept str at all
|
|
270
360
|
StringIO = StringIO.StringIO
|
|
271
361
|
BytesIO = cStringIO.StringIO
|
|
@@ -277,7 +367,13 @@ else:
|
|
|
277
367
|
u_prefix = ''
|
|
278
368
|
iteritems = dict.items
|
|
279
369
|
itervalues = dict.values
|
|
280
|
-
from io import StringIO, BytesIO
|
|
370
|
+
from io import StringIO, BytesIO, TextIOWrapper
|
|
371
|
+
|
|
372
|
+
class UnclosingTextIOWrapper(TextIOWrapper):
|
|
373
|
+
# Don't close underlying buffer on destruction.
|
|
374
|
+
def close(self):
|
|
375
|
+
self.flush()
|
|
376
|
+
|
|
281
377
|
|
|
282
378
|
def add_metaclass(metaclass):
|
|
283
379
|
"""Class decorator for creating a class with a metaclass."""
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
Make sure each Python file has a correct file header
|
|
8
8
|
including copyright and license information.
|
|
9
9
|
|
|
10
|
-
:copyright: Copyright 2006-
|
|
10
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
|
11
11
|
:license: BSD, see LICENSE for details.
|
|
12
12
|
"""
|
|
13
13
|
|
|
@@ -23,8 +23,10 @@ from os.path import join, splitext, abspath
|
|
|
23
23
|
|
|
24
24
|
checkers = {}
|
|
25
25
|
|
|
26
|
+
|
|
26
27
|
def checker(*suffixes, **kwds):
|
|
27
28
|
only_pkg = kwds.pop('only_pkg', False)
|
|
29
|
+
|
|
28
30
|
def deco(func):
|
|
29
31
|
for suffix in suffixes:
|
|
30
32
|
checkers.setdefault(suffix, []).append(func)
|
|
@@ -34,58 +36,42 @@ def checker(*suffixes, **kwds):
|
|
|
34
36
|
|
|
35
37
|
|
|
36
38
|
name_mail_re = r'[\w ]+(<.*?>)?'
|
|
37
|
-
copyright_re = re.compile(r'^ :copyright: Copyright 2006-
|
|
39
|
+
copyright_re = re.compile(r'^ :copyright: Copyright 2006-2015 by '
|
|
38
40
|
r'the Pygments team, see AUTHORS\.$', re.UNICODE)
|
|
39
41
|
copyright_2_re = re.compile(r'^ %s(, %s)*[,.]$' %
|
|
40
42
|
(name_mail_re, name_mail_re), re.UNICODE)
|
|
41
|
-
coding_re = re.compile(r'coding[:=]\s*([-\w.]+)')
|
|
42
|
-
not_ix_re = re.compile(r'\bnot\s+\S+?\s+i[sn]\s\S+')
|
|
43
43
|
is_const_re = re.compile(r'if.*?==\s+(None|False|True)\b')
|
|
44
44
|
|
|
45
45
|
misspellings = ["developement", "adress", "verificate", # ALLOW-MISSPELLING
|
|
46
|
-
"informations"]
|
|
46
|
+
"informations", "unlexer"] # ALLOW-MISSPELLING
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
@checker('.py')
|
|
50
50
|
def check_syntax(fn, lines):
|
|
51
|
+
if '#!/' in lines[0]:
|
|
52
|
+
lines = lines[1:]
|
|
53
|
+
if 'coding:' in lines[0]:
|
|
54
|
+
lines = lines[1:]
|
|
51
55
|
try:
|
|
52
|
-
compile(''.join(lines), fn, "exec")
|
|
56
|
+
compile('\n'.join(lines), fn, "exec")
|
|
53
57
|
except SyntaxError as err:
|
|
54
58
|
yield 0, "not compilable: %s" % err
|
|
55
59
|
|
|
56
60
|
|
|
57
61
|
@checker('.py')
|
|
58
62
|
def check_style_and_encoding(fn, lines):
|
|
59
|
-
encoding = 'ascii'
|
|
60
63
|
for lno, line in enumerate(lines):
|
|
61
|
-
if len(line) >
|
|
64
|
+
if len(line) > 110:
|
|
62
65
|
yield lno+1, "line too long"
|
|
63
|
-
m = not_ix_re.search(line)
|
|
64
|
-
if m:
|
|
65
|
-
yield lno+1, '"' + m.group() + '"'
|
|
66
66
|
if is_const_re.search(line):
|
|
67
67
|
yield lno+1, 'using == None/True/False'
|
|
68
|
-
if lno < 2:
|
|
69
|
-
co = coding_re.search(line)
|
|
70
|
-
if co:
|
|
71
|
-
encoding = co.group(1)
|
|
72
|
-
try:
|
|
73
|
-
line.decode(encoding)
|
|
74
|
-
except AttributeError:
|
|
75
|
-
# Python 3 - encoding was already checked
|
|
76
|
-
pass
|
|
77
|
-
except UnicodeDecodeError as err:
|
|
78
|
-
yield lno+1, "not decodable: %s\n Line: %r" % (err, line)
|
|
79
|
-
except LookupError as err:
|
|
80
|
-
yield 0, "unknown encoding: %s" % encoding
|
|
81
|
-
encoding = 'latin1'
|
|
82
68
|
|
|
83
69
|
|
|
84
70
|
@checker('.py', only_pkg=True)
|
|
85
71
|
def check_fileheader(fn, lines):
|
|
86
72
|
# line number correction
|
|
87
73
|
c = 1
|
|
88
|
-
if lines[0:1] == ['#!/usr/bin/env python
|
|
74
|
+
if lines[0:1] == ['#!/usr/bin/env python']:
|
|
89
75
|
lines = lines[1:]
|
|
90
76
|
c = 2
|
|
91
77
|
|
|
@@ -94,31 +80,28 @@ def check_fileheader(fn, lines):
|
|
|
94
80
|
for lno, l in enumerate(lines):
|
|
95
81
|
llist.append(l)
|
|
96
82
|
if lno == 0:
|
|
97
|
-
if l
|
|
98
|
-
# special-case pony package
|
|
99
|
-
return
|
|
100
|
-
elif l != '# -*- coding: utf-8 -*-\n':
|
|
83
|
+
if l != '# -*- coding: utf-8 -*-':
|
|
101
84
|
yield 1, "missing coding declaration"
|
|
102
85
|
elif lno == 1:
|
|
103
|
-
if l != '"""
|
|
86
|
+
if l != '"""' and l != 'r"""':
|
|
104
87
|
yield 2, 'missing docstring begin (""")'
|
|
105
88
|
else:
|
|
106
89
|
docopen = True
|
|
107
90
|
elif docopen:
|
|
108
|
-
if l == '"""
|
|
91
|
+
if l == '"""':
|
|
109
92
|
# end of docstring
|
|
110
93
|
if lno <= 4:
|
|
111
94
|
yield lno+c, "missing module name in docstring"
|
|
112
95
|
break
|
|
113
96
|
|
|
114
|
-
if l != "
|
|
97
|
+
if l != "" and l[:4] != ' ' and docopen:
|
|
115
98
|
yield lno+c, "missing correct docstring indentation"
|
|
116
99
|
|
|
117
100
|
if lno == 2:
|
|
118
101
|
# if not in package, don't check the module name
|
|
119
102
|
modname = fn[:-3].replace('/', '.').replace('.__init__', '')
|
|
120
103
|
while modname:
|
|
121
|
-
if l.lower()[4
|
|
104
|
+
if l.lower()[4:] == modname:
|
|
122
105
|
break
|
|
123
106
|
modname = '.'.join(modname.split('.')[1:])
|
|
124
107
|
else:
|
|
@@ -133,7 +116,7 @@ def check_fileheader(fn, lines):
|
|
|
133
116
|
|
|
134
117
|
# check for copyright and license fields
|
|
135
118
|
license = llist[-2:-1]
|
|
136
|
-
if license != [" :license: BSD, see LICENSE for details
|
|
119
|
+
if license != [" :license: BSD, see LICENSE for details."]:
|
|
137
120
|
yield 0, "no correct license info"
|
|
138
121
|
|
|
139
122
|
ci = -3
|
|
@@ -176,16 +159,19 @@ def main(argv):
|
|
|
176
159
|
for root, dirs, files in os.walk(path):
|
|
177
160
|
if '.hg' in dirs:
|
|
178
161
|
dirs.remove('.hg')
|
|
162
|
+
if 'examplefiles' in dirs:
|
|
163
|
+
dirs.remove('examplefiles')
|
|
179
164
|
if '-i' in opts and abspath(root) in opts['-i']:
|
|
180
165
|
del dirs[:]
|
|
181
166
|
continue
|
|
182
167
|
# XXX: awkward: for the Makefile call: don't check non-package
|
|
183
168
|
# files for file headers
|
|
184
|
-
|
|
169
|
+
in_pygments_pkg = root.startswith('./pygments')
|
|
185
170
|
for fn in files:
|
|
186
171
|
|
|
187
172
|
fn = join(root, fn)
|
|
188
|
-
if fn[:2] == './':
|
|
173
|
+
if fn[:2] == './':
|
|
174
|
+
fn = fn[2:]
|
|
189
175
|
|
|
190
176
|
if '-i' in opts and abspath(fn) in opts['-i']:
|
|
191
177
|
continue
|
|
@@ -199,15 +185,14 @@ def main(argv):
|
|
|
199
185
|
print("Checking %s..." % fn)
|
|
200
186
|
|
|
201
187
|
try:
|
|
202
|
-
|
|
203
|
-
lines = list(f)
|
|
188
|
+
lines = open(fn, 'rb').read().decode('utf-8').splitlines()
|
|
204
189
|
except (IOError, OSError) as err:
|
|
205
190
|
print("%s: cannot open: %s" % (fn, err))
|
|
206
191
|
num += 1
|
|
207
192
|
continue
|
|
208
193
|
|
|
209
194
|
for checker in checkerlist:
|
|
210
|
-
if not
|
|
195
|
+
if not in_pygments_pkg and checker.only_pkg:
|
|
211
196
|
continue
|
|
212
197
|
for lno, msg in checker(fn, lines):
|
|
213
198
|
print(u"%s:%d: %s" % (fn, lno, msg), file=out)
|