Imported Upstream version 2.7.2 upstream/2.7.2
authorJinWang An <jinwang.an@samsung.com>
Tue, 5 Jan 2021 03:24:05 +0000 (12:24 +0900)
committerJinWang An <jinwang.an@samsung.com>
Tue, 5 Jan 2021 03:24:05 +0000 (12:24 +0900)
930 files changed:
.coveragerc [deleted file]
.github/actions/pyodide-package/action.yml [deleted file]
.github/workflows/build.yaml [deleted file]
.github/workflows/docs.yaml [deleted file]
.gitignore [deleted file]
AUTHORS [changed mode: 0644->0755]
CHANGES [changed mode: 0644->0755]
Contributing.md [deleted file]
LICENSE [changed mode: 0644->0755]
MANIFEST.in [changed mode: 0644->0755]
Makefile [changed mode: 0644->0755]
PKG-INFO [changed mode: 0644->0755]
Pygments.egg-info/PKG-INFO [changed mode: 0644->0755]
Pygments.egg-info/SOURCES.txt [changed mode: 0644->0755]
Pygments.egg-info/dependency_links.txt [changed mode: 0644->0755]
Pygments.egg-info/entry_points.txt [changed mode: 0644->0755]
Pygments.egg-info/not-zip-safe [changed mode: 0644->0755]
Pygments.egg-info/top_level.txt [changed mode: 0644->0755]
README.rst [changed mode: 0644->0755]
doc/Makefile [changed mode: 0644->0755]
doc/_static/demo.css [changed mode: 0644->0755]
doc/_static/demo.js [changed mode: 0644->0755]
doc/_static/favicon.ico [changed mode: 0644->0755]
doc/_static/github.png [changed mode: 0644->0755]
doc/_static/logo_new.png [changed mode: 0644->0755]
doc/_static/logo_only.png [changed mode: 0644->0755]
doc/_static/spinner.gif [changed mode: 0644->0755]
doc/_templates/demo.html [changed mode: 0644->0755]
doc/_templates/demo_sidebar.html [changed mode: 0644->0755]
doc/_templates/docssidebar.html [changed mode: 0644->0755]
doc/_templates/index_with_try.html [changed mode: 0644->0755]
doc/_templates/indexsidebar.html [changed mode: 0644->0755]
doc/_themes/pygments14/layout.html [changed mode: 0644->0755]
doc/_themes/pygments14/static/bodybg.png [changed mode: 0644->0755]
doc/_themes/pygments14/static/docbg.png [changed mode: 0644->0755]
doc/_themes/pygments14/static/listitem.png [changed mode: 0644->0755]
doc/_themes/pygments14/static/logo.png [changed mode: 0644->0755]
doc/_themes/pygments14/static/pocoo.png [changed mode: 0644->0755]
doc/_themes/pygments14/static/pygments14.css_t [changed mode: 0644->0755]
doc/_themes/pygments14/theme.conf [changed mode: 0644->0755]
doc/conf.py [changed mode: 0644->0755]
doc/docs/api.rst [changed mode: 0644->0755]
doc/docs/authors.rst [changed mode: 0644->0755]
doc/docs/changelog.rst [changed mode: 0644->0755]
doc/docs/cmdline.rst [changed mode: 0644->0755]
doc/docs/filterdevelopment.rst [changed mode: 0644->0755]
doc/docs/filters.rst [changed mode: 0644->0755]
doc/docs/formatterdevelopment.rst [changed mode: 0644->0755]
doc/docs/formatters.rst [changed mode: 0644->0755]
doc/docs/index.rst [changed mode: 0644->0755]
doc/docs/integrate.rst [changed mode: 0644->0755]
doc/docs/java.rst [changed mode: 0644->0755]
doc/docs/lexerdevelopment.rst [changed mode: 0644->0755]
doc/docs/lexers.rst [changed mode: 0644->0755]
doc/docs/moinmoin.rst [changed mode: 0644->0755]
doc/docs/plugins.rst [changed mode: 0644->0755]
doc/docs/quickstart.rst [changed mode: 0644->0755]
doc/docs/rstdirective.rst [changed mode: 0644->0755]
doc/docs/styles.rst [changed mode: 0644->0755]
doc/docs/tokens.rst [changed mode: 0644->0755]
doc/docs/unicode.rst [changed mode: 0644->0755]
doc/download.rst [changed mode: 0644->0755]
doc/faq.rst [changed mode: 0644->0755]
doc/index.rst [changed mode: 0644->0755]
doc/languages.rst [changed mode: 0644->0755]
doc/make.bat [changed mode: 0644->0755]
doc/pygmentize.1 [changed mode: 0644->0755]
external/markdown-processor.py [changed mode: 0644->0755]
external/moin-parser.py [changed mode: 0644->0755]
external/pygments.bashcomp [changed mode: 0644->0755]
external/rst-directive.py [changed mode: 0644->0755]
pygments/__init__.py [changed mode: 0644->0755]
pygments/__main__.py [changed mode: 0644->0755]
pygments/cmdline.py [changed mode: 0644->0755]
pygments/console.py [changed mode: 0644->0755]
pygments/filter.py [changed mode: 0644->0755]
pygments/filters/__init__.py [changed mode: 0644->0755]
pygments/formatter.py [changed mode: 0644->0755]
pygments/formatters/__init__.py [changed mode: 0644->0755]
pygments/formatters/bbcode.py [changed mode: 0644->0755]
pygments/formatters/html.py [changed mode: 0644->0755]
pygments/formatters/img.py [changed mode: 0644->0755]
pygments/formatters/irc.py [changed mode: 0644->0755]
pygments/formatters/latex.py [changed mode: 0644->0755]
pygments/formatters/other.py [changed mode: 0644->0755]
pygments/formatters/rtf.py [changed mode: 0644->0755]
pygments/formatters/svg.py [changed mode: 0644->0755]
pygments/formatters/terminal.py [changed mode: 0644->0755]
pygments/formatters/terminal256.py [changed mode: 0644->0755]
pygments/lexer.py [changed mode: 0644->0755]
pygments/lexers/__init__.py [changed mode: 0644->0755]
pygments/lexers/_asy_builtins.py [changed mode: 0644->0755]
pygments/lexers/_cl_builtins.py [changed mode: 0644->0755]
pygments/lexers/_cocoa_builtins.py [changed mode: 0644->0755]
pygments/lexers/_csound_builtins.py [changed mode: 0644->0755]
pygments/lexers/_lasso_builtins.py [changed mode: 0644->0755]
pygments/lexers/_lua_builtins.py [changed mode: 0644->0755]
pygments/lexers/_mapping.py [changed mode: 0644->0755]
pygments/lexers/_mql_builtins.py [changed mode: 0644->0755]
pygments/lexers/_mysql_builtins.py [changed mode: 0644->0755]
pygments/lexers/_openedge_builtins.py [changed mode: 0644->0755]
pygments/lexers/_php_builtins.py [changed mode: 0644->0755]
pygments/lexers/_postgres_builtins.py [changed mode: 0644->0755]
pygments/lexers/_scilab_builtins.py [changed mode: 0644->0755]
pygments/lexers/_sourcemod_builtins.py [changed mode: 0644->0755]
pygments/lexers/_stan_builtins.py [changed mode: 0644->0755]
pygments/lexers/_stata_builtins.py [changed mode: 0644->0755]
pygments/lexers/_tsql_builtins.py [changed mode: 0644->0755]
pygments/lexers/_usd_builtins.py [changed mode: 0644->0755]
pygments/lexers/_vbscript_builtins.py [changed mode: 0644->0755]
pygments/lexers/_vim_builtins.py [changed mode: 0644->0755]
pygments/lexers/actionscript.py [changed mode: 0644->0755]
pygments/lexers/agile.py [changed mode: 0644->0755]
pygments/lexers/algebra.py [changed mode: 0644->0755]
pygments/lexers/ambient.py [changed mode: 0644->0755]
pygments/lexers/ampl.py [changed mode: 0644->0755]
pygments/lexers/apl.py [changed mode: 0644->0755]
pygments/lexers/archetype.py [changed mode: 0644->0755]
pygments/lexers/arrow.py [changed mode: 0644->0755]
pygments/lexers/asm.py [changed mode: 0644->0755]
pygments/lexers/automation.py [changed mode: 0644->0755]
pygments/lexers/bare.py [changed mode: 0644->0755]
pygments/lexers/basic.py [changed mode: 0644->0755]
pygments/lexers/bibtex.py [changed mode: 0644->0755]
pygments/lexers/boa.py [changed mode: 0644->0755]
pygments/lexers/business.py [changed mode: 0644->0755]
pygments/lexers/c_cpp.py [changed mode: 0644->0755]
pygments/lexers/c_like.py [changed mode: 0644->0755]
pygments/lexers/capnproto.py [changed mode: 0644->0755]
pygments/lexers/chapel.py [changed mode: 0644->0755]
pygments/lexers/clean.py [changed mode: 0644->0755]
pygments/lexers/compiled.py [changed mode: 0644->0755]
pygments/lexers/configs.py [changed mode: 0644->0755]
pygments/lexers/console.py [changed mode: 0644->0755]
pygments/lexers/crystal.py [changed mode: 0644->0755]
pygments/lexers/csound.py [changed mode: 0644->0755]
pygments/lexers/css.py [changed mode: 0644->0755]
pygments/lexers/d.py [changed mode: 0644->0755]
pygments/lexers/dalvik.py [changed mode: 0644->0755]
pygments/lexers/data.py [changed mode: 0644->0755]
pygments/lexers/devicetree.py [changed mode: 0644->0755]
pygments/lexers/diff.py [changed mode: 0644->0755]
pygments/lexers/dotnet.py [changed mode: 0644->0755]
pygments/lexers/dsls.py [changed mode: 0644->0755]
pygments/lexers/dylan.py [changed mode: 0644->0755]
pygments/lexers/ecl.py [changed mode: 0644->0755]
pygments/lexers/eiffel.py [changed mode: 0644->0755]
pygments/lexers/elm.py [changed mode: 0644->0755]
pygments/lexers/email.py [changed mode: 0644->0755]
pygments/lexers/erlang.py [changed mode: 0644->0755]
pygments/lexers/esoteric.py [changed mode: 0644->0755]
pygments/lexers/ezhil.py [changed mode: 0644->0755]
pygments/lexers/factor.py [changed mode: 0644->0755]
pygments/lexers/fantom.py [changed mode: 0644->0755]
pygments/lexers/felix.py [changed mode: 0644->0755]
pygments/lexers/floscript.py [changed mode: 0644->0755]
pygments/lexers/forth.py [changed mode: 0644->0755]
pygments/lexers/fortran.py [changed mode: 0644->0755]
pygments/lexers/foxpro.py [changed mode: 0644->0755]
pygments/lexers/freefem.py [changed mode: 0644->0755]
pygments/lexers/functional.py [changed mode: 0644->0755]
pygments/lexers/gdscript.py [changed mode: 0644->0755]
pygments/lexers/go.py [changed mode: 0644->0755]
pygments/lexers/grammar_notation.py [changed mode: 0644->0755]
pygments/lexers/graph.py [changed mode: 0644->0755]
pygments/lexers/graphics.py [changed mode: 0644->0755]
pygments/lexers/haskell.py [changed mode: 0644->0755]
pygments/lexers/haxe.py [changed mode: 0644->0755]
pygments/lexers/hdl.py [changed mode: 0644->0755]
pygments/lexers/hexdump.py [changed mode: 0644->0755]
pygments/lexers/html.py [changed mode: 0644->0755]
pygments/lexers/idl.py [changed mode: 0644->0755]
pygments/lexers/igor.py [changed mode: 0644->0755]
pygments/lexers/inferno.py [changed mode: 0644->0755]
pygments/lexers/installers.py [changed mode: 0644->0755]
pygments/lexers/int_fiction.py [changed mode: 0644->0755]
pygments/lexers/iolang.py [changed mode: 0644->0755]
pygments/lexers/j.py [changed mode: 0644->0755]
pygments/lexers/javascript.py [changed mode: 0644->0755]
pygments/lexers/julia.py [changed mode: 0644->0755]
pygments/lexers/jvm.py [changed mode: 0644->0755]
pygments/lexers/lisp.py [changed mode: 0644->0755]
pygments/lexers/make.py [changed mode: 0644->0755]
pygments/lexers/markup.py [changed mode: 0644->0755]
pygments/lexers/math.py [changed mode: 0644->0755]
pygments/lexers/matlab.py [changed mode: 0644->0755]
pygments/lexers/mime.py [changed mode: 0644->0755]
pygments/lexers/ml.py [changed mode: 0644->0755]
pygments/lexers/modeling.py [changed mode: 0644->0755]
pygments/lexers/modula2.py [changed mode: 0644->0755]
pygments/lexers/monte.py [changed mode: 0644->0755]
pygments/lexers/mosel.py [changed mode: 0644->0755]
pygments/lexers/ncl.py [changed mode: 0644->0755]
pygments/lexers/nimrod.py [changed mode: 0644->0755]
pygments/lexers/nit.py [changed mode: 0644->0755]
pygments/lexers/nix.py [changed mode: 0644->0755]
pygments/lexers/oberon.py [changed mode: 0644->0755]
pygments/lexers/objective.py [changed mode: 0644->0755]
pygments/lexers/ooc.py [changed mode: 0644->0755]
pygments/lexers/other.py [changed mode: 0644->0755]
pygments/lexers/parasail.py [changed mode: 0644->0755]
pygments/lexers/parsers.py [changed mode: 0644->0755]
pygments/lexers/pascal.py [changed mode: 0644->0755]
pygments/lexers/pawn.py [changed mode: 0644->0755]
pygments/lexers/perl.py [changed mode: 0644->0755]
pygments/lexers/php.py [changed mode: 0644->0755]
pygments/lexers/pointless.py [changed mode: 0644->0755]
pygments/lexers/pony.py [changed mode: 0644->0755]
pygments/lexers/praat.py [changed mode: 0644->0755]
pygments/lexers/prolog.py [changed mode: 0644->0755]
pygments/lexers/promql.py [changed mode: 0644->0755]
pygments/lexers/python.py [changed mode: 0644->0755]
pygments/lexers/qvt.py [changed mode: 0644->0755]
pygments/lexers/r.py [changed mode: 0644->0755]
pygments/lexers/rdf.py [changed mode: 0644->0755]
pygments/lexers/rebol.py [changed mode: 0644->0755]
pygments/lexers/resource.py [changed mode: 0644->0755]
pygments/lexers/ride.py [changed mode: 0644->0755]
pygments/lexers/rnc.py [changed mode: 0644->0755]
pygments/lexers/roboconf.py [changed mode: 0644->0755]
pygments/lexers/robotframework.py [changed mode: 0644->0755]
pygments/lexers/ruby.py [changed mode: 0644->0755]
pygments/lexers/rust.py [changed mode: 0644->0755]
pygments/lexers/sas.py [changed mode: 0644->0755]
pygments/lexers/scdoc.py [changed mode: 0644->0755]
pygments/lexers/scripting.py [changed mode: 0644->0755]
pygments/lexers/sgf.py [changed mode: 0644->0755]
pygments/lexers/shell.py [changed mode: 0644->0755]
pygments/lexers/sieve.py [changed mode: 0644->0755]
pygments/lexers/slash.py [changed mode: 0644->0755]
pygments/lexers/smalltalk.py [changed mode: 0644->0755]
pygments/lexers/smv.py [changed mode: 0644->0755]
pygments/lexers/snobol.py [changed mode: 0644->0755]
pygments/lexers/solidity.py [changed mode: 0644->0755]
pygments/lexers/special.py [changed mode: 0644->0755]
pygments/lexers/sql.py [changed mode: 0644->0755]
pygments/lexers/stata.py [changed mode: 0644->0755]
pygments/lexers/supercollider.py [changed mode: 0644->0755]
pygments/lexers/tcl.py [changed mode: 0644->0755]
pygments/lexers/templates.py [changed mode: 0644->0755]
pygments/lexers/teraterm.py [changed mode: 0644->0755]
pygments/lexers/testing.py [changed mode: 0644->0755]
pygments/lexers/text.py [changed mode: 0644->0755]
pygments/lexers/textedit.py [changed mode: 0644->0755]
pygments/lexers/textfmts.py [changed mode: 0644->0755]
pygments/lexers/theorem.py [changed mode: 0644->0755]
pygments/lexers/tnt.py [changed mode: 0644->0755]
pygments/lexers/trafficscript.py [changed mode: 0644->0755]
pygments/lexers/typoscript.py [changed mode: 0644->0755]
pygments/lexers/unicon.py [changed mode: 0644->0755]
pygments/lexers/urbi.py [changed mode: 0644->0755]
pygments/lexers/usd.py [changed mode: 0644->0755]
pygments/lexers/varnish.py [changed mode: 0644->0755]
pygments/lexers/verification.py [changed mode: 0644->0755]
pygments/lexers/web.py [changed mode: 0644->0755]
pygments/lexers/webidl.py [changed mode: 0644->0755]
pygments/lexers/webmisc.py [changed mode: 0644->0755]
pygments/lexers/whiley.py [changed mode: 0644->0755]
pygments/lexers/x10.py [changed mode: 0644->0755]
pygments/lexers/xorg.py [changed mode: 0644->0755]
pygments/lexers/yang.py [changed mode: 0644->0755]
pygments/lexers/zig.py [changed mode: 0644->0755]
pygments/modeline.py [changed mode: 0644->0755]
pygments/plugin.py [changed mode: 0644->0755]
pygments/regexopt.py [changed mode: 0644->0755]
pygments/scanner.py [changed mode: 0644->0755]
pygments/sphinxext.py [changed mode: 0644->0755]
pygments/style.py [changed mode: 0644->0755]
pygments/styles/__init__.py [changed mode: 0644->0755]
pygments/styles/abap.py [changed mode: 0644->0755]
pygments/styles/algol.py [changed mode: 0644->0755]
pygments/styles/algol_nu.py [changed mode: 0644->0755]
pygments/styles/arduino.py [changed mode: 0644->0755]
pygments/styles/autumn.py [changed mode: 0644->0755]
pygments/styles/borland.py [changed mode: 0644->0755]
pygments/styles/bw.py [changed mode: 0644->0755]
pygments/styles/colorful.py [changed mode: 0644->0755]
pygments/styles/default.py [changed mode: 0644->0755]
pygments/styles/emacs.py [changed mode: 0644->0755]
pygments/styles/friendly.py [changed mode: 0644->0755]
pygments/styles/fruity.py [changed mode: 0644->0755]
pygments/styles/igor.py [changed mode: 0644->0755]
pygments/styles/inkpot.py [changed mode: 0644->0755]
pygments/styles/lovelace.py [changed mode: 0644->0755]
pygments/styles/manni.py [changed mode: 0644->0755]
pygments/styles/monokai.py [changed mode: 0644->0755]
pygments/styles/murphy.py [changed mode: 0644->0755]
pygments/styles/native.py [changed mode: 0644->0755]
pygments/styles/paraiso_dark.py [changed mode: 0644->0755]
pygments/styles/paraiso_light.py [changed mode: 0644->0755]
pygments/styles/pastie.py [changed mode: 0644->0755]
pygments/styles/perldoc.py [changed mode: 0644->0755]
pygments/styles/rainbow_dash.py [changed mode: 0644->0755]
pygments/styles/rrt.py [changed mode: 0644->0755]
pygments/styles/sas.py [changed mode: 0644->0755]
pygments/styles/solarized.py [changed mode: 0644->0755]
pygments/styles/stata_dark.py [changed mode: 0644->0755]
pygments/styles/stata_light.py [changed mode: 0644->0755]
pygments/styles/tango.py [changed mode: 0644->0755]
pygments/styles/trac.py [changed mode: 0644->0755]
pygments/styles/vim.py [changed mode: 0644->0755]
pygments/styles/vs.py [changed mode: 0644->0755]
pygments/styles/xcode.py [changed mode: 0644->0755]
pygments/token.py [changed mode: 0644->0755]
pygments/unistring.py [changed mode: 0644->0755]
pygments/util.py [changed mode: 0644->0755]
pytest.ini [deleted file]
requirements.txt [deleted file]
scripts/check_crlf.py [new file with mode: 0755]
scripts/detect_missing_analyse_text.py [changed mode: 0644->0755]
scripts/epydoc.css [changed mode: 0644->0755]
scripts/find_error.py [deleted file]
scripts/get_vimkw.py [changed mode: 0644->0755]
scripts/pylintrc [changed mode: 0644->0755]
scripts/release-checklist [changed mode: 0644->0755]
setup.cfg [changed mode: 0644->0755]
setup.py
tests/__init__.py [changed mode: 0644->0755]
tests/dtds/HTML4-f.dtd [changed mode: 0644->0755]
tests/dtds/HTML4-s.dtd [changed mode: 0644->0755]
tests/dtds/HTML4.dcl [changed mode: 0644->0755]
tests/dtds/HTML4.dtd [changed mode: 0644->0755]
tests/dtds/HTML4.soc [changed mode: 0644->0755]
tests/dtds/HTMLlat1.ent [changed mode: 0644->0755]
tests/dtds/HTMLspec.ent [changed mode: 0644->0755]
tests/dtds/HTMLsym.ent [changed mode: 0644->0755]
tests/examplefiles/99_bottles_of_beer.chpl [changed mode: 0644->0755]
tests/examplefiles/AcidStateAdvanced.hs [changed mode: 0644->0755]
tests/examplefiles/AlternatingGroup.mu [changed mode: 0644->0755]
tests/examplefiles/BOM.js [changed mode: 0644->0755]
tests/examplefiles/Blink.ino [changed mode: 0644->0755]
tests/examplefiles/CPDictionary.j [changed mode: 0644->0755]
tests/examplefiles/Charmci.ci [changed mode: 0644->0755]
tests/examplefiles/Config.in.cache [changed mode: 0644->0755]
tests/examplefiles/Constants.mo [changed mode: 0644->0755]
tests/examplefiles/DancingSudoku.lhs [changed mode: 0644->0755]
tests/examplefiles/Deflate.fs [changed mode: 0644->0755]
tests/examplefiles/Error.pmod [changed mode: 0644->0755]
tests/examplefiles/Errors.scala [changed mode: 0644->0755]
tests/examplefiles/FakeFile.pike [changed mode: 0644->0755]
tests/examplefiles/Get-CommandDefinitionHtml.ps1 [changed mode: 0644->0755]
tests/examplefiles/IPDispatchC.nc [changed mode: 0644->0755]
tests/examplefiles/IPDispatchP.nc [changed mode: 0644->0755]
tests/examplefiles/Intro.java [changed mode: 0644->0755]
tests/examplefiles/MIME_example.eml [changed mode: 0644->0755]
tests/examplefiles/Makefile [changed mode: 0644->0755]
tests/examplefiles/Object.st [changed mode: 0644->0755]
tests/examplefiles/OrderedMap.hx [changed mode: 0644->0755]
tests/examplefiles/RoleQ.pm6 [changed mode: 0644->0755]
tests/examplefiles/Singularity [changed mode: 0644->0755]
tests/examplefiles/SmallCheck.hs [changed mode: 0644->0755]
tests/examplefiles/Sorting.mod [changed mode: 0644->0755]
tests/examplefiles/StdGeneric.icl [changed mode: 0644->0755]
tests/examplefiles/Sudoku.lhs [changed mode: 0644->0755]
tests/examplefiles/TiddlyWiki5.tid [changed mode: 0644->0755]
tests/examplefiles/abnf_example1.abnf [changed mode: 0644->0755]
tests/examplefiles/abnf_example2.abnf [changed mode: 0644->0755]
tests/examplefiles/addressbook.proto [changed mode: 0644->0755]
tests/examplefiles/ahcon.f [changed mode: 0644->0755]
tests/examplefiles/all.nit [changed mode: 0644->0755]
tests/examplefiles/antlr_ANTLRv3.g [changed mode: 0644->0755]
tests/examplefiles/antlr_throws [changed mode: 0644->0755]
tests/examplefiles/apache2.conf [changed mode: 0644->0755]
tests/examplefiles/as3_test.as [changed mode: 0644->0755]
tests/examplefiles/as3_test2.as [changed mode: 0644->0755]
tests/examplefiles/as3_test3.as [changed mode: 0644->0755]
tests/examplefiles/aspx-cs_example [changed mode: 0644->0755]
tests/examplefiles/auction.ride [changed mode: 0644->0755]
tests/examplefiles/autoit_submit.au3 [changed mode: 0644->0755]
tests/examplefiles/automake.mk [changed mode: 0644->0755]
tests/examplefiles/badcase.java [changed mode: 0644->0755]
tests/examplefiles/bare.bare [changed mode: 0644->0755]
tests/examplefiles/bigtest.nsi [changed mode: 0644->0755]
tests/examplefiles/bnf_example1.bnf [changed mode: 0644->0755]
tests/examplefiles/boot-9.scm [changed mode: 0644->0755]
tests/examplefiles/ca65_example [changed mode: 0644->0755]
tests/examplefiles/capdl_example.cdl [changed mode: 0644->0755]
tests/examplefiles/cbmbas_example [changed mode: 0644->0755]
tests/examplefiles/cells.ps [changed mode: 0644->0755]
tests/examplefiles/ceval.c [changed mode: 0644->0755]
tests/examplefiles/char.scala [changed mode: 0644->0755]
tests/examplefiles/cheetah_example.html [changed mode: 0644->0755]
tests/examplefiles/classes.dylan [changed mode: 0644->0755]
tests/examplefiles/clojure-weird-keywords.clj [changed mode: 0644->0755]
tests/examplefiles/condensed_ruby.rb [changed mode: 0644->0755]
tests/examplefiles/coq_RelationClasses [changed mode: 0644->0755]
tests/examplefiles/core.cljs [changed mode: 0644->0755]
tests/examplefiles/database.pytb [changed mode: 0644->0755]
tests/examplefiles/de.MoinMoin.po [changed mode: 0644->0755]
tests/examplefiles/demo.ahk [changed mode: 0644->0755]
tests/examplefiles/demo.cfm [changed mode: 0644->0755]
tests/examplefiles/demo.css.in [changed mode: 0644->0755]
tests/examplefiles/demo.frt [changed mode: 0644->0755]
tests/examplefiles/demo.hbs [changed mode: 0644->0755]
tests/examplefiles/demo.js.in [changed mode: 0644->0755]
tests/examplefiles/demo.thrift [changed mode: 0644->0755]
tests/examplefiles/demo.xul.in [changed mode: 0644->0755]
tests/examplefiles/django_sample.html+django [changed mode: 0644->0755]
tests/examplefiles/docker.docker [changed mode: 0644->0755]
tests/examplefiles/durexmania.aheui [changed mode: 0644->0755]
tests/examplefiles/dwarf.cw [changed mode: 0644->0755]
tests/examplefiles/eg_example1.eg [changed mode: 0644->0755]
tests/examplefiles/ember.handlebars [changed mode: 0644->0755]
tests/examplefiles/erl_session [changed mode: 0644->0755]
tests/examplefiles/es6.js [changed mode: 0644->0755]
tests/examplefiles/escape_semicolon.clj [changed mode: 0644->0755]
tests/examplefiles/eval.rs [changed mode: 0644->0755]
tests/examplefiles/evil_regex.js [changed mode: 0644->0755]
tests/examplefiles/example.Rd [changed mode: 0644->0755]
tests/examplefiles/example.als [changed mode: 0644->0755]
tests/examplefiles/example.bat [changed mode: 0644->0755]
tests/examplefiles/example.bbc [changed mode: 0644->0755]
tests/examplefiles/example.bc [changed mode: 0644->0755]
tests/examplefiles/example.boa [changed mode: 0644->0755]
tests/examplefiles/example.bug [changed mode: 0644->0755]
tests/examplefiles/example.c [changed mode: 0644->0755]
tests/examplefiles/example.ceylon [changed mode: 0644->0755]
tests/examplefiles/example.chai [changed mode: 0644->0755]
tests/examplefiles/example.clay [changed mode: 0644->0755]
tests/examplefiles/example.cls [changed mode: 0644->0755]
tests/examplefiles/example.cob [changed mode: 0644->0755]
tests/examplefiles/example.coffee [changed mode: 0644->0755]
tests/examplefiles/example.cpp [changed mode: 0644->0755]
tests/examplefiles/example.dmesg [changed mode: 0644->0755]
tests/examplefiles/example.dts [changed mode: 0644->0755]
tests/examplefiles/example.e [changed mode: 0644->0755]
tests/examplefiles/example.elm [changed mode: 0644->0755]
tests/examplefiles/example.eml [changed mode: 0644->0755]
tests/examplefiles/example.exec [changed mode: 0644->0755]
tests/examplefiles/example.ezt [changed mode: 0644->0755]
tests/examplefiles/example.f90 [changed mode: 0644->0755]
tests/examplefiles/example.feature [changed mode: 0644->0755]
tests/examplefiles/example.fish [changed mode: 0644->0755]
tests/examplefiles/example.flo [changed mode: 0644->0755]
tests/examplefiles/example.fst [changed mode: 0644->0755]
tests/examplefiles/example.gd [changed mode: 0644->0755]
tests/examplefiles/example.gi [changed mode: 0644->0755]
tests/examplefiles/example.golo [changed mode: 0644->0755]
tests/examplefiles/example.groovy [changed mode: 0644->0755]
tests/examplefiles/example.gs [changed mode: 0644->0755]
tests/examplefiles/example.gst [changed mode: 0644->0755]
tests/examplefiles/example.hlsl [changed mode: 0644->0755]
tests/examplefiles/example.hs [changed mode: 0644->0755]
tests/examplefiles/example.hx [changed mode: 0644->0755]
tests/examplefiles/example.i6t [changed mode: 0644->0755]
tests/examplefiles/example.i7x [changed mode: 0644->0755]
tests/examplefiles/example.icn [changed mode: 0644->0755]
tests/examplefiles/example.icon [changed mode: 0644->0755]
tests/examplefiles/example.j [changed mode: 0644->0755]
tests/examplefiles/example.jag [changed mode: 0644->0755]
tests/examplefiles/example.java [changed mode: 0644->0755]
tests/examplefiles/example.jcl [changed mode: 0644->0755]
tests/examplefiles/example.jsgf [changed mode: 0644->0755]
tests/examplefiles/example.jsonld [changed mode: 0644->0755]
tests/examplefiles/example.juttle [changed mode: 0644->0755]
tests/examplefiles/example.kal [changed mode: 0644->0755]
tests/examplefiles/example.kt [changed mode: 0644->0755]
tests/examplefiles/example.lagda [changed mode: 0644->0755]
tests/examplefiles/example.liquid [changed mode: 0644->0755]
tests/examplefiles/example.lua [changed mode: 0644->0755]
tests/examplefiles/example.ma [changed mode: 0644->0755]
tests/examplefiles/example.mac [changed mode: 0644->0755]
tests/examplefiles/example.md [changed mode: 0644->0755]
tests/examplefiles/example.monkey [changed mode: 0644->0755]
tests/examplefiles/example.moo [changed mode: 0644->0755]
tests/examplefiles/example.moon [changed mode: 0644->0755]
tests/examplefiles/example.mq4 [changed mode: 0644->0755]
tests/examplefiles/example.mqh [changed mode: 0644->0755]
tests/examplefiles/example.ms [changed mode: 0644->0755]
tests/examplefiles/example.msc [changed mode: 0644->0755]
tests/examplefiles/example.ng2 [changed mode: 0644->0755]
tests/examplefiles/example.ni [changed mode: 0644->0755]
tests/examplefiles/example.nim [changed mode: 0644->0755]
tests/examplefiles/example.nix [changed mode: 0644->0755]
tests/examplefiles/example.ns2 [changed mode: 0644->0755]
tests/examplefiles/example.pas [changed mode: 0644->0755]
tests/examplefiles/example.pcmk [changed mode: 0644->0755]
tests/examplefiles/example.pony [changed mode: 0644->0755]
tests/examplefiles/example.pp [changed mode: 0644->0755]
tests/examplefiles/example.praat [changed mode: 0644->0755]
tests/examplefiles/example.prg [changed mode: 0644->0755]
tests/examplefiles/example.promql [changed mode: 0644->0755]
tests/examplefiles/example.ptls [changed mode: 0644->0755]
tests/examplefiles/example.rb [changed mode: 0644->0755]
tests/examplefiles/example.red [changed mode: 0644->0755]
tests/examplefiles/example.reds [changed mode: 0644->0755]
tests/examplefiles/example.reg [changed mode: 0644->0755]
tests/examplefiles/example.rexx [changed mode: 0644->0755]
tests/examplefiles/example.rhtml [changed mode: 0644->0755]
tests/examplefiles/example.rkt [changed mode: 0644->0755]
tests/examplefiles/example.rpf [changed mode: 0644->0755]
tests/examplefiles/example.rts [changed mode: 0644->0755]
tests/examplefiles/example.sbl [changed mode: 0644->0755]
tests/examplefiles/example.scd [changed mode: 0644->0755]
tests/examplefiles/example.sgf [changed mode: 0644->0755]
tests/examplefiles/example.sh [changed mode: 0644->0755]
tests/examplefiles/example.sh-session [changed mode: 0644->0755]
tests/examplefiles/example.shell-session [changed mode: 0644->0755]
tests/examplefiles/example.shex [changed mode: 0644->0755]
tests/examplefiles/example.sieve [changed mode: 0644->0755]
tests/examplefiles/example.sl [changed mode: 0644->0755]
tests/examplefiles/example.slim [changed mode: 0644->0755]
tests/examplefiles/example.sls [changed mode: 0644->0755]
tests/examplefiles/example.sml [changed mode: 0644->0755]
tests/examplefiles/example.snobol [changed mode: 0644->0755]
tests/examplefiles/example.stan [changed mode: 0644->0755]
tests/examplefiles/example.tap [changed mode: 0644->0755]
tests/examplefiles/example.tasm [changed mode: 0644->0755]
tests/examplefiles/example.tea [changed mode: 0644->0755]
tests/examplefiles/example.tf [changed mode: 0644->0755]
tests/examplefiles/example.thy [changed mode: 0644->0755]
tests/examplefiles/example.tnt [changed mode: 0644->0755]
tests/examplefiles/example.todotxt [changed mode: 0644->0755]
tests/examplefiles/example.toml [changed mode: 0644->0755]
tests/examplefiles/example.ttl [changed mode: 0644->0755]
tests/examplefiles/example.u [changed mode: 0644->0755]
tests/examplefiles/example.u1 [changed mode: 0644->0755]
tests/examplefiles/example.usd [changed mode: 0644->0755]
tests/examplefiles/example.vbs [changed mode: 0644->0755]
tests/examplefiles/example.webidl [changed mode: 0644->0755]
tests/examplefiles/example.weechatlog [changed mode: 0644->0755]
tests/examplefiles/example.whiley [changed mode: 0644->0755]
tests/examplefiles/example.x10 [changed mode: 0644->0755]
tests/examplefiles/example.xhtml [changed mode: 0644->0755]
tests/examplefiles/example.xtend [changed mode: 0644->0755]
tests/examplefiles/example.xtm [changed mode: 0644->0755]
tests/examplefiles/example.yaml [changed mode: 0644->0755]
tests/examplefiles/example.zig [changed mode: 0644->0755]
tests/examplefiles/example1.cadl [changed mode: 0644->0755]
tests/examplefiles/example2.aspx [changed mode: 0644->0755]
tests/examplefiles/example2.cpp [changed mode: 0644->0755]
tests/examplefiles/example2.msc [changed mode: 0644->0755]
tests/examplefiles/exampleScript.cfc [changed mode: 0644->0755]
tests/examplefiles/exampleTag.cfc [changed mode: 0644->0755]
tests/examplefiles/example_coq.v [changed mode: 0644->0755]
tests/examplefiles/example_elixir.ex [changed mode: 0644->0755]
tests/examplefiles/example_file.fy [changed mode: 0644->0755]
tests/examplefiles/ezhil_primefactors.n [changed mode: 0644->0755]
tests/examplefiles/fennelview.fnl [changed mode: 0644->0755]
tests/examplefiles/fibonacci.tokigun.aheui [changed mode: 0644->0755]
tests/examplefiles/firefox.mak [changed mode: 0644->0755]
tests/examplefiles/flatline_example [changed mode: 0644->0755]
tests/examplefiles/flipflop.sv [changed mode: 0644->0755]
tests/examplefiles/foo.sce [changed mode: 0644->0755]
tests/examplefiles/format.ml [changed mode: 0644->0755]
tests/examplefiles/freefem.edp [changed mode: 0644->0755]
tests/examplefiles/fucked_up.rb [changed mode: 0644->0755]
tests/examplefiles/function.mu [changed mode: 0644->0755]
tests/examplefiles/functional.rst [changed mode: 0644->0755]
tests/examplefiles/garcia-wachs.kk [changed mode: 0644->0755]
tests/examplefiles/gdscript_example.gd [changed mode: 0644->0755]
tests/examplefiles/genclass.clj [changed mode: 0644->0755]
tests/examplefiles/genshi_example.xml+genshi [changed mode: 0644->0755]
tests/examplefiles/genshitext_example.genshitext [changed mode: 0644->0755]
tests/examplefiles/glsl.frag [changed mode: 0644->0755]
tests/examplefiles/glsl.vert [changed mode: 0644->0755]
tests/examplefiles/grammar-test.p6 [changed mode: 0644->0755]
tests/examplefiles/guidance.smv [changed mode: 0644->0755]
tests/examplefiles/hash_syntax.rb [changed mode: 0644->0755]
tests/examplefiles/hello-world.puzzlet.aheui [changed mode: 0644->0755]
tests/examplefiles/hello.at [changed mode: 0644->0755]
tests/examplefiles/hello.golo [changed mode: 0644->0755]
tests/examplefiles/hello.lsl [changed mode: 0644->0755]
tests/examplefiles/hello.smali [changed mode: 0644->0755]
tests/examplefiles/hello.sp [changed mode: 0644->0755]
tests/examplefiles/hexdump_debugexe [changed mode: 0644->0755]
tests/examplefiles/hexdump_hd [changed mode: 0644->0755]
tests/examplefiles/hexdump_hexcat [changed mode: 0644->0755]
tests/examplefiles/hexdump_hexdump [changed mode: 0644->0755]
tests/examplefiles/hexdump_od [changed mode: 0644->0755]
tests/examplefiles/hexdump_xxd [changed mode: 0644->0755]
tests/examplefiles/html+php_faulty.php [changed mode: 0644->0755]
tests/examplefiles/http_request_example [changed mode: 0644->0755]
tests/examplefiles/http_response_example [changed mode: 0644->0755]
tests/examplefiles/hybris_File.hy [changed mode: 0644->0755]
tests/examplefiles/idl_sample.pro [changed mode: 0644->0755]
tests/examplefiles/iex_example [changed mode: 0644->0755]
tests/examplefiles/inet_pton6.dg [changed mode: 0644->0755]
tests/examplefiles/inform6_example [changed mode: 0644->0755]
tests/examplefiles/interp.scala [changed mode: 0644->0755]
tests/examplefiles/intro.ik [changed mode: 0644->0755]
tests/examplefiles/ints.php [changed mode: 0644->0755]
tests/examplefiles/intsyn.fun [changed mode: 0644->0755]
tests/examplefiles/intsyn.sig [changed mode: 0644->0755]
tests/examplefiles/irb_heredoc [changed mode: 0644->0755]
tests/examplefiles/irc.lsp [changed mode: 0644->0755]
tests/examplefiles/java.properties [changed mode: 0644->0755]
tests/examplefiles/jbst_example1.jbst [changed mode: 0644->0755]
tests/examplefiles/jbst_example2.jbst [changed mode: 0644->0755]
tests/examplefiles/jinjadesignerdoc.rst [changed mode: 0644->0755]
tests/examplefiles/json.lasso [changed mode: 0644->0755]
tests/examplefiles/json.lasso9 [changed mode: 0644->0755]
tests/examplefiles/language.hy [changed mode: 0644->0755]
tests/examplefiles/lighttpd_config.conf [changed mode: 0644->0755]
tests/examplefiles/limbo.b [changed mode: 0644->0755]
tests/examplefiles/linecontinuation.py [changed mode: 0644->0755]
tests/examplefiles/livescript-demo.ls [changed mode: 0644->0755]
tests/examplefiles/llvm-mir.mir [changed mode: 0644->0755]
tests/examplefiles/logos_example.xm [changed mode: 0644->0755]
tests/examplefiles/ltmain.sh [changed mode: 0644->0755]
tests/examplefiles/main.cmake [changed mode: 0644->0755]
tests/examplefiles/markdown.lsp [changed mode: 0644->0755]
tests/examplefiles/matlab_noreturn [changed mode: 0644->0755]
tests/examplefiles/matlab_sample [changed mode: 0644->0755]
tests/examplefiles/matlabsession_sample.txt [changed mode: 0644->0755]
tests/examplefiles/metagrammar.treetop [changed mode: 0644->0755]
tests/examplefiles/minehunt.qml [changed mode: 0644->0755]
tests/examplefiles/minimal.ns2 [changed mode: 0644->0755]
tests/examplefiles/modula2_test_cases.def [changed mode: 0644->0755]
tests/examplefiles/moin_SyntaxReference.txt [changed mode: 0644->0755]
tests/examplefiles/multiline_regexes.rb [changed mode: 0644->0755]
tests/examplefiles/mysql.txt [changed mode: 0644->0755]
tests/examplefiles/nanomsg.intr [changed mode: 0644->0755]
tests/examplefiles/nasm_aoutso.asm [changed mode: 0644->0755]
tests/examplefiles/nasm_objexe.asm [changed mode: 0644->0755]
tests/examplefiles/nemerle_sample.n [changed mode: 0644->0755]
tests/examplefiles/nginx_nginx.conf [changed mode: 0644->0755]
tests/examplefiles/noexcept.cpp [changed mode: 0644->0755]
tests/examplefiles/notmuch_example [changed mode: 0644->0755]
tests/examplefiles/numbers.c [changed mode: 0644->0755]
tests/examplefiles/objc_example.m [changed mode: 0644->0755]
tests/examplefiles/openedge_example [changed mode: 0644->0755]
tests/examplefiles/pacman.conf [changed mode: 0644->0755]
tests/examplefiles/pacman.ijs [changed mode: 0644->0755]
tests/examplefiles/pawn_example [changed mode: 0644->0755]
tests/examplefiles/perl_misc [changed mode: 0644->0755]
tests/examplefiles/perl_perl5db [changed mode: 0644->0755]
tests/examplefiles/perl_regex-delims [changed mode: 0644->0755]
tests/examplefiles/perlfunc.1 [changed mode: 0644->0755]
tests/examplefiles/phpMyAdmin.spec [changed mode: 0644->0755]
tests/examplefiles/phpcomplete.vim [changed mode: 0644->0755]
tests/examplefiles/pkgconfig_example.pc [changed mode: 0644->0755]
tests/examplefiles/plain.bst [changed mode: 0644->0755]
tests/examplefiles/pleac.in.rb [changed mode: 0644->0755]
tests/examplefiles/postgresql_test.txt [changed mode: 0644->0755]
tests/examplefiles/pppoe.applescript [changed mode: 0644->0755]
tests/examplefiles/primesieve.arw [changed mode: 0644->0755]
tests/examplefiles/psql_session.txt [changed mode: 0644->0755]
tests/examplefiles/psysh_test.psysh [changed mode: 0644->0755]
tests/examplefiles/py3_test.txt [changed mode: 0644->0755]
tests/examplefiles/py3tb_test.py3tb [changed mode: 0644->0755]
tests/examplefiles/pycon_ctrlc_traceback [changed mode: 0644->0755]
tests/examplefiles/pycon_test.pycon [changed mode: 0644->0755]
tests/examplefiles/pytb_test2.pytb [changed mode: 0644->0755]
tests/examplefiles/pytb_test3.pytb [changed mode: 0644->0755]
tests/examplefiles/python25-bsd.mak [changed mode: 0644->0755]
tests/examplefiles/qbasic_example [changed mode: 0644->0755]
tests/examplefiles/qsort.prolog [changed mode: 0644->0755]
tests/examplefiles/r-console-transcript.Rout [changed mode: 0644->0755]
tests/examplefiles/r6rs-comments.scm [changed mode: 0644->0755]
tests/examplefiles/ragel-cpp_rlscan [changed mode: 0644->0755]
tests/examplefiles/ragel-cpp_snippet [changed mode: 0644->0755]
tests/examplefiles/regex.js [changed mode: 0644->0755]
tests/examplefiles/resourcebundle_demo [changed mode: 0644->0755]
tests/examplefiles/reversi.lsp [changed mode: 0644->0755]
tests/examplefiles/rnc_example.rnc [changed mode: 0644->0755]
tests/examplefiles/roboconf.graph [changed mode: 0644->0755]
tests/examplefiles/roboconf.instances [changed mode: 0644->0755]
tests/examplefiles/robotframework_test.txt [changed mode: 0644->0755]
tests/examplefiles/rql-queries.rql [changed mode: 0644->0755]
tests/examplefiles/ruby_func_def.rb [changed mode: 0644->0755]
tests/examplefiles/sample.qvto [changed mode: 0644->0755]
tests/examplefiles/scdoc_manual.scd [changed mode: 0644->0755]
tests/examplefiles/scilab.sci [changed mode: 0644->0755]
tests/examplefiles/scope.cirru [changed mode: 0644->0755]
tests/examplefiles/session.dylan-console [changed mode: 0644->0755]
tests/examplefiles/sibling.prolog [changed mode: 0644->0755]
tests/examplefiles/simple.camkes [changed mode: 0644->0755]
tests/examplefiles/simple.croc [changed mode: 0644->0755]
tests/examplefiles/smarty_example.html [changed mode: 0644->0755]
tests/examplefiles/source.lgt [changed mode: 0644->0755]
tests/examplefiles/sources.list [changed mode: 0644->0755]
tests/examplefiles/sparql.rq [changed mode: 0644->0755]
tests/examplefiles/sphere.pov [changed mode: 0644->0755]
tests/examplefiles/sqlite3.sqlite3-console [changed mode: 0644->0755]
tests/examplefiles/squid.conf [changed mode: 0644->0755]
tests/examplefiles/string.jl [changed mode: 0644->0755]
tests/examplefiles/string_delimiters.d [changed mode: 0644->0755]
tests/examplefiles/stripheredoc.sh [changed mode: 0644->0755]
tests/examplefiles/subr.el [changed mode: 0644->0755]
tests/examplefiles/swig_java.swg [changed mode: 0644->0755]
tests/examplefiles/swig_std_vector.i [changed mode: 0644->0755]
tests/examplefiles/tads3_example.t [changed mode: 0644->0755]
tests/examplefiles/teraterm.ttl [changed mode: 0644->0755]
tests/examplefiles/termcap [changed mode: 0644->0755]
tests/examplefiles/terminfo [changed mode: 0644->0755]
tests/examplefiles/test-3.0.xq [changed mode: 0644->0755]
tests/examplefiles/test-exist-update.xq [changed mode: 0644->0755]
tests/examplefiles/test.R [changed mode: 0644->0755]
tests/examplefiles/test.adb [changed mode: 0644->0755]
tests/examplefiles/test.adls [changed mode: 0644->0755]
tests/examplefiles/test.agda [changed mode: 0644->0755]
tests/examplefiles/test.apl [changed mode: 0644->0755]
tests/examplefiles/test.asy [changed mode: 0644->0755]
tests/examplefiles/test.awk [changed mode: 0644->0755]
tests/examplefiles/test.bb [changed mode: 0644->0755]
tests/examplefiles/test.bib [changed mode: 0644->0755]
tests/examplefiles/test.bmx [changed mode: 0644->0755]
tests/examplefiles/test.boo [changed mode: 0644->0755]
tests/examplefiles/test.bpl [changed mode: 0644->0755]
tests/examplefiles/test.bro [changed mode: 0644->0755]
tests/examplefiles/test.cadl [changed mode: 0644->0755]
tests/examplefiles/test.cr [changed mode: 0644->0755]
tests/examplefiles/test.cs [changed mode: 0644->0755]
tests/examplefiles/test.csd [changed mode: 0644->0755]
tests/examplefiles/test.css [changed mode: 0644->0755]
tests/examplefiles/test.cu [changed mode: 0644->0755]
tests/examplefiles/test.cyp [changed mode: 0644->0755]
tests/examplefiles/test.d [changed mode: 0644->0755]
tests/examplefiles/test.dart [changed mode: 0644->0755]
tests/examplefiles/test.dtd [changed mode: 0644->0755]
tests/examplefiles/test.ebnf [changed mode: 0644->0755]
tests/examplefiles/test.ec [changed mode: 0644->0755]
tests/examplefiles/test.eh [changed mode: 0644->0755]
tests/examplefiles/test.erl [changed mode: 0644->0755]
tests/examplefiles/test.escript [changed mode: 0644->0755]
tests/examplefiles/test.evoque [changed mode: 0644->0755]
tests/examplefiles/test.fan [changed mode: 0644->0755]
tests/examplefiles/test.flx [changed mode: 0644->0755]
tests/examplefiles/test.gdc [changed mode: 0644->0755]
tests/examplefiles/test.gradle [changed mode: 0644->0755]
tests/examplefiles/test.groovy [changed mode: 0644->0755]
tests/examplefiles/test.hsail [changed mode: 0644->0755]
tests/examplefiles/test.html [changed mode: 0644->0755]
tests/examplefiles/test.idr [changed mode: 0644->0755]
tests/examplefiles/test.ini [changed mode: 0644->0755]
tests/examplefiles/test.java [changed mode: 0644->0755]
tests/examplefiles/test.jsp [changed mode: 0644->0755]
tests/examplefiles/test.lean [changed mode: 0644->0755]
tests/examplefiles/test.maql [changed mode: 0644->0755]
tests/examplefiles/test.mask [changed mode: 0644->0755]
tests/examplefiles/test.mod [changed mode: 0644->0755]
tests/examplefiles/test.moo [changed mode: 0644->0755]
tests/examplefiles/test.mos [changed mode: 0644->0755]
tests/examplefiles/test.mt [changed mode: 0644->0755]
tests/examplefiles/test.myt [changed mode: 0644->0755]
tests/examplefiles/test.ncl [changed mode: 0644->0755]
tests/examplefiles/test.nim [changed mode: 0644->0755]
tests/examplefiles/test.odin [changed mode: 0644->0755]
tests/examplefiles/test.opa [changed mode: 0644->0755]
tests/examplefiles/test.orc [changed mode: 0644->0755]
tests/examplefiles/test.p6 [changed mode: 0644->0755]
tests/examplefiles/test.pan [changed mode: 0644->0755]
tests/examplefiles/test.pas [changed mode: 0644->0755]
tests/examplefiles/test.php [changed mode: 0644->0755]
tests/examplefiles/test.pig [changed mode: 0644->0755]
tests/examplefiles/test.plot [changed mode: 0644->0755]
tests/examplefiles/test.ps1 [changed mode: 0644->0755]
tests/examplefiles/test.psl [changed mode: 0644->0755]
tests/examplefiles/test.pwn [changed mode: 0644->0755]
tests/examplefiles/test.pypylog [changed mode: 0644->0755]
tests/examplefiles/test.r3 [changed mode: 0644->0755]
tests/examplefiles/test.rb [changed mode: 0644->0755]
tests/examplefiles/test.re [changed mode: 0644->0755]
tests/examplefiles/test.rhtml [changed mode: 0644->0755]
tests/examplefiles/test.rsl [changed mode: 0644->0755]
tests/examplefiles/test.scaml [changed mode: 0644->0755]
tests/examplefiles/test.sco [changed mode: 0644->0755]
tests/examplefiles/test.shen [changed mode: 0644->0755]
tests/examplefiles/test.sil [changed mode: 0644->0755]
tests/examplefiles/test.sol [changed mode: 0644->0755]
tests/examplefiles/test.ssp [changed mode: 0644->0755]
tests/examplefiles/test.swift [changed mode: 0644->0755]
tests/examplefiles/test.tcsh [changed mode: 0644->0755]
tests/examplefiles/test.vb [changed mode: 0644->0755]
tests/examplefiles/test.vhdl [changed mode: 0644->0755]
tests/examplefiles/test.xqy [changed mode: 0644->0755]
tests/examplefiles/test.xsl [changed mode: 0644->0755]
tests/examplefiles/test.yang [changed mode: 0644->0755]
tests/examplefiles/test.zeek [changed mode: 0644->0755]
tests/examplefiles/test.zep [changed mode: 0644->0755]
tests/examplefiles/test2.odin [changed mode: 0644->0755]
tests/examplefiles/test2.pypylog [changed mode: 0644->0755]
tests/examplefiles/test_basic.adls [changed mode: 0644->0755]
tests/examplefiles/truncated.pytb [changed mode: 0644->0755]
tests/examplefiles/tsql_example.sql [changed mode: 0644->0755]
tests/examplefiles/twig_test [changed mode: 0644->0755]
tests/examplefiles/type.lisp [changed mode: 0644->0755]
tests/examplefiles/typescript_example [changed mode: 0644->0755]
tests/examplefiles/typoscript_example [changed mode: 0644->0755]
tests/examplefiles/underscore.coffee [changed mode: 0644->0755]
tests/examplefiles/unicode.applescript [changed mode: 0644->0755]
tests/examplefiles/unicode.go [changed mode: 0644->0755]
tests/examplefiles/unicode.js [changed mode: 0644->0755]
tests/examplefiles/unicodedoc.py [changed mode: 0644->0755]
tests/examplefiles/unix-io.lid [changed mode: 0644->0755]
tests/examplefiles/varnish.vcl [changed mode: 0644->0755]
tests/examplefiles/vbnet_test.bas [changed mode: 0644->0755]
tests/examplefiles/vctreestatus_hg [changed mode: 0644->0755]
tests/examplefiles/vimrc [changed mode: 0644->0755]
tests/examplefiles/vpath.mk [changed mode: 0644->0755]
tests/examplefiles/wdiff_example1.wdiff [changed mode: 0644->0755]
tests/examplefiles/wdiff_example3.wdiff [changed mode: 0644->0755]
tests/examplefiles/webkit-transition.css [changed mode: 0644->0755]
tests/examplefiles/while.pov [changed mode: 0644->0755]
tests/examplefiles/wiki.factor [changed mode: 0644->0755]
tests/examplefiles/xml_example [changed mode: 0644->0755]
tests/examplefiles/xorg.conf [changed mode: 0644->0755]
tests/examplefiles/yahalom.cpsa [changed mode: 0644->0755]
tests/examplefiles/zmlrpc.f90 [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_noanchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_anchor.html [changed mode: 0644->0755]
tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_noanchor.html [changed mode: 0644->0755]
tests/support/empty.py [changed mode: 0644->0755]
tests/support/html_formatter.py [changed mode: 0644->0755]
tests/support/python_lexer.py [changed mode: 0644->0755]
tests/support/tags [changed mode: 0644->0755]
tests/test_analyze_lexer.py [new file with mode: 0755]
tests/test_apache_conf.py [changed mode: 0644->0755]
tests/test_asm.py [changed mode: 0644->0755]
tests/test_basic.py [changed mode: 0644->0755]
tests/test_basic_api.py [changed mode: 0644->0755]
tests/test_bibtex.py [changed mode: 0644->0755]
tests/test_cfm.py [changed mode: 0644->0755]
tests/test_clexer.py [changed mode: 0644->0755]
tests/test_cmdline.py [changed mode: 0644->0755]
tests/test_coffeescript.py [changed mode: 0644->0755]
tests/test_cpp.py [changed mode: 0644->0755]
tests/test_crystal.py [changed mode: 0644->0755]
tests/test_csound.py [changed mode: 0644->0755]
tests/test_data.py [changed mode: 0644->0755]
tests/test_examplefiles.py [changed mode: 0644->0755]
tests/test_ezhil.py [changed mode: 0644->0755]
tests/test_gdscript.py [changed mode: 0644->0755]
tests/test_grammar_notation.py [changed mode: 0644->0755]
tests/test_haskell.py [changed mode: 0644->0755]
tests/test_hdl.py [changed mode: 0644->0755]
tests/test_html_formatter.py [changed mode: 0644->0755]
tests/test_html_formatter_linenos_elements.py [changed mode: 0644->0755]
tests/test_idris.py [changed mode: 0644->0755]
tests/test_inherit.py [changed mode: 0644->0755]
tests/test_irc_formatter.py [changed mode: 0644->0755]
tests/test_java.py [changed mode: 0644->0755]
tests/test_javascript.py [changed mode: 0644->0755]
tests/test_julia.py [changed mode: 0644->0755]
tests/test_kotlin.py [changed mode: 0644->0755]
tests/test_latex_formatter.py [changed mode: 0644->0755]
tests/test_lexers_other.py [changed mode: 0644->0755]
tests/test_make.py [changed mode: 0644->0755]
tests/test_markdown_lexer.py [changed mode: 0644->0755]
tests/test_matlab.py [changed mode: 0644->0755]
tests/test_modeline.py [changed mode: 0644->0755]
tests/test_mysql.py [changed mode: 0644->0755]
tests/test_objectiveclexer.py [changed mode: 0644->0755]
tests/test_perllexer.py [changed mode: 0644->0755]
tests/test_php.py [changed mode: 0644->0755]
tests/test_praat.py [changed mode: 0644->0755]
tests/test_promql.py [changed mode: 0644->0755]
tests/test_properties.py [changed mode: 0644->0755]
tests/test_python.py [changed mode: 0644->0755]
tests/test_qbasiclexer.py [changed mode: 0644->0755]
tests/test_r.py [changed mode: 0644->0755]
tests/test_regexlexer.py [changed mode: 0644->0755]
tests/test_regexopt.py [changed mode: 0644->0755]
tests/test_rtf_formatter.py [changed mode: 0644->0755]
tests/test_ruby.py [changed mode: 0644->0755]
tests/test_shell.py [changed mode: 0644->0755]
tests/test_smarty.py [changed mode: 0644->0755]
tests/test_sql.py [changed mode: 0644->0755]
tests/test_terminal_formatter.py [changed mode: 0644->0755]
tests/test_textfmts.py [changed mode: 0644->0755]
tests/test_tnt.py [new file with mode: 0755]
tests/test_token.py [changed mode: 0644->0755]
tests/test_unistring.py [changed mode: 0644->0755]
tests/test_using_api.py [changed mode: 0644->0755]
tests/test_util.py [changed mode: 0644->0755]
tests/test_whiley.py [changed mode: 0644->0755]
tests/test_yang.py [changed mode: 0644->0755]
tox.ini [deleted file]

diff --git a/.coveragerc b/.coveragerc
deleted file mode 100644 (file)
index a6c6adb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-[run]
-include =
-       pygments/*
diff --git a/.github/actions/pyodide-package/action.yml b/.github/actions/pyodide-package/action.yml
deleted file mode 100644 (file)
index 2187cd9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-name: 'Update Pyodide package'
-description: 'Update the WASM compiled Pygments with Pyodide'
-runs:
-  using: 'docker'
-  image: 'birkenfeld/pyodide-pygments-builder'
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
deleted file mode 100644 (file)
index ff131aa..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-name: Pygments
-
-on: [push, pull_request]
-
-jobs:
-  build:
-    runs-on: ${{ matrix.os }}
-    strategy:
-      matrix:
-        os: [ubuntu-latest, windows-latest]
-        python-version: [3.5, 3.6, 3.7, 3.8, pypy3]
-      max-parallel: 4
-
-    steps:
-    - uses: actions/checkout@v2
-    - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v2
-      with:
-        python-version: ${{ matrix.python-version }}
-    - name: Install package
-      run: |
-        python -m pip install --upgrade pip
-        pip install -r requirements.txt
-        pip install .
-    - name: Test package
-      run: make test TEST=-v
-      if: runner.os == 'Linux'
-    - name: Test package
-      run: py.test
-      if: runner.os == 'Windows' && ! contains(matrix['python-version'], 'pypy')
-
-  lint:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v2
-    - uses: actions/setup-python@v2
-      with:
-        python-version: 3.8
-    - name: Check out regexlint
-      run: git clone https://github.com/pygments/regexlint
-    - name: Run regexlint
-      run: make regexlint REGEXLINT=`pwd`/regexlint
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
deleted file mode 100644 (file)
index 6a4bb73..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-name: Docs
-
-on:
-  push:
-    branches:
-      - master
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-    - name: Setup Python
-      uses: actions/setup-python@v1
-      with:
-        python-version: 3.7
-    - name: Checkout Pygments
-      uses: actions/checkout@v1
-    - name: Install Sphinx
-      run: pip install Sphinx
-    - name: Create Pyodide WASM package
-      uses: ./.github/actions/pyodide-package
-    - name: Sphinx build
-      run: |
-        cd doc
-        WEBSITE_BUILD=1 make dirhtml
-        cp -a ../pyodide _build/dirhtml/_static
-        touch _build/dirhtml/.nojekyll
-        echo -e 'pygments.org\nwww.pygments.org' > _build/dirhtml/CNAME
-        echo 'Automated deployment of docs for GitHub pages.' > _build/dirhtml/README
-    - name: Deploy to repo
-      uses: peaceiris/actions-gh-pages@v2.5.0
-      env:
-        ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
-        EXTERNAL_REPOSITORY: pygments/pygments.github.io
-        PUBLISH_BRANCH: master
-        PUBLISH_DIR: ./doc/_build/dirhtml
diff --git a/.gitignore b/.gitignore
deleted file mode 100644 (file)
index 502a19a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-*.egg
-*.pyc
-*.pyo
-.*.sw[op]
-/.pytest_cache/
-/.idea/
-/.project
-/.tags
-/.tox/
-/.cache/
-/Pygments.egg-info/*
-/TAGS
-/build/*
-/dist/*
-/doc/_build
-/.coverage
-/htmlcov
-/tests/examplefiles/output
-/.vscode
\ No newline at end of file
diff --git a/AUTHORS b/AUTHORS
old mode 100644 (file)
new mode 100755 (executable)
index 5058c61..f209a8a
--- a/AUTHORS
+++ b/AUTHORS
@@ -90,6 +90,7 @@ Other contributors, listed alphabetically, are:
 * Justin Hendrick -- ParaSail lexer
 * Jordi Gutiérrez Hermoso -- Octave lexer
 * David Hess, Fish Software, Inc. -- Objective-J lexer
+* Ken Hilton -- Typographic Number Theory and Arrow lexers
 * Varun Hiremath -- Debian control lexer
 * Rob Hoelz -- Perl 6 lexer
 * Doug Hogan -- Mscgen lexer
diff --git a/CHANGES b/CHANGES
old mode 100644 (file)
new mode 100755 (executable)
index 7ea6fae..8a3c179
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,32 @@ pull request numbers to the requests at
 <https://github.com/pygments/pygments/pulls>.
 
 
+Version 2.8.0
+-------------
+(not released yet)
+
+
+Version 2.7.2
+-------------
+(released October 24, 2020)
+
+- Updated lexers:
+
+  * Latex (PR#1517, #1516)
+  * LLVM (PR#1565)
+  * SPARQL (PR#1559)
+
+- Fixed Python console/traceback lexer problems with
+  custom exceptions without messages (#1548)
+- Allow loading ttc fonts on Mac/image formatter (#1223)
+- Improve ``analyze_text`` across a variety of lexers (PR#1549)
+- Removed CSS rule which forced the vertical padding to 0 for line numbers (PR#1583, #1579)
+- Fix ``TNTLexer`` crashing on unexpected EOL (#1568, PR#1570)
+- ``regexlint`` can be now run locally as part of ``tox`` tests (PR#1557)
+- Fix typos (PR#1550, #1562)
+- Add Python 3.9 as a supported version (PR#1554)
+
+
 Version 2.7.1
 -------------
 (released September 16, 2020)
diff --git a/Contributing.md b/Contributing.md
deleted file mode 100644 (file)
index b66ba71..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-Licensing
-=========
-
-The code is distributed under the BSD 2-clause license. Contributors making pull
-requests must agree that they are able and willing to put their contributions
-under that license.
-
-Contribution checklist
-======================
-
-* Check the documentation for how to write
-  [a new lexer](https://pygments.org/docs/lexerdevelopment/),
-  [a new formatter](https://pygments.org/docs/formatterdevelopment/) or
-  [a new filter](https://pygments.org/docs/filterdevelopment/)
-* When writing rules, try to merge simple rules. For instance, combine:
-
-  ```python
-  _PUNCTUATION = [
-    (r"\(", token.Punctuation),
-    (r"\)", token.Punctuation),
-    (r"\[", token.Punctuation),
-    (r"\]", token.Punctuation),
-    ("{", token.Punctuation),
-    ("}", token.Punctuation),
-  ]
-  ```
-
-  into:
-
-  ```python
-  (r"[\(\)\[\]{}]", token.Punctuation)
-  ```
-* Be careful with ``.*``. This matches greedily as much as it can. For instance,
-  rule like ``@.*@`` will match the whole string ``@first@ second @third@``,
-  instead of matching ``@first@`` and ``@second@``. You can use ``@.*?@`` in
-  this case to stop early. The ``?`` tries to match _as few times_ as possible.
-* Don't add imports of your lexer anywhere in the codebase. (In case you're
-  curious about ``compiled.py`` -- this file exists for backwards compatibility
-  reasons.)
-* Use the standard importing convention: ``from token import Punctuation``
-* If you have a tricky case, you can use the ``testcase`` formatter to produce
-  an unit test quickly. Run 
-  ``python -m pygments -l lua -f testcase <<< "local a = 5"``. This will
-  produce a test case function skeleton.
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 7de5f87..1f8c383
--- a/Makefile
+++ b/Makefile
@@ -19,19 +19,18 @@ export PYTHONPATH = $(shell echo "$$PYTHONPATH"):$(shell python -c 'import os; p
 all: clean-pyc check test
 
 check:
+       @$(PYTHON) scripts/check_crlf.py pygments build external
        @$(PYTHON) scripts/detect_missing_analyse_text.py || true
        @pyflakes pygments | grep -v 'but unused' || true
        @$(PYTHON) scripts/check_sources.py -i build -i dist -i pygments/lexers/_mapping.py \
                   -i docs/build -i pygments/formatters/_mapping.py -i pygments/unistring.py
 
 clean: clean-pyc
-       -rm -rf build tests/examplefiles/output
+       -rm -rf doc/_build build Pygments.egg-info tests/examplefiles/output
        -rm -f codetags.html
 
 clean-pyc:
-       find . -name '*.pyc' -exec rm -f {} +
-       find . -name '*.pyo' -exec rm -f {} +
-       find . -name '*~' -exec rm -f {} +
+       find . -name '__pycache__' -exec rm -rf {} +
 
 codetags:
        @$(PYTHON) scripts/find_codetags.py -i tests/examplefiles -i scripts/pylintrc \
old mode 100644 (file)
new mode 100755 (executable)
index f58cbb3..40f9d03
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: Pygments
-Version: 2.7.1
+Version: 2.7.2
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
@@ -38,6 +38,7 @@ Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Operating System :: OS Independent
old mode 100644 (file)
new mode 100755 (executable)
index f58cbb3..40f9d03
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: Pygments
-Version: 2.7.1
+Version: 2.7.2
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
@@ -38,6 +38,7 @@ Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Operating System :: OS Independent
old mode 100644 (file)
new mode 100755 (executable)
index bb89d2e..8a97390
@@ -1,20 +1,11 @@
-.coveragerc
-.gitignore
 AUTHORS
 CHANGES
-Contributing.md
 LICENSE
 MANIFEST.in
 Makefile
 README.rst
-pytest.ini
-requirements.txt
 setup.cfg
 setup.py
-tox.ini
-.github/actions/pyodide-package/action.yml
-.github/workflows/build.yaml
-.github/workflows/docs.yaml
 Pygments.egg-info/PKG-INFO
 Pygments.egg-info/SOURCES.txt
 Pygments.egg-info/dependency_links.txt
@@ -311,16 +302,17 @@ pygments/styles/trac.py
 pygments/styles/vim.py
 pygments/styles/vs.py
 pygments/styles/xcode.py
+scripts/check_crlf.py
 scripts/check_sources.py
 scripts/debug_lexer.py
 scripts/detect_missing_analyse_text.py
 scripts/epydoc.css
-scripts/find_error.py
 scripts/get_vimkw.py
 scripts/pylintrc
 scripts/release-checklist
 scripts/vim2pygments.py
 tests/__init__.py
+tests/test_analyze_lexer.py
 tests/test_apache_conf.py
 tests/test_asm.py
 tests/test_basic.py
@@ -374,6 +366,7 @@ tests/test_smarty.py
 tests/test_sql.py
 tests/test_terminal_formatter.py
 tests/test_textfmts.py
+tests/test_tnt.py
 tests/test_token.py
 tests/test_unistring.py
 tests/test_usd.py
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 9204a4c..446171e
@@ -28,7 +28,7 @@
 import sys
 from io import StringIO, BytesIO
 
-__version__ = '2.7.1'
+__version__ = '2.7.2'
 __docformat__ = 'restructuredtext'
 
 __all__ = ['lex', 'format', 'highlight']
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 29cc9fb..97c67cd
@@ -576,14 +576,14 @@ class HtmlFormatter(Formatter):
 
     @property
     def _linenos_style(self):
-        return 'color: %s; background-color: %s; padding: 0 5px 0 5px;' % (
+        return 'color: %s; background-color: %s; padding-left: 5px; padding-right: 5px;' % (
             self.style.line_number_color,
             self.style.line_number_background_color
         )
 
     @property
     def _linenos_special_style(self):
-        return 'color: %s; background-color: %s; padding: 0 5px 0 5px;' % (
+        return 'color: %s; background-color: %s; padding-left: 5px; padding-right: 5px;' % (
             self.style.line_number_special_color,
             self.style.line_number_special_background_color
         )
old mode 100644 (file)
new mode 100755 (executable)
index aa4cf35..6a9a1eb
@@ -126,7 +126,8 @@ class FontManager:
                          '/Library/Fonts/', '/System/Library/Fonts/'):
             font_map.update(
                 (os.path.splitext(f)[0].lower(), os.path.join(font_dir, f))
-                for f in os.listdir(font_dir) if f.lower().endswith('ttf'))
+                for f in os.listdir(font_dir)
+                if f.lower().endswith(('ttf', 'ttc')))
 
         for name in STYLES['NORMAL']:
             path = self._get_mac_font_path(font_map, self.font_name, name)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index a0e9421..6693558
@@ -12,7 +12,7 @@
 from io import StringIO
 
 from pygments.formatter import Formatter
-from pygments.lexer import Lexer
+from pygments.lexer import Lexer, do_insertions
 from pygments.token import Token, STANDARD_TYPES
 from pygments.util import get_bool_opt, get_int_opt
 
@@ -446,12 +446,44 @@ class LatexEmbeddedLexer(Lexer):
         Lexer.__init__(self, **options)
 
     def get_tokens_unprocessed(self, text):
+        # find and remove all the escape tokens (replace with an empty string)
+        # this is very similar to DelegatingLexer.get_tokens_unprocessed.
+        buffered = ''
+        insertions = []
+        insertion_buf = []
+        for i, t, v in self._find_safe_escape_tokens(text):
+            if t is None:
+                if insertion_buf:
+                    insertions.append((len(buffered), insertion_buf))
+                    insertion_buf = []
+                buffered += v
+            else:
+                insertion_buf.append((i, t, v))
+        if insertion_buf:
+            insertions.append((len(buffered), insertion_buf))
+        return do_insertions(insertions,
+                             self.lang.get_tokens_unprocessed(buffered))
+
+    def _find_safe_escape_tokens(self, text):
+        """ find escape tokens that are not in strings or comments """
+        for i, t, v in self._filter_to(
+            self.lang.get_tokens_unprocessed(text),
+            lambda t: t in Token.Comment or t in Token.String
+        ):
+            if t is None:
+                for i2, t2, v2 in self._find_escape_tokens(v):
+                    yield i + i2, t2, v2
+            else:
+                yield i, None, v
+
+    def _filter_to(self, it, pred):
+        """ Keep only the tokens that match `pred`, merge the others together """
         buf = ''
         idx = 0
-        for i, t, v in self.lang.get_tokens_unprocessed(text):
-            if t in Token.Comment or t in Token.String:
+        for i, t, v in it:
+            if pred(t):
                 if buf:
-                    yield from self.get_tokens_aux(idx, buf)
+                    yield idx, None, buf
                     buf = ''
                 yield i, t, v
             else:
@@ -459,15 +491,16 @@ class LatexEmbeddedLexer(Lexer):
                     idx = i
                 buf += v
         if buf:
-            yield from self.get_tokens_aux(idx, buf)
+            yield idx, None, buf
 
-    def get_tokens_aux(self, index, text):
+    def _find_escape_tokens(self, text):
+        """ Find escape tokens within text, give token=None otherwise """
+        index = 0
         while text:
             a, sep1, text = text.partition(self.left)
             if a:
-                for i, t, v in self.lang.get_tokens_unprocessed(a):
-                    yield index + i, t, v
-                    index += len(a)
+                yield index, None, a
+                index += len(a)
             if sep1:
                 b, sep2, text = text.partition(self.right)
                 if sep2:
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 5474daf..5daf20c
@@ -413,7 +413,7 @@ LEXERS = {
     'SieveLexer': ('pygments.lexers.sieve', 'Sieve', ('sieve',), ('*.siv', '*.sieve'), ()),
     'SilverLexer': ('pygments.lexers.verification', 'Silver', ('silver',), ('*.sil', '*.vpr'), ()),
     'SingularityLexer': ('pygments.lexers.configs', 'Singularity', ('singularity',), ('*.def', 'Singularity'), ()),
-    'SlashLexer': ('pygments.lexers.slash', 'Slash', ('slash',), ('*.sl',), ()),
+    'SlashLexer': ('pygments.lexers.slash', 'Slash', ('slash',), ('*.sla',), ()),
     'SlimLexer': ('pygments.lexers.webmisc', 'Slim', ('slim',), ('*.slim',), ('text/x-slim',)),
     'SlurmBashLexer': ('pygments.lexers.shell', 'Slurm', ('slurm', 'sbatch'), ('*.sl',), ()),
     'SmaliLexer': ('pygments.lexers.dalvik', 'Smali', ('smali',), ('*.smali',), ('text/smali',)),
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index e0ef351..2a085ef
@@ -110,6 +110,11 @@ class ActionScriptLexer(RegexLexer):
         ]
     }
 
+    def analyse_text(text):
+        """This is only used to disambiguate between ActionScript and
+        ActionScript3. We return 0 here; the ActionScript3 lexer will match
+        AS3 variable definitions and that will hopefully suffice."""
+        return 0
 
 class ActionScript3Lexer(RegexLexer):
     """
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 354c80c..72d36e0
@@ -398,18 +398,18 @@ class LlvmLexer(RegexLexer):
                 'cleanupret', 'cmpxchg', 'cold', 'coldcc', 'comdat', 'common', 'constant',
                 'contract', 'convergent', 'critical', 'cxx_fast_tlscc', 'datalayout', 'declare',
                 'default', 'define', 'deplibs', 'dereferenceable', 'dereferenceable_or_null',
-                'distinct', 'dllexport', 'dllimport', 'double', 'dso_local', 'dso_preemptable',
+                'distinct', 'dllexport', 'dllimport', 'dso_local', 'dso_preemptable',
                 'dsoLocal', 'eq', 'exact', 'exactmatch', 'extern_weak', 'external',
                 'externally_initialized', 'extractelement', 'extractvalue', 'fadd', 'false',
-                'fast', 'fastcc', 'fcmp', 'fdiv', 'fence', 'filter', 'flags', 'float', 'fmul',
-                'fp128', 'fpext', 'fptosi', 'fptoui', 'fptrunc', 'frem', 'from', 'fsub',
+                'fast', 'fastcc', 'fcmp', 'fdiv', 'fence', 'filter', 'flags', 'fmul',
+                'fpext', 'fptosi', 'fptoui', 'fptrunc', 'freeze', 'frem', 'from', 'fsub',
                 'funcFlags', 'function', 'gc', 'getelementptr', 'ghccc', 'global', 'guid', 'gv',
-                'half', 'hash', 'hhvm_ccc', 'hhvmcc', 'hidden', 'hot', 'hotness', 'icmp',
+                'hash', 'hhvm_ccc', 'hhvmcc', 'hidden', 'hot', 'hotness', 'icmp',
                 'ifunc', 'inaccessiblemem_or_argmemonly', 'inaccessiblememonly', 'inalloca',
                 'inbounds', 'indir', 'indirectbr', 'info', 'initialexec', 'inline',
                 'inlineBits', 'inlinehint', 'inrange', 'inreg', 'insertelement', 'insertvalue',
                 'insts', 'intel_ocl_bicc', 'inteldialect', 'internal', 'inttoptr', 'invoke',
-                'jumptable', 'kind', 'label', 'landingpad', 'largest', 'linkage', 'linkonce',
+                'jumptable', 'kind', 'landingpad', 'largest', 'linkage', 'linkonce',
                 'linkonce_odr', 'live', 'load', 'local_unnamed_addr', 'localdynamic',
                 'localexec', 'lshr', 'max', 'metadata', 'min', 'minsize', 'module', 'monotonic',
                 'msp430_intrcc', 'mul', 'musttail', 'naked', 'name', 'nand', 'ne', 'nest',
@@ -418,7 +418,7 @@ class LlvmLexer(RegexLexer):
                 'nonlazybind', 'nonnull', 'norecurse', 'noRecurse', 'noredzone', 'noreturn',
                 'notail', 'notEligibleToImport', 'nounwind', 'nsw', 'nsz', 'null', 'nuw', 'oeq',
                 'offset', 'oge', 'ogt', 'ole', 'olt', 'one', 'opaque', 'optforfuzzing',
-                'optnone', 'optsize', 'or', 'ord', 'path', 'personality', 'phi', 'ppc_fp128',
+                'optnone', 'optsize', 'or', 'ord', 'path', 'personality', 'phi',
                 'prefix', 'preserve_allcc', 'preserve_mostcc', 'private', 'prologue',
                 'protected', 'ptrtoint', 'ptx_device', 'ptx_kernel', 'readnone', 'readNone',
                 'readonly', 'readOnly', 'reassoc', 'refs', 'relbf', 'release', 'resByArg',
@@ -438,18 +438,19 @@ class LlvmLexer(RegexLexer):
                 'unordered', 'unreachable', 'unsat', 'unwind', 'urem', 'uselistorder',
                 'uselistorder_bb', 'uwtable', 'va_arg', 'variable', 'vFuncId',
                 'virtualConstProp', 'void', 'volatile', 'weak', 'weak_odr', 'webkit_jscc',
-                'win64cc', 'within', 'wpdRes', 'wpdResolutions', 'writeonly', 'x',
-                'x86_64_sysvcc', 'x86_fastcallcc', 'x86_fp80', 'x86_intrcc', 'x86_mmx',
+                'win64cc', 'within', 'wpdRes', 'wpdResolutions', 'writeonly',
+                'x86_64_sysvcc', 'x86_fastcallcc', 'x86_intrcc', 'x86_mmx',
                 'x86_regcallcc', 'x86_stdcallcc', 'x86_thiscallcc', 'x86_vectorcallcc', 'xchg',
                 'xor', 'zeroext', 'zeroinitializer', 'zext', 'immarg', 'willreturn'),
                 suffix=r'\b'), Keyword),
 
             # Types
-            (words(('void', 'half', 'float', 'double', 'x86_fp80', 'fp128',
-                    'ppc_fp128', 'label', 'metadata', 'token')), Keyword.Type),
+            (words(('void', 'half', 'bfloat', 'float', 'double', 'fp128',
+                    'x86_fp80', 'ppc_fp128', 'label', 'metadata', 'token')),
+                   Keyword.Type),
 
             # Integer types
-            (r'i[1-9]\d*', Keyword)
+            (r'i[1-9]\d*', Keyword.Type)
         ]
     }
 
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index f212fe5..cfacf62
@@ -500,6 +500,21 @@ class OpenEdgeLexer(RegexLexer):
         ],
     }
 
+    def analyse_text(text):
+        """Try to identify OpenEdge ABL based on a few common constructs."""
+        result = 0
+
+        if 'END.' in text:
+            result += 0.05
+
+        if 'END PROCEDURE.' in text:
+            result += 0.05
+
+        if 'ELSE DO:' in text:
+            result += 0.05
+
+        return result
+
 
 class GoodDataCLLexer(RegexLexer):
     """
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 3d291d5..cb20305
@@ -970,3 +970,15 @@ class SingularityLexer(RegexLexer):
             (r'(.+?(?=^\s*%))|(.*)', using(BashLexer), '#pop'),
         ],
     }
+
+    def analyse_text(text):
+        """This is a quite simple script file, but there are a few keywords
+        which seem unique to this language."""
+        result = 0
+        if re.search(r'\b(?:osversion|includecmd|mirrorurl)\b', text, re.IGNORECASE):
+            result += 0.5
+
+        if re.search(SingularityLexer._section[1:], text):
+            result += 0.49
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index c863552..c75d2e6
@@ -295,6 +295,16 @@ class NemerleLexer(RegexLexer):
 
         RegexLexer.__init__(self, **options)
 
+    def analyse_text(text):
+        """Nemerle is quite similar to Python, but @if is relatively uncommon
+        elsewhere."""
+        result = 0
+
+        if '@if' in text:
+            result += 0.1
+
+        return result
+
 
 class BooLexer(RegexLexer):
     """
@@ -684,3 +694,14 @@ class FSharpLexer(RegexLexer):
             (r'"', String),
         ],
     }
+
+    def analyse_text(text):
+        """F# doesn't have that many unique features -- |> and <| are weak
+        indicators."""
+        result = 0
+        if '|>' in text:
+            result += 0.05
+        if '<|' in text:
+            result += 0.05
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 63ae91e..bfa8909
@@ -123,3 +123,17 @@ class ECLLexer(RegexLexer):
             (r'[^"\']+', String),
         ],
     }
+
+    def analyse_text(text):
+        """This is very difficult to guess relative to other business languages.
+        <- in conjuction with BEGIN/END seems relatively rare though."""
+        result = 0
+
+        if '<-' in text:
+            result += 0.01
+        if 'BEGIN' in text:
+            result += 0.01
+        if 'END' in text:
+            result += 0.01
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index e1e02a4..0fe8929
@@ -13,6 +13,8 @@ from pygments.lexer import RegexLexer, include, words
 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
     Number, Punctuation, Error
 
+import re
+
 __all__ = ['BrainfuckLexer', 'BefungeLexer', 'RedcodeLexer', 'CAmkESLexer',
            'CapDLLexer', 'AheuiLexer']
 
@@ -48,6 +50,31 @@ class BrainfuckLexer(RegexLexer):
         ]
     }
 
+    def analyse_text(text):
+        """It's safe to assume that a program which mostly consists of + -
+        and < > is brainfuck."""
+        plus_minus_count = 0
+        greater_less_count = 0
+
+        range_to_check = max(256, len(text))
+
+        for c in text[:range_to_check]:
+            if c == '+' or c == '-':
+                plus_minus_count += 1
+            if c == '<' or c == '>':
+                greater_less_count += 1
+
+        if plus_minus_count > (0.25 * range_to_check):
+            return 1.0
+        if greater_less_count > (0.25 * range_to_check):
+            return 1.0
+
+        result = 0
+        if '[-]' in text:
+            result += 0.5
+
+        return result
+
 
 class BefungeLexer(RegexLexer):
     """
old mode 100644 (file)
new mode 100755 (executable)
index ea5bba3..4af37f3
@@ -64,6 +64,14 @@ class EzhilLexer(RegexLexer):
         ]
     }
 
+    def analyse_text(text):
+        """This language uses Tamil-script. We'll assume that if there's a
+        decent amount of Tamil-characters, it's this language. This assumption
+        is obviously horribly off if someone uses string literals in tamil
+        in another language."""
+        if len(re.findall(r'[\u0b80-\u0bff]', text)) > 10:
+            return 0.25
+
     def __init__(self, **options):
         super().__init__(**options)
         self.encoding = options.get('encoding', 'utf-8')
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 1483417..f634f2c
@@ -170,3 +170,9 @@ class ForthLexer(RegexLexer):
             (r'[^"]+', String, '#pop'),
         ],
     }
+
+    def analyse_text(text):
+        """Forth uses : COMMAND ; quite a lot in a single line, so we're trying
+        to find that."""
+        if re.search('\n:[^\n]+;\n', text):
+            return 0.1
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index ffe2ab1..86af301
@@ -3,7 +3,7 @@
     pygments.lexers.grammar_notation
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    Lexers for grammer notations like BNF.
+    Lexers for grammar notations like BNF.
 
     :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
@@ -20,7 +20,7 @@ __all__ = ['BnfLexer', 'AbnfLexer', 'JsgfLexer', 'PegLexer']
 
 class BnfLexer(RegexLexer):
     """
-    This lexer is for grammer notations which are similar to
+    This lexer is for grammar notations which are similar to
     original BNF.
 
     In order to maximize a number of targets of this lexer,
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index fafc155..52ab8e0
@@ -779,3 +779,22 @@ class PovrayLexer(RegexLexer):
             (r'\s+', Text),
         ]
     }
+
+    def analyse_text(text):
+        """POVRAY is similar to JSON/C, but the combination of camera and
+        light_source is probably not very likely elsewhere. HLSL or GLSL
+        are similar (GLSL even has #version), but they miss #declare, and
+        light_source/camera are not keywords anywhere else -- it's fair
+        to assume though that any POVRAY scene must have a camera and
+        lightsource."""
+        result = 0
+        if '#version' in text:
+            result += 0.05
+        if '#declare' in text:
+            result += 0.05
+        if 'camera' in text:
+            result += 0.05
+        if 'light_source' in text:
+            result += 0.1
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index a8a4fc6..78cff2c
@@ -132,6 +132,19 @@ class VerilogLexer(RegexLexer):
         ]
     }
 
+    def analyse_text(text):
+        """Verilog code will use one of reg/wire/assign for sure, and that
+        is not common elsewhere."""
+        result = 0
+        if 'reg' in text:
+            result += 0.1
+        if 'wire' in text:
+            result += 0.1
+        if 'assign' in text:
+            result += 0.1
+
+        return result
+
 
 class SystemVerilogLexer(RegexLexer):
     """
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 0ca3708..142c88f
@@ -32,7 +32,7 @@ class IDLLexer(RegexLexer):
 
     _RESERVED = (
         'and', 'begin', 'break', 'case', 'common', 'compile_opt',
-        'continue', 'do', 'else', 'end', 'endcase', 'elseelse',
+        'continue', 'do', 'else', 'end', 'endcase', 'endelse',
         'endfor', 'endforeach', 'endif', 'endrep', 'endswitch',
         'endwhile', 'eq', 'for', 'foreach', 'forward_function',
         'function', 'ge', 'goto', 'gt', 'if', 'inherits', 'le',
@@ -268,3 +268,14 @@ class IDLLexer(RegexLexer):
             (r'.', Text),
         ]
     }
+
+    def analyse_text(text):
+        """endelse seems to be unique to IDL, endswitch is rare at least."""
+        result = 0
+
+        if 'endelse' in text:
+            result += 0.2
+        if 'endswitch' in text:
+            result += 0.01
+
+        return result
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index a919441..c6ffde6
@@ -516,6 +516,15 @@ class Inform6Lexer(RegexLexer):
         while objectloop_queue:
             yield objectloop_queue.pop(0)
 
+    def analyse_text(text):
+        """We try to find a keyword which seem relatively common, unfortunately
+        there is a decent overlap with Smalltalk keywords otherwise here.."""
+        result = 0
+        if re.search('\borigsource\b', text, re.IGNORECASE):
+            result += 0.05
+
+        return result
+
 
 class Inform7Lexer(RegexLexer):
     """
@@ -1343,3 +1352,17 @@ class Tads3Lexer(RegexLexer):
                 else:
                     token = Comment
             yield index, token, value
+
+    def analyse_text(text):
+        """This is a rather generic descriptive language without strong
+        identifiers. It looks like a 'GameMainDef' has to be present,
+        and/or a 'versionInfo' with an 'IFID' field."""
+        result = 0
+        if '__TADS' in text or 'GameMainDef' in text:
+            result += 0.2
+
+        # This is a fairly unique keyword which is likely used in source as well
+        if 'versionInfo' in text and 'IFID' in text:
+            result += 0.1
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 0e24f6e..7220311
@@ -647,6 +647,10 @@ class OctaveLexer(RegexLexer):
         ],
     }
 
+    def analyse_text(text):
+        """Octave is quite hard to spot, and it looks like Matlab as well."""
+        return 0
+
 
 class ScilabLexer(RegexLexer):
     """
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 4794ebc..331b18a
@@ -1559,3 +1559,22 @@ class Modula2Lexer(RegexLexer):
 
             # return result
             yield index, token, value
+
+    def analyse_text(text):
+        """It's Pascal-like, but does not use FUNCTION -- uses PROCEDURE
+        instead."""
+
+        # Check if this looks like Pascal, if not, bail out early
+        if not ('(*' in text and '*)' in text and ':=' in text):
+            return
+
+        result = 0
+        # Procedure is in Modula2
+        if re.search(r'\bPROCEDURE\b', text):
+            result += 0.6
+
+        # FUNCTION is only valid in Pascal, but not in Modula2
+        if re.search(r'\bFUNCTION\b', text):
+            result = 0.0
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 01fef03..8934997
@@ -103,3 +103,19 @@ class ComponentPascalLexer(RegexLexer):
             (r'(TRUE|FALSE|NIL|INF)\b', Keyword.Constant),
         ]
     }
+
+    def analyse_text(text):
+        """The only other lexer using .cp is the C++ one, so we check if for
+        a few common Pascal keywords here. Those are unfortunately quite
+        common across various business languages as well."""
+        result = 0
+        if 'BEGIN' in text:
+            result += 0.01
+        if 'END' in text:
+            result += 0.01
+        if 'PROCEDURE' in text:
+            result += 0.01
+        if 'END' in text:
+            result += 0.01
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 2721084..bc06d0d
@@ -197,3 +197,9 @@ class PawnLexer(RegexLexer):
             (r'.*?\n', Comment),
         ]
     }
+
+    def analyse_text(text):
+        """This is basically C. There is a keyword which doesn't exist in C
+        though and is nearly unique to this language."""
+        if 'tagof' in text:
+            return 0.01
old mode 100644 (file)
new mode 100755 (executable)
index 741de3f..95fb94e
@@ -208,8 +208,18 @@ class PerlLexer(RegexLexer):
     def analyse_text(text):
         if shebang_matches(text, r'perl'):
             return True
+
+        result = 0
+
         if re.search(r'(?:my|our)\s+[$@%(]', text):
-            return 0.9
+            result += 0.9
+
+        if ':=' in text:
+            # := is not valid Perl, but it appears in unicon, so we should
+            # become less confident if we think we found Perl with :=
+            result /= 2
+
+        return result
 
 
 class Perl6Lexer(ExtendedRegexLexer):
@@ -711,6 +721,10 @@ class Perl6Lexer(ExtendedRegexLexer):
                 continue
             break
 
+        if ':=' in text:
+            # Same logic as above for PerlLexer
+            rating /= 2
+
         return rating
 
     def __init__(self, **options):
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 1015799..051371f
@@ -726,7 +726,7 @@ class PythonTracebackLexer(RegexLexer):
              bygroups(Text, Comment, Text)),  # for doctests...
             (r'^([^:]+)(: )(.+)(\n)',
              bygroups(Generic.Error, Text, Name, Text), '#pop'),
-            (r'^([a-zA-Z_]\w*)(:?\n)',
+            (r'^([a-zA-Z_][\w.]*)(:?\n)',
              bygroups(Generic.Error, Text), '#pop')
         ],
     }
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 136850b..0f2cdc1
@@ -20,7 +20,7 @@ __all__ = ['SparqlLexer', 'TurtleLexer', 'ShExCLexer']
 
 class SparqlLexer(RegexLexer):
     """
-    Lexer for `SPARQL <http://www.w3.org/TR/rdf-sparql-query/>`_ query language.
+    Lexer for `SPARQL <https://www.w3.org/TR/sparql11-query/>`_ query language.
 
     .. versionadded:: 2.0
     """
@@ -99,10 +99,10 @@ class SparqlLexer(RegexLexer):
             # keywords ::
             (r'(?i)(select|construct|describe|ask|where|filter|group\s+by|minus|'
              r'distinct|reduced|from\s+named|from|order\s+by|desc|asc|limit|'
-             r'offset|bindings|load|clear|drop|create|add|move|copy|'
-             r'insert\s+data|delete\s+data|delete\s+where|delete|insert|'
+             r'offset|values|bindings|load|into|clear|drop|create|add|move|copy|'
+             r'insert\s+data|delete\s+data|delete\s+where|with|delete|insert|'
              r'using\s+named|using|graph|default|named|all|optional|service|'
-             r'silent|bind|union|not\s+in|in|as|having|to|prefix|base)\b', Keyword),
+             r'silent|bind|undef|union|not\s+in|in|as|having|to|prefix|base)\b', Keyword),
             (r'(a)\b', Keyword),
             # IRIs ::
             ('(' + IRIREF + ')', Name.Label),
@@ -117,7 +117,7 @@ class SparqlLexer(RegexLexer):
             (r'(?i)(str|lang|langmatches|datatype|bound|iri|uri|bnode|rand|abs|'
              r'ceil|floor|round|concat|strlen|ucase|lcase|encode_for_uri|'
              r'contains|strstarts|strends|strbefore|strafter|year|month|day|'
-             r'hours|minutes|seconds|timezone|tz|now|md5|sha1|sha256|sha384|'
+             r'hours|minutes|seconds|timezone|tz|now|uuid|struuid|md5|sha1|sha256|sha384|'
              r'sha512|coalesce|if|strlang|strdt|sameterm|isiri|isuri|isblank|'
              r'isliteral|isnumeric|regex|substr|replace|exists|not\s+exists|'
              r'count|sum|min|max|avg|sample|group_concat|separator)\b',
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 930060b..6acc64f
@@ -68,3 +68,16 @@ class ScdocLexer(RegexLexer):
             (r'.', Text),
         ],
     }
+
+    def analyse_text(text):
+        """This is very similar to markdown, save for the escape characters
+        needed for * and _."""
+        result = 0
+
+        if '\\*' in text:
+            result += 0.01
+
+        if '\\_' in text:
+            result += 0.01
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
index 50f4768..885fed4
@@ -944,6 +944,15 @@ class HybrisLexer(RegexLexer):
         ],
     }
 
+    def analyse_text(text):
+        """public method and private method don't seem to be quite common
+        elsewhere."""
+        result = 0
+        if re.search(r'\b(?:public|private)\s+method\b', text):
+            result += 0.01
+        return result
+
+
 
 class EasytrieveLexer(RegexLexer):
     """
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 84e1d2e..13f8107
@@ -178,7 +178,7 @@ class SlashLexer(DelegatingLexer):
 
     name = 'Slash'
     aliases = ['slash']
-    filenames = ['*.sl']
+    filenames = ['*.sla']
 
     def __init__(self, **options):
         from pygments.lexers.web import HtmlLexer
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index c0dc04b..8186548
@@ -88,3 +88,8 @@ class SuperColliderLexer(RegexLexer):
             (r"'(\\\\|\\'|[^'])*'", String.Single),
         ]
     }
+
+    def analyse_text(text):
+        """We're searching for a common function and a unique keyword here."""
+        if 'SinOsc' in text or 'thisFunctionDef' in text:
+            return 0.1
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index accd1f7..a056728
@@ -1430,6 +1430,10 @@ class EvoqueLexer(RegexLexer):
         ],
     }
 
+    def analyse_text(text):
+        """Evoque templates use $evoque, which is unique."""
+        if '$evoque' in text:
+            return 1
 
 class EvoqueHtmlLexer(DelegatingLexer):
     """
@@ -1446,6 +1450,9 @@ class EvoqueHtmlLexer(DelegatingLexer):
     def __init__(self, **options):
         super().__init__(HtmlLexer, EvoqueLexer, **options)
 
+    def analyse_text(text):
+        return EvoqueLexer.analyse_text(text)
+
 
 class EvoqueXmlLexer(DelegatingLexer):
     """
@@ -1462,6 +1469,9 @@ class EvoqueXmlLexer(DelegatingLexer):
     def __init__(self, **options):
         super().__init__(XmlLexer, EvoqueLexer, **options)
 
+    def analyse_text(text):
+        return EvoqueLexer.analyse_text(text)
+
 
 class ColdfusionLexer(RegexLexer):
     """
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index c4c857d..a4fa24d
@@ -154,8 +154,8 @@ class CoqLexer(RegexLexer):
     }
 
     def analyse_text(text):
-        if text.startswith('(*'):
-            return True
+        if 'qed' in text and 'tauto' in text:
+            return 1
 
 
 class IsabelleLexer(RegexLexer):
old mode 100644 (file)
new mode 100755 (executable)
index f62f3ab..1d966ac
@@ -13,7 +13,7 @@ import re
 
 from pygments.lexer import Lexer
 from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
-    Punctuation, Error
+     Punctuation, Error
 
 __all__ = ['TNTLexer']
 
@@ -55,6 +55,10 @@ class TNTLexer(Lexer):
     LINENOS = re.compile(r'(?:[0-9]+)(?:(?:, ?|,? and )(?:[0-9]+))*')
     COMMENT = re.compile(r'\[[^\n\]]+\]')
 
+    def __init__(self, *args, **kwargs):
+        Lexer.__init__(self, *args, **kwargs)
+        self.cur = []
+
     def whitespace(self, start, text, required=False):
         """Tokenize whitespace."""
         end = start
@@ -104,9 +108,6 @@ class TNTLexer(Lexer):
 
     def formula(self, start, text):
         """Tokenize a formula."""
-        if text[start] in '[]':  # fantasy push or pop
-            self.cur.append((start, Keyword, text[start]))
-            return start+1
         if text[start] in self.NEGATORS:  # ~<...>
             end = start+1
             while text[end] in self.NEGATORS:
@@ -154,7 +155,7 @@ class TNTLexer(Lexer):
         return match.end()
 
     def lineno(self, start, text):
-        """Tokenize a line marker."""
+        """Tokenize a line referral."""
         end = start
         while text[end] not in self.NUMBERS:
             end += 1
@@ -186,65 +187,77 @@ class TNTLexer(Lexer):
         self.cur = []
         start = end = self.whitespace(0, text)
         while start <= end < len(text):
-            # try line number
-            while text[end] in self.NUMBERS:
-                end += 1
-            if end != start:  # actual number present
-                self.cur.append((start, Number.Integer, text[start:end]))
-                # whitespace is required after a line number
+            try:
+                # try line number
+                while text[end] in self.NUMBERS:
+                    end += 1
+                if end != start:  # actual number present
+                    self.cur.append((start, Number.Integer, text[start:end]))
+                    # whitespace is required after a line number
+                    orig = len(self.cur)
+                    try:
+                        start = end = self.whitespace(end, text, True)
+                    except AssertionError:
+                        del self.cur[orig:]
+                        start = end = self.error_till_line_end(end, text)
+                        continue
+                # at this point it could be a comment
+                match = self.COMMENT.match(text, start)
+                if match is not None:
+                    self.cur.append((start, Comment, text[start:match.end()]))
+                    start = end = match.end()
+                    # anything after the closing bracket is invalid
+                    start = end = self.error_till_line_end(start, text)
+                    # do not attempt to process the rest
+                    continue
+                del match
+                if text[start] in '[]':  # fantasy push or pop
+                    self.cur.append((start, Keyword, text[start]))
+                    start += 1
+                    end += 1
+                else:
+                    # one formula, possibly containing subformulae
+                    orig = len(self.cur)
+                    try:
+                        start = end = self.formula(start, text)
+                    except AssertionError:  # not well-formed
+                        del self.cur[orig:]
+                        while text[end] not in self.WHITESPACE:
+                            end += 1
+                        self.cur.append((start, Error, text[start:end]))
+                        start = end
+                # skip whitespace after formula
                 orig = len(self.cur)
                 try:
                     start = end = self.whitespace(end, text, True)
                 except AssertionError:
                     del self.cur[orig:]
-                    start = end = self.error_till_line_end(end, text)
+                    start = end = self.error_till_line_end(start, text)
                     continue
-            # at this point it could be a comment
-            match = self.COMMENT.match(text, start)
-            if match is not None:
-                self.cur.append((start, Comment, text[start:match.end()]))
-                start = end = match.end()
-                # anything after the closing bracket is invalid
-                start = end = self.error_till_line_end(start, text)
-                # do not attempt to process the rest
-                continue
-            del match
-            # one formula, possibly containing subformulae
-            orig = len(self.cur)
-            try:
-                start = end = self.formula(start, text)
-            except AssertionError:  # not well-formed
-                del self.cur[orig:]
-                while text[end] not in self.WHITESPACE:
-                    end += 1
-                self.cur.append((start, Error, text[start:end]))
-                start = end
-            # skip whitespace after formula
-            orig = len(self.cur)
-            try:
-                start = end = self.whitespace(end, text, True)
-            except AssertionError:
-                del self.cur[orig:]
-                start = end = self.error_till_line_end(start, text)
-                continue
-            # rule proving this formula a theorem
-            orig = len(self.cur)
-            try:
-                start = end = self.rule(start, text)
-            except AssertionError:
-                del self.cur[orig:]
-                start = end = self.error_till_line_end(start, text)
-                continue
-            # skip whitespace after rule
-            start = end = self.whitespace(end, text)
-            # line marker
-            if text[start] == '(':
+                # rule proving this formula a theorem
                 orig = len(self.cur)
                 try:
-                    start = end = self.lineno(start, text)
+                    start = end = self.rule(start, text)
                 except AssertionError:
                     del self.cur[orig:]
                     start = end = self.error_till_line_end(start, text)
                     continue
-                start = end = self.whitespace(start, text)
+                # skip whitespace after rule
+                start = end = self.whitespace(end, text)
+                # line marker
+                if text[start] == '(':
+                    orig = len(self.cur)
+                    try:
+                        start = end = self.lineno(start, text)
+                    except AssertionError:
+                        del self.cur[orig:]
+                        start = end = self.error_till_line_end(start, text)
+                        continue
+                    start = end = self.whitespace(start, text)
+            except IndexError:
+                try:
+                    del self.cur[orig:]
+                except NameError:
+                    pass # if orig was never defined, fine
+                self.error_till_line_end(start, text)
         return self.cur
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index c27b7fe..9581590
@@ -385,3 +385,28 @@ class UcodeLexer(RegexLexer):
             (r'[\w-]+', Text),
         ],
     }
+
+    def analyse_text(text):
+        """endsuspend and endrepeat are unique to this language, and
+        \\self, /self doesn't seem to get used anywhere else either."""
+        result = 0
+
+        if 'endsuspend' in text:
+            result += 0.1
+
+        if 'endrepeat' in text:
+            result += 0.1
+
+        if ':=' in text:
+            result += 0.01
+
+        if 'procedure' in text and 'end' in text:
+            result += 0.01
+
+        # This seems quite unique to unicon -- doesn't appear in any other
+        # example source we have (A quick search reveals that \SELF appears in
+        # Perl/Raku code)
+        if r'\self' in text and r'/self' in text:
+            result += 0.5
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
index b5f5b50..7c11169
@@ -131,3 +131,16 @@ class UrbiscriptLexer(ExtendedRegexLexer):
             (r'[*/]', Comment.Multiline),
         ]
     }
+
+    def analyse_text(text):
+        """This is fairly similar to C and others, but freezeif and
+        waituntil are unique keywords."""
+        result = 0
+
+        if 'freezeif' in text:
+            result += 0.05
+
+        if 'waituntil' in text:
+            result += 0.05
+
+        return result
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 6bb0815..e089f5c
@@ -79,7 +79,7 @@ def get_style_by_name(name):
 
 
 def get_all_styles():
-    """Return an generator for all styles by name,
+    """Return a generator for all styles by name,
     both builtin and plugin."""
     yield from STYLE_MAP
     for name, _ in find_plugin_styles():
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/pytest.ini b/pytest.ini
deleted file mode 100644 (file)
index 006b89f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-[pytest]
-filterwarnings =
-    error::FutureWarning
-    error::DeprecationWarning
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644 (file)
index a4b50cf..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-pytest-cov
-pytest-randomly
-pytest
-pyflakes
-pylint
-tox
diff --git a/scripts/check_crlf.py b/scripts/check_crlf.py
new file mode 100755 (executable)
index 0000000..14442d0
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+    Checker for line endings
+    ~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Make sure Python (.py) and Bash completition (.bashcomp) files do not
+    contain CR/LF newlines.
+
+    :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import sys
+import os
+
+if __name__ == '__main__':
+    for directory in sys.argv[1:]:
+        if not os.path.exists(directory):
+            continue
+
+        for root, dirs, files in os.walk(directory):
+            for filename in files:
+                if not filename.endswith('.py') and not filename.endswith('.bashcomp'):
+                    continue
+
+                full_path = os.path.join(root, filename)
+                with open(full_path, 'rb') as f:
+                    if b'\r\n' in f.read():
+                        print('CR/LF found in', full_path)
+                        sys.exit(1)
+
+    sys.exit(0)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/scripts/find_error.py b/scripts/find_error.py
deleted file mode 100755 (executable)
index 0f1dc0b..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-"""
-    Lexing error finder
-    ~~~~~~~~~~~~~~~~~~~
-
-    For the source files given on the command line, display
-    the text where Error tokens are being generated, along
-    with some context.
-
-    :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
-    :license: BSD, see LICENSE for details.
-"""
-
-import os
-import sys
-
-# always prefer Pygments from source if exists
-srcpath = os.path.join(os.path.dirname(__file__), '..')
-if os.path.isdir(os.path.join(srcpath, 'pygments')):
-    sys.path.insert(0, srcpath)
-
-
-from pygments.lexer import RegexLexer, ExtendedRegexLexer, LexerContext, \
-    ProfilingRegexLexer, ProfilingRegexLexerMeta
-from pygments.lexers import get_lexer_by_name, find_lexer_class, \
-    find_lexer_class_for_filename
-from pygments.token import Error, Text, _TokenType
-from pygments.cmdline import _parse_options
-
-
-class DebuggingRegexLexer(ExtendedRegexLexer):
-    """Make the state stack, position and current match instance attributes."""
-
-    def get_tokens_unprocessed(self, text, stack=('root',)):
-        """
-        Split ``text`` into (tokentype, text) pairs.
-
-        ``stack`` is the inital stack (default: ``['root']``)
-        """
-        tokendefs = self._tokens
-        self.ctx = ctx = LexerContext(text, 0)
-        ctx.stack = list(stack)
-        statetokens = tokendefs[ctx.stack[-1]]
-        while 1:
-            for rexmatch, action, new_state in statetokens:
-                self.m = m = rexmatch(text, ctx.pos, ctx.end)
-                if m:
-                    if action is not None:
-                        if type(action) is _TokenType:
-                            yield ctx.pos, action, m.group()
-                            ctx.pos = m.end()
-                        else:
-                            if not isinstance(self, ExtendedRegexLexer):
-                                yield from action(self, m)
-                                ctx.pos = m.end()
-                            else:
-                                yield from action(self, m, ctx)
-                                if not new_state:
-                                    # altered the state stack?
-                                    statetokens = tokendefs[ctx.stack[-1]]
-                    if new_state is not None:
-                        # state transition
-                        if isinstance(new_state, tuple):
-                            for state in new_state:
-                                if state == '#pop':
-                                    ctx.stack.pop()
-                                elif state == '#push':
-                                    ctx.stack.append(ctx.stack[-1])
-                                else:
-                                    ctx.stack.append(state)
-                        elif isinstance(new_state, int):
-                            # pop
-                            del ctx.stack[new_state:]
-                        elif new_state == '#push':
-                            ctx.stack.append(ctx.stack[-1])
-                        else:
-                            assert False, 'wrong state def: %r' % new_state
-                        statetokens = tokendefs[ctx.stack[-1]]
-                    break
-            else:
-                try:
-                    if ctx.pos >= ctx.end:
-                        break
-                    if text[ctx.pos] == '\n':
-                        # at EOL, reset state to 'root'
-                        ctx.stack = ['root']
-                        statetokens = tokendefs['root']
-                        yield ctx.pos, Text, '\n'
-                        ctx.pos += 1
-                        continue
-                    yield ctx.pos, Error, text[ctx.pos]
-                    ctx.pos += 1
-                except IndexError:
-                    break
-
-
-def main(fn, lexer=None, options={}):
-    if lexer is not None:
-        lxcls = get_lexer_by_name(lexer).__class__
-    else:
-        lxcls = find_lexer_class_for_filename(os.path.basename(fn))
-        if lxcls is None:
-            name, rest = fn.split('_', 1)
-            lxcls = find_lexer_class(name)
-            if lxcls is None:
-                raise AssertionError('no lexer found for file %r' % fn)
-        print('Using lexer: %s (%s.%s)' % (lxcls.name, lxcls.__module__,
-                                           lxcls.__name__))
-    debug_lexer = False
-    # if profile:
-    #     # does not work for e.g. ExtendedRegexLexers
-    #     if lxcls.__bases__ == (RegexLexer,):
-    #         # yes we can!  (change the metaclass)
-    #         lxcls.__class__ = ProfilingRegexLexerMeta
-    #         lxcls.__bases__ = (ProfilingRegexLexer,)
-    #         lxcls._prof_sort_index = profsort
-    # else:
-    #     if lxcls.__bases__ == (RegexLexer,):
-    #         lxcls.__bases__ = (DebuggingRegexLexer,)
-    #         debug_lexer = True
-    #     elif lxcls.__bases__ == (DebuggingRegexLexer,):
-    #         # already debugged before
-    #         debug_lexer = True
-    #     else:
-    #         # HACK: ExtendedRegexLexer subclasses will only partially work here.
-    #         lxcls.__bases__ = (DebuggingRegexLexer,)
-    #         debug_lexer = True
-
-    lx = lxcls(**options)
-    lno = 1
-    if fn == '-':
-        text = sys.stdin.read()
-    else:
-        with open(fn, 'rb') as fp:
-            text = fp.read().decode('utf-8')
-    text = text.strip('\n') + '\n'
-    tokens = []
-    states = []
-
-    def show_token(tok, state):
-        reprs = list(map(repr, tok))
-        print('   ' + reprs[1] + ' ' + ' ' * (29-len(reprs[1])) + reprs[0], end=' ')
-        if debug_lexer:
-            print(' ' + ' ' * (29-len(reprs[0])) + ' : '.join(state) if state else '', end=' ')
-        print()
-
-    for type, val in lx.get_tokens(text):
-        lno += val.count('\n')
-        if type == Error and not ignerror:
-            print('Error parsing', fn, 'on line', lno)
-            if not showall:
-                print('Previous tokens' + (debug_lexer and ' and states' or '') + ':')
-                for i in range(max(len(tokens) - num, 0), len(tokens)):
-                    if debug_lexer:
-                        show_token(tokens[i], states[i])
-                    else:
-                        show_token(tokens[i], None)
-            print('Error token:')
-            l = len(repr(val))
-            print('   ' + repr(val), end=' ')
-            if debug_lexer and hasattr(lx, 'ctx'):
-                print(' ' * (60-l) + ' : '.join(lx.ctx.stack), end=' ')
-            print()
-            print()
-            return 1
-        tokens.append((type, val))
-        if debug_lexer:
-            if hasattr(lx, 'ctx'):
-                states.append(lx.ctx.stack[:])
-            else:
-                states.append(None)
-        if showall:
-            show_token((type, val), states[-1] if debug_lexer else None)
-    return 0
-
-
-def print_help():
-    print('''\
-Pygments development helper to quickly debug lexers.
-
-    scripts/debug_lexer.py [options] file ...
-
-Give one or more filenames to lex them and display possible error tokens
-and/or profiling info.  Files are assumed to be encoded in UTF-8.
-
-Selecting lexer and options:
-
-    -l NAME         use lexer named NAME (default is to guess from
-                    the given filenames)
-    -O OPTIONSTR    use lexer options parsed from OPTIONSTR
-
-Debugging lexing errors:
-
-    -n N            show the last N tokens on error
-    -a              always show all lexed tokens (default is only
-                    to show them when an error occurs)
-    -e              do not stop on error tokens
-
-Profiling:
-
-    -p              use the ProfilingRegexLexer to profile regexes
-                    instead of the debugging lexer
-    -s N            sort profiling output by column N (default is
-                    column 4, the time per call)
-''')
-
-num = 10
-showall = False
-ignerror = False
-lexer = None
-options = {}
-profile = False
-profsort = 4
-
-if __name__ == '__main__':
-    import getopt
-    opts, args = getopt.getopt(sys.argv[1:], 'n:l:aepO:s:h')
-    for opt, val in opts:
-        if opt == '-n':
-            num = int(val)
-        elif opt == '-a':
-            showall = True
-        elif opt == '-e':
-            ignerror = True
-        elif opt == '-l':
-            lexer = val
-        elif opt == '-p':
-            profile = True
-        elif opt == '-s':
-            profsort = int(val)
-        elif opt == '-O':
-            options = _parse_options([val])
-        elif opt == '-h':
-            print_help()
-            sys.exit(0)
-    ret = 0
-    if not args:
-        print_help()
-    for f in args:
-        ret += main(f, lexer, options)
-    sys.exit(bool(ret))
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index f25bb92a4045801ba861d0fcf345c56ed43d9a75..e8efb6177d9bb7bce7b9cbc79d10397dcef9412b 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -55,6 +55,7 @@ setup(
         'Programming Language :: Python :: 3.6',
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: Implementation :: CPython',
         'Programming Language :: Python :: Implementation :: PyPy',
         'Operating System :: OS Independent',
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 6947c1e..0c60216
@@ -2,3 +2,7 @@
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 TypeError: unsupported operand type(s) for /: 'int' and 'str'
+>>> blah
+Traceback (most recent call last):
+  File "<stdin>", line 1, in <module>
+builtins.NameError
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 24fcc2f..d0b25e7
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">1</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">3</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">1</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">3</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 24fcc2f..d0b25e7
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">1</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">3</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">1</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">3</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index b6245f1..9a0ae65
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">1</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;">3</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">1</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">3</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index b6245f1..9a0ae65
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">1</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;">3</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">1</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">3</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index d38e2ba..d7417f9
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 9</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 9</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index d38e2ba..d7417f9
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 9</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 9</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 332f729..0203394
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;"> 9</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> 9</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 332f729..0203394
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;"> 9</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> 9</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 9367b9c..68b376a
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 9367b9c..68b376a
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 6843e0f..67dc22c
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;"> </span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 6843e0f..67dc22c
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;"> </span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 09bf305..718b019
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">  </span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">  </span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 09bf305..718b019
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">  </span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">  </span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 39d7fc0..2884e97
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;">  </span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">  </span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 39d7fc0..2884e97
@@ -1,6 +1,6 @@
 <div class="highlight" style="background: #f8f8f8">
- <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;">  </span><span style="color: #408080; font-style: italic"># b</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
+ <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span><span style="color: #408080; font-style: italic"># a</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">  </span><span style="color: #408080; font-style: italic"># b</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span><span style="color: #408080; font-style: italic"># c</span>
 </pre>
 </div>
old mode 100644 (file)
new mode 100755 (executable)
index 92e4e41..b672790
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-1">1</a></span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-2">2</a></span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-3">3</a></span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 196033a..5f56da2
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">1</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">3</span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">1</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">3</span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index afa6152..8ac4aed
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-1">1</a></span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-2">2</a></span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;"><a href="#-3">3</a></span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-1">1</a></span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"><a href="#-3">3</a></span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index a72788d..5ae241d
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">1</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;">3</span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">1</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">3</span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 23ed43a..4684afd
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-8"> 8</a></span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-9"> 9</a></span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-10">10</a></span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-9"> 9</a></span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 3248ba3..9a83ccc
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 9</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 9</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 276b76d..106b9c1
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-8"> 8</a></span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;"><a href="#-9"> 9</a></span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-10">10</a></span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"><a href="#-9"> 9</a></span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 4298ac6..3b5ff80
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;"> 9</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> 9</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 15c4975..1928bf3
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-2">2</a></span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 987bd12..ec766bc
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index da57037..1f30d5c
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-2">2</a></span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;"> </span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-2">2</a></span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 0f50268..3e5af04
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> </span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">2</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;"> </span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> </span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">2</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;"> </span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index d0bef32..cb8a88d
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-8"> 8</a></span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">  </span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-10">10</a></span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">  </span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 98b9447..758a577
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">  </span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">  </span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index baa7013..28b947c
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-8"> 8</a></span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;">  </span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"><a href="#-10">10</a></span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-8"> 8</a></span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">  </span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"><a href="#-10">10</a></span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
index 6ba03c4..bd9056e
@@ -2,9 +2,9 @@
  <tr>
   <td class="linenos">
    <div class="linenodiv">
-    <pre><span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;"> 8</span>
-<span style="color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px;">  </span>
-<span style="color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px;">10</span></pre>
+    <pre><span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;"> 8</span>
+<span style="color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px;">  </span>
+<span style="color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px;">10</span></pre>
    </div>
   </td>
   <td class="code">
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/tests/test_analyze_lexer.py b/tests/test_analyze_lexer.py
new file mode 100755 (executable)
index 0000000..1d80bb0
--- /dev/null
@@ -0,0 +1,60 @@
+# -*- coding: utf-8 -*-
+"""
+    Pygments basic API tests
+    ~~~~~~~~~~~~~~~~~~~~~~~~
+
+    :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import random
+from io import StringIO, BytesIO
+from os import path
+
+import pytest
+
+from pygments import lexers, formatters, lex, format
+
+TESTDIR = path.dirname(path.abspath(__file__))
+
+def _guess_lexer_for_file(filename):
+    return lexers.guess_lexer(open(path.join(TESTDIR, 'examplefiles', filename), 'r', encoding='utf-8').read())
+
+@pytest.mark.skip(reason="This is identified as T-SQL")
+def test_guess_lexer_fsharp():
+    l = _guess_lexer_for_file('Deflate.rs')
+    assert l.__class__.__name__ == 'FSharpLexer'
+
+def test_guess_lexer_brainfuck():
+    l = lexers.guess_lexer(">>[-]<<[->>+<<]")
+    assert l.__class__.__name__ == 'BrainfuckLexer'
+
+def test_guess_lexer_singularity():
+    l = _guess_lexer_for_file('Singularity')
+    assert l.__class__.__name__ == 'SingularityLexer'
+
+@pytest.mark.skip(reason="This is identified as MIME")
+def test_guess_lexer_matlab():
+    l = lexers.guess_lexer(r'A \ B')
+    assert l.__class__.__name__ == 'OctaveLexer'
+
+@pytest.mark.skip(reason="This is identified as Python")
+def test_guess_lexer_hybris():
+    l = _guess_lexer_for_file('hybris_File.hy')
+    assert l.__class__.__name__ == 'HybrisLexer'
+
+def test_guess_lexer_forth():
+    l = _guess_lexer_for_file('demo.frt')
+    assert l.__class__.__name__ == 'ForthLexer'
+
+def test_guess_lexer_modula2():
+    l = _guess_lexer_for_file('modula2_test_cases.def')
+    assert l.__class__.__name__ == 'Modula2Lexer'
+
+def test_guess_lexer_unicon():
+    l = _guess_lexer_for_file('example.icn')
+    assert l.__class__.__name__ == 'UcodeLexer'
+
+def test_guess_lexer_ezhil():
+    l = _guess_lexer_for_file('ezhil_primefactors.n')
+    assert l.__class__.__name__ == 'EzhilLexer'
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 7a1c563..3755677
@@ -150,11 +150,11 @@ def test_get_style_defs_contains_default_line_numbers_styles():
 
     assert style_defs[1] == (
         'td.linenos pre '
-        '{ color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }'
+        '{ color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; }'
     )
     assert style_defs[2] == (
         'span.linenos '
-        '{ color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }'
+        '{ color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; }'
     )
 
 
@@ -169,19 +169,19 @@ def test_get_style_defs_contains_style_specific_line_numbers_styles():
 
     assert style_defs[1] == (
         'td.linenos pre '
-        '{ color: #ff0000; background-color: #0000ff; padding: 0 5px 0 5px; }'
+        '{ color: #ff0000; background-color: #0000ff; padding-left: 5px; padding-right: 5px; }'
     )
     assert style_defs[2] == (
         'span.linenos '
-        '{ color: #ff0000; background-color: #0000ff; padding: 0 5px 0 5px; }'
+        '{ color: #ff0000; background-color: #0000ff; padding-left: 5px; padding-right: 5px; }'
     )
     assert style_defs[3] == (
         'td.linenos pre.special '
-        '{ color: #00ff00; background-color: #ffffff; padding: 0 5px 0 5px; }'
+        '{ color: #00ff00; background-color: #ffffff; padding-left: 5px; padding-right: 5px; }'
     )
     assert style_defs[4] == (
         'span.linenos.special '
-        '{ color: #00ff00; background-color: #ffffff; padding: 0 5px 0 5px; }'
+        '{ color: #00ff00; background-color: #ffffff; padding-left: 5px; padding-right: 5px; }'
     )
 
 
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 64d99c6..ccaa355
 import os
 import tempfile
 from os import path
+from textwrap import dedent
 
 import pytest
 
 from pygments.formatters import LatexFormatter
-from pygments.lexers import PythonLexer
+from pygments.formatters.latex import LatexEmbeddedLexer
+from pygments.lexers import PythonLexer, PythonConsoleLexer
+from pygments.token import Token
 
 TESTDIR = path.dirname(path.abspath(__file__))
 TESTFILE = path.join(TESTDIR, 'test_latex_formatter.py')
@@ -49,3 +52,49 @@ def test_valid_output():
 
     os.unlink(pathname)
     os.chdir(old_wd)
+
+
+def test_embedded_lexer():
+    # Latex surrounded by '|' should be Escaped
+    lexer = LatexEmbeddedLexer('|', '|', PythonConsoleLexer())
+
+    # similar to gh-1516
+    src = dedent("""\
+    >>> x = 1
+    >>> y = mul(x, |$z^2$|)  # these |pipes| are untouched
+    >>> y
+    |$1 + z^2$|""")
+
+    assert list(lexer.get_tokens(src)) == [(Token.Name, ''),
+        (Token.Generic.Prompt, '>>> '),
+        (Token.Name, 'x'),
+        (Token.Text, ' '),
+        (Token.Operator, '='),
+        (Token.Text, ' '),
+        (Token.Literal.Number.Integer, '1'),
+        (Token.Text, '\n'),
+        (Token.Generic.Prompt, '>>> '),
+        (Token.Text, ''),
+        (Token.Name, 'y'),
+        (Token.Text, ' '),
+        (Token.Operator, '='),
+        (Token.Text, ' '),
+        (Token.Name, 'mul'),
+        (Token.Punctuation, '('),
+        (Token.Name, 'x'),
+        (Token.Punctuation, ','),
+        (Token.Text, ' '),
+        (Token.Escape, '$z^2$'),
+        (Token.Text, ''),
+        (Token.Punctuation, ')'),
+        (Token.Text, '  '),
+        (Token.Comment.Single, '# these |pipes| are untouched'),  # note: not Token.Escape
+        (Token.Text, '\n'),
+        (Token.Generic.Prompt, '>>> '),
+        (Token.Text, ''),
+        (Token.Name, 'y'),
+        (Token.Text, '\n'),
+        (Token.Escape, '$1 + z^2$'),
+        (Token.Text, ''),
+        (Token.Generic.Output, '\n'),
+    ]
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/tests/test_tnt.py b/tests/test_tnt.py
new file mode 100755 (executable)
index 0000000..e14834a
--- /dev/null
@@ -0,0 +1,204 @@
+# -*- coding: utf-8 -*-
+"""
+    Typograhic Number Theory tests
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import pytest
+
+from pygments.lexers.tnt import TNTLexer
+from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
+     Punctuation, Error
+
+@pytest.fixture(autouse=True)
+def lexer():
+    yield TNTLexer()
+
+# whitespace
+
+@pytest.mark.parametrize('text', ('  a', ' \t0', '\n\n 3'))
+def test_whitespace_positive_matches(lexer, text):
+    """Test fragments that should be tokenized as whitespace text."""
+    assert lexer.whitespace(0, text) == len(text) - 1
+    assert lexer.whitespace(0, text, True) == len(text) - 1
+    assert lexer.cur[-1] == (0, Text, text[:-1])
+
+@pytest.mark.parametrize('text', ('0 a=b premise', 'b=a symmetry'))
+def test_whitespace_negative_matches(lexer, text):
+    """Test statements that do not start with whitespace text."""
+    assert lexer.whitespace(0, text) == 0
+    with pytest.raises(AssertionError):
+        lexer.whitespace(0, text, True)
+    assert not lexer.cur
+
+# terms that can go on either side of an = sign
+
+@pytest.mark.parametrize('text', ('a ', "a' ", 'b ', "c' "))
+def test_variable_positive_matches(lexer, text):
+    """Test fragments that should be tokenized as variables."""
+    assert lexer.variable(0, text) == len(text) - 1
+    assert lexer.cur[-1] == (0, Name.Variable, text[:-1])
+
+@pytest.mark.parametrize('text', ("' ", 'f ', "f' "))
+def test_variable_negative_matches(lexer, text):
+    """Test fragments that should **not** be tokenized as variables."""
+    with pytest.raises(AssertionError):
+        lexer.variable(0, text)
+    assert not lexer.cur
+
+@pytest.mark.parametrize('text', ('0', 'S0', 'SSSSS0'))
+def test_numeral_positive_matches(lexer, text):
+    """Test fragments that should be tokenized as (unary) numerals."""
+    assert lexer.term(0, text) == len(text)
+    assert lexer.cur[-1] == (len(text) - 1, Number.Integer, text[-1])
+    if text != '0':
+        assert lexer.cur[-2] == (0, Number.Integer, text[:-1])
+
+@pytest.mark.parametrize('text', (
+    '(a+b)', '(b.a)', '(c+d)'
+))
+def test_multiterm_positive_matches(lexer, text):
+    """Test fragments that should be tokenized as a compound term."""
+    assert lexer.term(0, text) == len(text)
+    assert [t[1] for t in lexer.cur] == [
+        Punctuation, Name.Variable, Operator,
+        Name.Variable, Punctuation
+    ]
+
+@pytest.mark.parametrize('text', ('1', '=', 'A'))
+def test_term_negative_matches(lexer, text):
+    """Test fragments that should not be tokenized as terms at all."""
+    with pytest.raises(AssertionError):
+        lexer.term(0, text)
+    assert not lexer.cur
+
+# full statements, minus rule
+
+@pytest.mark.parametrize('text', ('~a=b ', '~~~~a=b '))
+def test_negator_positive_matches(lexer, text):
+    """Test statements that start with a negation."""
+    assert lexer.formula(0, text) == len(text) - 1
+    assert lexer.cur[0] == (0, Operator, text[:-4])
+
+@pytest.mark.parametrize('text', ('Aa:a=b ', 'Eb:a=b '))
+def test_quantifier_positive_matches(lexer, text):
+    """Test statements that start with a quantifier."""
+    assert lexer.formula(0, text) == len(text) - 1
+    assert lexer.cur[0][1] == Keyword.Declaration
+    assert lexer.cur[1][1] == Name.Variable
+    assert lexer.cur[2] == (2, Punctuation, ':')
+
+@pytest.mark.parametrize('text', ('Aaa=b', 'Eba=b'))
+def test_quantifier_negative_matches(lexer, text):
+    """Test quantifiers that are only partially valid."""
+    with pytest.raises(AssertionError):
+        lexer.formula(0, text)
+    # leftovers should still be valid
+    assert lexer.cur[0][1] == Keyword.Declaration
+    assert lexer.cur[1][1] == Name.Variable
+
+@pytest.mark.parametrize('text', ('<a=b&b=a>', '<a=b|b=a>', '<a=b]b=a>'))
+def test_compound_positive_matches(lexer, text):
+    """Test statements that consist of multiple formulas compounded."""
+    assert lexer.formula(0, text) == len(text)
+    assert lexer.cur[0] == (0, Punctuation, '<')
+    assert lexer.cur[4][1] == Operator
+    assert lexer.cur[-1] == (len(text)-1, Punctuation, '>')
+
+@pytest.mark.parametrize('text', ('<a=b/b=a>', '<a=b&b=a '))
+def test_compound_negative_matches(lexer, text):
+    """Test statements that look like compounds but are invalid."""
+    with pytest.raises(AssertionError):
+        lexer.formula(0, text)
+    assert lexer.cur[0] == (0, Punctuation, '<')
+
+@pytest.mark.parametrize('text', ('a=b ', 'a=0 ', '0=b '))
+def test_formula_postive_matches(lexer, text):
+    """Test the normal singular formula."""
+    assert lexer.formula(0, text) == len(text) - 1
+    assert lexer.cur[0][2] == text[0]
+    assert lexer.cur[1] == (1, Operator, '=')
+    assert lexer.cur[2][2] == text[2]
+
+@pytest.mark.parametrize('text', ('a/b', '0+0 '))
+def test_formula_negative_matches(lexer, text):
+    """Test anything but an equals sign."""
+    with pytest.raises(AssertionError):
+        lexer.formula(0, text)
+
+# rules themselves
+
+@pytest.mark.parametrize('text', (
+    'fantasy rule', 'carry over line 5', 'premise', 'joining',
+    'double-tilde', 'switcheroo', 'De Morgan', 'specification'
+))
+def test_rule_positive_matches(lexer, text):
+    """Test some valid rules of TNT."""
+    assert lexer.rule(0, text) == len(text)
+    assert lexer.cur[0][:2] == (0, Keyword)
+    if text[-1].isdigit():
+        assert lexer.cur[1][1] == Number.Integer
+
+@pytest.mark.parametrize('text', (
+    'fantasy', 'carry over', 'premse', 'unjoining',
+    'triple-tilde', 'switcheru', 'De-Morgan', 'despecification'
+))
+def test_rule_negative_matches(lexer, text):
+    """Test some invalid rules of TNT."""
+    with pytest.raises(AssertionError):
+        lexer.rule(0, text)
+
+# referrals
+
+@pytest.mark.parametrize('text', ('(lines 1, 2, and 4)', '(line 3,5,6)', '(lines 1, 6 and 0)'))
+def test_lineno_positive_matches(lexer, text):
+    """Test line referrals."""
+    assert lexer.lineno(0, text) == len(text)
+    assert lexer.cur[0] == (0, Punctuation, '(')
+    assert lexer.cur[1][:2] == (1, Text)
+    assert lexer.cur[2][1] == Number.Integer
+    assert lexer.cur[3] == (len(text)-1, Punctuation, ')')
+
+@pytest.mark.parametrize('text', (
+    '(lines one, two, and four)1 ', # to avoid IndexError
+    '(lines 1 2 and 3)', '(lines 1 2 3)'
+))
+def test_lineno_negative_matches(lexer, text):
+    """Test invalid line referrals."""
+    with pytest.raises(AssertionError):
+        lexer.lineno(0, text)
+
+# worst-case: error text
+
+@pytest.mark.parametrize('text', ('asdf', 'fdsa\nasdf', 'asdf\n  '))
+def test_error_till_line_end(lexer, text):
+    try:
+        nl = text.index('\n')
+    except ValueError:
+        nl = len(text)
+    try:
+        end = text.find(text.split(None, 2)[1])
+    except IndexError: # split failed
+        end = len(text)
+    assert lexer.error_till_line_end(0, text) == end
+    assert lexer.cur[0] == (0, Error, text[:nl])
+
+# full statement, including rule (because this can't be tested any other way)
+
+@pytest.mark.parametrize('text', ('[ push', '] pop'))
+def test_fantasy_positive_matches(lexer, text):
+    """Test statements that should be tokenized as push/pop statements."""
+    assert lexer.get_tokens_unprocessed(text)[0] == (0, Keyword, text[0])
+
+# full text is already done by examplefiles, but here's some exceptions
+
+@pytest.mark.parametrize('text', (
+    '0', 'a=b', 'premise',
+    '0 a=b premise', '1 b=a symmetry (line 0)'
+))
+def test_no_crashing(lexer, text):
+    """Test incomplete text fragments that shouldn't crash the whole lexer."""
+    assert lexer.get_tokens(text)
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/tox.ini b/tox.ini
deleted file mode 100644 (file)
index fc15a81..0000000
--- a/tox.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-[tox]
-envlist = py35, py36, py37, py38, pypy3
-
-[testenv]
-deps =
-    pytest
-    pytest-cov
-commands = py.test {posargs}