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

diff --git a/AUTHORS b/AUTHORS
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/CHANGES b/CHANGES
old mode 100755 (executable)
new mode 100644 (file)
index 8a3c179..5e0c868
--- a/CHANGES
+++ b/CHANGES
@@ -11,6 +11,31 @@ Version 2.8.0
 -------------
 (not released yet)
 
+Version 2.7.3
+-------------
+(released December 6, 2020)
+
+- Updated lexers:
+
+  * Ada (PR#1581)
+  * HTML (PR#1615, #1614)
+  * Java (PR#1594, #1586)
+  * JavaScript (PR#1605, PR#1589, #1588)
+  * JSON (PR#1569 -- this is a complete rewrite)
+  * Lean (PR#1601)
+  * LLVM (PR#1612)
+  * Mason (PR#1592)
+  * MySQL (PR#1555, #1551)
+  * Rust (PR#1608)
+  * Turtle (PR#1590, #1553)
+
+- Deprecated JsonBareObjectLexer, which is now identical to JsonLexer (#1600)
+- The ``ImgFormatter`` now calculates the exact character width, which fixes some issues with overlapping text (#1213, PR#1611)
+- Documentation fixes (PR#1609, #1599, #1598)
+- Fixed duplicated Juttle language alias (#1604, PR#1606)
+- Added support for Kotlin scripts (PR#1587)
+- Removed CSS rule which forced margin to 0
+  
 
 Version 2.7.2
 -------------
@@ -22,15 +47,14 @@ Version 2.7.2
   * LLVM (PR#1565)
   * SPARQL (PR#1559)
 
-- Fixed Python console/traceback lexer problems with
-  custom exceptions without messages (#1548)
+- 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)
+- Improved ``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)
+- Fixed ``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)
+- Fixed typos (PR#1550, #1562)
+- Added Python 3.9 as a supported version (PR#1554)
 
 
 Version 2.7.1
diff --git a/LICENSE b/LICENSE
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 40f9d03..00b28af
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: Pygments
-Version: 2.7.2
+Version: 2.7.3
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
old mode 100755 (executable)
new mode 100644 (file)
index 40f9d03..00b28af
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: Pygments
-Version: 2.7.2
+Version: 2.7.3
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
old mode 100755 (executable)
new mode 100644 (file)
index 8a97390..166b1b1
@@ -334,6 +334,7 @@ tests/test_haskell.py
 tests/test_hdl.py
 tests/test_html_formatter.py
 tests/test_html_formatter_linenos_elements.py
+tests/test_html_lexer.py
 tests/test_idris.py
 tests/test_inherit.py
 tests/test_irc_formatter.py
@@ -357,6 +358,7 @@ tests/test_properties.py
 tests/test_python.py
 tests/test_qbasiclexer.py
 tests/test_r.py
+tests/test_rdf.py
 tests/test_regexlexer.py
 tests/test_regexopt.py
 tests/test_rtf_formatter.py
@@ -364,6 +366,7 @@ tests/test_ruby.py
 tests/test_shell.py
 tests/test_smarty.py
 tests/test_sql.py
+tests/test_templates.py
 tests/test_terminal_formatter.py
 tests/test_textfmts.py
 tests/test_tnt.py
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 446171e..e5a2783
@@ -28,7 +28,7 @@
 import sys
 from io import StringIO, BytesIO
 
-__version__ = '2.7.2'
+__version__ = '2.7.3'
 __docformat__ = 'restructuredtext'
 
 __all__ = ['lex', 'format', 'highlight']
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 97c67cd..e49b88c
@@ -9,6 +9,7 @@
     :license: BSD, see LICENSE for details.
 """
 
+import functools
 import os
 import sys
 import os.path
@@ -414,6 +415,7 @@ class HtmlFormatter(Formatter):
         self.tagurlformat = self._decodeifneeded(options.get('tagurlformat', ''))
         self.filename = self._decodeifneeded(options.get('filename', ''))
         self.wrapcode = get_bool_opt(options, 'wrapcode', False)
+        self.span_element_openers = {}
 
         if self.tagsfile:
             if not ctags:
@@ -455,13 +457,20 @@ class HtmlFormatter(Formatter):
         return ''
 
     def _get_css_classes(self, ttype):
-        """Return the css classes of this token type prefixed with
-        the classprefix option."""
+        """Generate the opening <span> tag for a given token type using CSS classes."""
         cls = self._get_css_class(ttype)
         while ttype not in STANDARD_TYPES:
             ttype = ttype.parent
             cls = self._get_css_class(ttype) + ' ' + cls
-        return cls
+        return cls and '<span class="%s">' % cls or ''
+
+    def _get_css_inline_styles(self, ttype):
+        """Generate the opening <span> tag for a given token type using inline CSS styles."""
+        cclass = self.ttype2class.get(ttype)
+        while cclass is None:
+            ttype = ttype.parent
+            cclass = self.ttype2class.get(ttype)
+        return cclass and '<span style="%s">' % self.class2style[cclass][0] or ''
 
     def _create_stylesheet(self):
         t2c = self.ttype2class = {Token: ''}
@@ -572,7 +581,7 @@ class HtmlFormatter(Formatter):
 
     @property
     def _pre_style(self):
-        return 'line-height: 125%; margin: 0;'
+        return 'line-height: 125%;'
 
     @property
     def _linenos_style(self):
@@ -786,6 +795,11 @@ class HtmlFormatter(Formatter):
         yield from inner
         yield 0, '</code>'
 
+    @functools.lru_cache(maxsize=100)
+    def _translate_parts(self, value):
+        """HTML-escape a value and split it by newlines."""
+        return value.translate(_escape_html_table).split('\n')
+
     def _format_lines(self, tokensource):
         """
         Just format the tokens, without any wrapping tags.
@@ -793,26 +807,20 @@ class HtmlFormatter(Formatter):
         """
         nocls = self.noclasses
         lsep = self.lineseparator
-        # for <span style=""> lookup only
-        getcls = self.ttype2class.get
-        c2s = self.class2style
-        escape_table = _escape_html_table
         tagsfile = self.tagsfile
 
         lspan = ''
         line = []
         for ttype, value in tokensource:
-            if nocls:
-                cclass = getcls(ttype)
-                while cclass is None:
-                    ttype = ttype.parent
-                    cclass = getcls(ttype)
-                cspan = cclass and '<span style="%s">' % c2s[cclass][0] or ''
-            else:
-                cls = self._get_css_classes(ttype)
-                cspan = cls and '<span class="%s">' % cls or ''
+            try:
+                cspan = self.span_element_openers[ttype]
+            except KeyError:
+                if nocls:
+                    cspan = self.span_element_openers[ttype] = self._get_css_inline_styles(ttype)
+                else:
+                    cspan = self.span_element_openers[ttype] = self._get_css_classes(ttype)
 
-            parts = value.translate(escape_table).split('\n')
+            parts = self._translate_parts(value)
 
             if tagsfile and ttype in Token.Name:
                 filename, linenumber = self._lookup_ctag(value)
old mode 100755 (executable)
new mode 100644 (file)
index 6a9a1eb..ef97361
@@ -209,6 +209,12 @@ class FontManager:
         """
         return self.fonts['NORMAL'].getsize('M')
 
+    def get_text_size(self, text):
+        """
+        Get the text size(width, height).
+        """
+        return self.fonts['NORMAL'].getsize(text)
+
     def get_font(self, bold, oblique):
         """
         Get the font based on bold and italic flags.
@@ -419,17 +425,17 @@ class ImageFormatter(Formatter):
         """
         return self.fontw
 
-    def _get_char_x(self, charno):
+    def _get_char_x(self, linelength):
         """
         Get the X coordinate of a character position.
         """
-        return charno * self.fontw + self.image_pad + self.line_number_width
+        return linelength + self.image_pad + self.line_number_width
 
-    def _get_text_pos(self, charno, lineno):
+    def _get_text_pos(self, linelength, lineno):
         """
         Get the actual position for a character and line position.
         """
-        return self._get_char_x(charno), self._get_line_y(lineno)
+        return self._get_char_x(linelength), self._get_line_y(lineno)
 
     def _get_linenumber_pos(self, lineno):
         """
@@ -453,11 +459,11 @@ class ImageFormatter(Formatter):
         """
         return self.fonts.get_font(style['bold'], style['italic'])
 
-    def _get_image_size(self, maxcharno, maxlineno):
+    def _get_image_size(self, maxlinelength, maxlineno):
         """
         Get the required image size.
         """
-        return (self._get_char_x(maxcharno) + self.image_pad,
+        return (self._get_char_x(maxlinelength) + self.image_pad,
                 self._get_line_y(maxlineno + 0) + self.image_pad)
 
     def _draw_linenumber(self, posno, lineno):
@@ -483,6 +489,7 @@ class ImageFormatter(Formatter):
         Create drawables for the token content.
         """
         lineno = charno = maxcharno = 0
+        maxlinelength = linelength = 0
         for ttype, value in tokensource:
             while ttype not in self.styles:
                 ttype = ttype.parent
@@ -497,17 +504,22 @@ class ImageFormatter(Formatter):
                 temp = line.rstrip('\n')
                 if temp:
                     self._draw_text(
-                        self._get_text_pos(charno, lineno),
+                        self._get_text_pos(linelength, lineno),
                         temp,
                         font = self._get_style_font(style),
                         fill = self._get_text_color(style)
                     )
+                    temp_width, temp_hight = self.fonts.get_text_size(temp)
+                    linelength += temp_width
+                    maxlinelength = max(maxlinelength, linelength)
                     charno += len(temp)
                     maxcharno = max(maxcharno, charno)
                 if line.endswith('\n'):
                     # add a line for each extra line in the value
+                    linelength = 0
                     charno = 0
                     lineno += 1
+        self.maxlinelength = maxlinelength
         self.maxcharno = maxcharno
         self.maxlineno = lineno
 
@@ -551,7 +563,7 @@ class ImageFormatter(Formatter):
         self._draw_line_numbers()
         im = Image.new(
             'RGB',
-            self._get_image_size(self.maxcharno, self.maxlineno),
+            self._get_image_size(self.maxlinelength, self.maxlineno),
             self.background_color
         )
         self._paint_line_number_bg(im)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 5daf20c..8360ec4
@@ -228,18 +228,18 @@ LEXERS = {
     'JavascriptSmartyLexer': ('pygments.lexers.templates', 'JavaScript+Smarty', ('js+smarty', 'javascript+smarty'), (), ('application/x-javascript+smarty', 'text/x-javascript+smarty', 'text/javascript+smarty')),
     'JclLexer': ('pygments.lexers.scripting', 'JCL', ('jcl',), ('*.jcl',), ('text/x-jcl',)),
     'JsgfLexer': ('pygments.lexers.grammar_notation', 'JSGF', ('jsgf',), ('*.jsgf',), ('application/jsgf', 'application/x-jsgf', 'text/jsgf')),
-    'JsonBareObjectLexer': ('pygments.lexers.data', 'JSONBareObject', ('json-object',), (), ('application/json-object',)),
+    'JsonBareObjectLexer': ('pygments.lexers.data', 'JSONBareObject', (), (), ()),
     'JsonLdLexer': ('pygments.lexers.data', 'JSON-LD', ('jsonld', 'json-ld'), ('*.jsonld',), ('application/ld+json',)),
-    'JsonLexer': ('pygments.lexers.data', 'JSON', ('json',), ('*.json', 'Pipfile.lock'), ('application/json',)),
+    'JsonLexer': ('pygments.lexers.data', 'JSON', ('json', 'json-object'), ('*.json', 'Pipfile.lock'), ('application/json', 'application/json-object')),
     'JspLexer': ('pygments.lexers.templates', 'Java Server Page', ('jsp',), ('*.jsp',), ('application/x-jsp',)),
     'JuliaConsoleLexer': ('pygments.lexers.julia', 'Julia console', ('jlcon',), (), ()),
     'JuliaLexer': ('pygments.lexers.julia', 'Julia', ('julia', 'jl'), ('*.jl',), ('text/x-julia', 'application/x-julia')),
-    'JuttleLexer': ('pygments.lexers.javascript', 'Juttle', ('juttle', 'juttle'), ('*.juttle',), ('application/juttle', 'application/x-juttle', 'text/x-juttle', 'text/juttle')),
+    'JuttleLexer': ('pygments.lexers.javascript', 'Juttle', ('juttle',), ('*.juttle',), ('application/juttle', 'application/x-juttle', 'text/x-juttle', 'text/juttle')),
     'KalLexer': ('pygments.lexers.javascript', 'Kal', ('kal',), ('*.kal',), ('text/kal', 'application/kal')),
     'KconfigLexer': ('pygments.lexers.configs', 'Kconfig', ('kconfig', 'menuconfig', 'linux-config', 'kernel-config'), ('Kconfig*', '*Config.in*', 'external.in*', 'standard-modules.in'), ('text/x-kconfig',)),
     'KernelLogLexer': ('pygments.lexers.textfmts', 'Kernel log', ('kmsg', 'dmesg'), ('*.kmsg', '*.dmesg'), ()),
     'KokaLexer': ('pygments.lexers.haskell', 'Koka', ('koka',), ('*.kk', '*.kki'), ('text/x-koka',)),
-    'KotlinLexer': ('pygments.lexers.jvm', 'Kotlin', ('kotlin',), ('*.kt',), ('text/x-kotlin',)),
+    'KotlinLexer': ('pygments.lexers.jvm', 'Kotlin', ('kotlin',), ('*.kt', '*.kts'), ('text/x-kotlin',)),
     'LSLLexer': ('pygments.lexers.scripting', 'LSL', ('lsl',), ('*.lsl',), ('text/x-lsl',)),
     'LassoCssLexer': ('pygments.lexers.templates', 'CSS+Lasso', ('css+lasso',), (), ('text/css+lasso',)),
     'LassoHtmlLexer': ('pygments.lexers.templates', 'HTML+Lasso', ('html+lasso',), (), ('text/html+lasso', 'application/x-httpd-lasso', 'application/x-httpd-lasso[89]')),
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 72d36e0..afa60f0
@@ -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',
+                'optnone', 'optsize', 'or', 'ord', 'path', 'personality', 'phi', 'poison',
                 'prefix', 'preserve_allcc', 'preserve_mostcc', 'private', 'prologue',
                 'protected', 'ptrtoint', 'ptx_device', 'ptx_kernel', 'readnone', 'readNone',
                 'readonly', 'readOnly', 'reassoc', 'refs', 'relbf', 'release', 'resByArg',
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index fa05b10..626c7c6
@@ -11,7 +11,7 @@
 
 import re
 
-from pygments.lexer import RegexLexer, ExtendedRegexLexer, LexerContext, \
+from pygments.lexer import Lexer, RegexLexer, ExtendedRegexLexer, LexerContext, \
     include, bygroups, inherit
 from pygments.token import Text, Comment, Keyword, Name, String, Number, \
     Punctuation, Literal, Error
@@ -436,7 +436,7 @@ class YamlLexer(ExtendedRegexLexer):
         return super().get_tokens_unprocessed(text, context)
 
 
-class JsonLexer(RegexLexer):
+class JsonLexer(Lexer):
     """
     For JSON data structures.
 
@@ -444,75 +444,192 @@ class JsonLexer(RegexLexer):
     """
 
     name = 'JSON'
-    aliases = ['json']
+    aliases = ['json', 'json-object']
     filenames = ['*.json', 'Pipfile.lock']
-    mimetypes = ['application/json']
+    mimetypes = ['application/json', 'application/json-object']
+
+    # No validation of integers, floats, or constants is done.
+    # As long as the characters are members of the following
+    # sets, the token will be considered valid. For example,
+    #
+    #     "--1--" is parsed as an integer
+    #     "1...eee" is parsed as a float
+    #     "trustful" is parsed as a constant
+    #
+    integers = set('-0123456789')
+    floats = set('.eE+')
+    constants = set('truefalsenull')  # true|false|null
+    hexadecimals = set('0123456789abcdefABCDEF')
+    punctuations = set('{}[],')
+    whitespaces = {'\u0020', '\u000a', '\u000d', '\u0009'}
+
+    def get_tokens_unprocessed(self, text):
+        """Parse JSON data."""
+
+        in_string = False
+        in_escape = False
+        in_unicode_escape = 0
+        in_whitespace = False
+        in_constant = False
+        in_number = False
+        in_float = False
+        in_punctuation = False
+
+        start = 0
+
+        # The queue is used to store data that may need to be tokenized
+        # differently based on what follows. In particular, JSON object
+        # keys are tokenized differently than string values, but cannot
+        # be distinguished until punctuation is encountered outside the
+        # string.
+        #
+        # A ":" character after the string indicates that the string is
+        # an object key; any other character indicates the string is a
+        # regular string value.
+        #
+        # The queue holds tuples that contain the following data:
+        #
+        #     (start_index, token_type, text)
+        #
+        # By default the token type of text in double quotes is
+        # String.Double. The token type will be replaced if a colon
+        # is encountered after the string closes.
+        #
+        queue = []
+
+        for stop, character in enumerate(text):
+            if in_string:
+                if in_unicode_escape:
+                    if character in self.hexadecimals:
+                        in_unicode_escape -= 1
+                        if not in_unicode_escape:
+                            in_escape = False
+                    else:
+                        in_unicode_escape = 0
+                        in_escape = False
+
+                elif in_escape:
+                    if character == 'u':
+                        in_unicode_escape = 4
+                    else:
+                        in_escape = False
+
+                elif character == '\\':
+                    in_escape = True
+
+                elif character == '"':
+                    queue.append((start, String.Double, text[start:stop + 1]))
+                    in_string = False
+                    in_escape = False
+                    in_unicode_escape = 0
+
+                continue
+
+            elif in_whitespace:
+                if character in self.whitespaces:
+                    continue
+
+                if queue:
+                    queue.append((start, Text, text[start:stop]))
+                else:
+                    yield start, Text, text[start:stop]
+                in_whitespace = False
+                # Fall through so the new character can be evaluated.
+
+            elif in_constant:
+                if character in self.constants:
+                    continue
+
+                yield start, Keyword.Constant, text[start:stop]
+                in_constant = False
+                # Fall through so the new character can be evaluated.
+
+            elif in_number:
+                if character in self.integers:
+                    continue
+                elif character in self.floats:
+                    in_float = True
+                    continue
+
+                if in_float:
+                    yield start, Number.Float, text[start:stop]
+                else:
+                    yield start, Number.Integer, text[start:stop]
+                in_number = False
+                in_float = False
+                # Fall through so the new character can be evaluated.
+
+            elif in_punctuation:
+                if character in self.punctuations:
+                    continue
+
+                yield start, Punctuation, text[start:stop]
+                in_punctuation = False
+                # Fall through so the new character can be evaluated.
+
+            start = stop
+
+            if character == '"':
+                in_string = True
+
+            elif character in self.whitespaces:
+                in_whitespace = True
+
+            elif character in {'f', 'n', 't'}:  # The first letters of true|false|null
+                # Exhaust the queue. Accept the existing token types.
+                yield from queue
+                queue.clear()
+
+                in_constant = True
+
+            elif character in self.integers:
+                # Exhaust the queue. Accept the existing token types.
+                yield from queue
+                queue.clear()
+
+                in_number = True
+
+            elif character == ':':
+                # Yield from the queue. Replace string token types.
+                for _start, _token, _text in queue:
+                    if _token is Text:
+                        yield _start, _token, _text
+                    elif _token is String.Double:
+                        yield _start, Name.Tag, _text
+                    else:
+                        yield _start, Error, _text
+                queue.clear()
+
+                in_punctuation = True
+
+            elif character in self.punctuations:
+                # Exhaust the queue. Accept the existing token types.
+                yield from queue
+                queue.clear()
+
+                in_punctuation = True
 
-    flags = re.DOTALL
-
-    # integer part of a number
-    int_part = r'-?(0|[1-9]\d*)'
-
-    # fractional part of a number
-    frac_part = r'\.\d+'
-
-    # exponential part of a number
-    exp_part = r'[eE](\+|-)?\d+'
-
-    tokens = {
-        'whitespace': [
-            (r'\s+', Text),
-        ],
-
-        # represents a simple terminal value
-        'simplevalue': [
-            (r'(true|false|null)\b', Keyword.Constant),
-            (('%(int_part)s(%(frac_part)s%(exp_part)s|'
-              '%(exp_part)s|%(frac_part)s)') % vars(),
-             Number.Float),
-            (int_part, Number.Integer),
-            (r'"(\\(["\\/bfnrt]|u[a-fA-F0-9]{4})|[^\\"])*"', String.Double),
-        ],
-
-
-        # the right hand side of an object, after the attribute name
-        'objectattribute': [
-            include('value'),
-            (r':', Punctuation),
-            # comma terminates the attribute but expects more
-            (r',', Punctuation, '#pop'),
-            # a closing bracket terminates the entire object, so pop twice
-            (r'\}', Punctuation, '#pop:2'),
-        ],
-
-        # a json object - { attr, attr, ... }
-        'objectvalue': [
-            include('whitespace'),
-            (r'"(\\(["\\/bfnrt]|u[a-fA-F0-9]{4})|[^\\"])*"', Name.Tag, 'objectattribute'),
-            (r'\}', Punctuation, '#pop'),
-        ],
-
-        # json array - [ value, value, ... }
-        'arrayvalue': [
-            include('whitespace'),
-            include('value'),
-            (r',', Punctuation),
-            (r'\]', Punctuation, '#pop'),
-        ],
-
-        # a json value - either a simple value or a complex value (object or array)
-        'value': [
-            include('whitespace'),
-            include('simplevalue'),
-            (r'\{', Punctuation, 'objectvalue'),
-            (r'\[', Punctuation, 'arrayvalue'),
-        ],
-
-        # the root of a json document whould be a value
-        'root': [
-            include('value'),
-        ],
-    }
+            else:
+                # Exhaust the queue. Accept the existing token types.
+                yield from queue
+                queue.clear()
+
+                yield start, Error, character
+
+        # Yield any remaining text.
+        yield from queue
+        if in_string:
+            yield start, Error, text[start:]
+        elif in_float:
+            yield start, Number.Float, text[start:]
+        elif in_number:
+            yield start, Number.Integer, text[start:]
+        elif in_constant:
+            yield start, Keyword.Constant, text[start:]
+        elif in_whitespace:
+            yield start, Text, text[start:]
+        elif in_punctuation:
+            yield start, Punctuation, text[start:]
 
 
 class JsonBareObjectLexer(JsonLexer):
@@ -520,28 +637,21 @@ class JsonBareObjectLexer(JsonLexer):
     For JSON data structures (with missing object curly braces).
 
     .. versionadded:: 2.2
+
+    .. deprecated:: 2.8.0
+
+       Behaves the same as `JsonLexer` now.
     """
 
     name = 'JSONBareObject'
-    aliases = ['json-object']
+    aliases = []
     filenames = []
-    mimetypes = ['application/json-object']
-
-    tokens = {
-        'root': [
-            (r'\}', Error),
-            include('objectvalue'),
-        ],
-        'objectattribute': [
-            (r'\}', Error),
-            inherit,
-        ],
-    }
+    mimetypes = []
 
 
 class JsonLdLexer(JsonLexer):
     """
-    For `JSON-LD <http://json-ld.org/>`_ linked data.
+    For `JSON-LD <https://json-ld.org/>`_ linked data.
 
     .. versionadded:: 2.0
     """
@@ -551,11 +661,38 @@ class JsonLdLexer(JsonLexer):
     filenames = ['*.jsonld']
     mimetypes = ['application/ld+json']
 
-    tokens = {
-        'objectvalue': [
-            (r'"@(context|id|value|language|type|container|list|set|'
-             r'reverse|index|base|vocab|graph)"', Name.Decorator,
-             'objectattribute'),
-            inherit,
-        ],
+    json_ld_keywords = {
+        '"@%s"' % keyword
+        for keyword in (
+            'base',
+            'container',
+            'context',
+            'direction',
+            'graph',
+            'id',
+            'import',
+            'included',
+            'index',
+            'json',
+            'language',
+            'list',
+            'nest',
+            'none',
+            'prefix',
+            'propagate',
+            'protected',
+            'reverse',
+            'set',
+            'type',
+            'value',
+            'version',
+            'vocab',
+        )
     }
+
+    def get_tokens_unprocessed(self, text):
+        for start, token, value in super(JsonLdLexer, self).get_tokens_unprocessed(text):
+            if token is Name.Tag and value in self.json_ld_keywords:
+                yield start, Name.Decorator, value
+            else:
+                yield start, token, value
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index bfa8909..170c3e7
@@ -21,7 +21,7 @@ __all__ = ['ECLLexer']
 class ECLLexer(RegexLexer):
     """
     Lexer for the declarative big-data `ECL
-    <http://hpccsystems.com/community/docs/ecl-language-reference/html>`_
+    <https://hpccsystems.com/training/documentation/ecl-language-reference/html>`_
     language.
 
     .. versionadded:: 1.5
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 2771480..1fd3f6c
@@ -77,12 +77,24 @@ class HtmlLexer(RegexLexer):
              bygroups(Punctuation, Text, Punctuation, Text, Name.Tag, Text,
                       Punctuation), '#pop'),
             (r'.+?(?=<\s*/\s*script\s*>)', using(JavascriptLexer)),
+            # fallback cases for when there is no closing script tag
+            # first look for newline and then go back into root state
+            # if that fails just read the rest of the file
+            # this is similar to the error handling logic in lexer.py
+            (r'.+?\n', using(JavascriptLexer), '#pop'),
+            (r'.+', using(JavascriptLexer), '#pop'),
         ],
         'style-content': [
             (r'(<)(\s*)(/)(\s*)(style)(\s*)(>)',
              bygroups(Punctuation, Text, Punctuation, Text, Name.Tag, Text,
                       Punctuation),'#pop'),
             (r'.+?(?=<\s*/\s*style\s*>)', using(CssLexer)),
+            # fallback cases for when there is no closing style tag
+            # first look for newline and then go back into root state
+            # if that fails just read the rest of the file
+            # this is similar to the error handling logic in lexer.py
+            (r'.+?\n', using(CssLexer), '#pop'),
+            (r'.+', using(CssLexer), '#pop'),
         ],
         'attr': [
             ('".*?"', String, '#pop'),
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 0a689ea..49bf6d2
@@ -81,7 +81,7 @@ class JavascriptLexer(RegexLexer):
             (r'[{(\[;,]', Punctuation, 'slashstartsregex'),
             (r'[})\].]', Punctuation),
             (r'(for|in|while|do|break|return|continue|switch|case|default|if|else|'
-             r'throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|'
+             r'throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|await|async|'
              r'this|of)\b', Keyword, 'slashstartsregex'),
             (r'(var|let|with|function)\b', Keyword.Declaration, 'slashstartsregex'),
             (r'(abstract|boolean|byte|char|class|const|debugger|double|enum|export|'
@@ -1481,7 +1481,7 @@ class JuttleLexer(RegexLexer):
     """
 
     name = 'Juttle'
-    aliases = ['juttle', 'juttle']
+    aliases = ['juttle']
     filenames = ['*.juttle']
     mimetypes = ['application/juttle', 'application/x-juttle',
                  'text/x-juttle', 'text/juttle']
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index ee0bc7a..1dab164
@@ -65,7 +65,7 @@ class JavaLexer(RegexLexer):
              'var'),
             (r'(import(?:\s+static)?)(\s+)', bygroups(Keyword.Namespace, Text),
              'import'),
-            (r'"(\\\\|\\"|[^"])*"', String),
+            (r'"', String, 'string'),
             (r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char),
             (r'(\.)((?:[^\W\d]|\$)[\w$]*)', bygroups(Punctuation,
                                                      Name.Attribute)),
@@ -96,6 +96,13 @@ class JavaLexer(RegexLexer):
         'import': [
             (r'[\w.]+\*?', Name.Namespace, '#pop')
         ],
+        'string': [
+            (r'[^\\"]+', String),
+            (r'\\\\', String),  # Escaped backslash
+            (r'\\"', String),  # Escaped quote
+            (r'\\', String),  # Bare backslash
+            (r'"', String, '#pop'),  # Closing quote
+        ],
     }
 
 
@@ -1020,7 +1027,7 @@ class KotlinLexer(RegexLexer):
 
     name = 'Kotlin'
     aliases = ['kotlin']
-    filenames = ['*.kt']
+    filenames = ['*.kt', '*.kts']
     mimetypes = ['text/x-kotlin']
 
     flags = re.MULTILINE | re.DOTALL | re.UNICODE
@@ -1042,6 +1049,7 @@ class KotlinLexer(RegexLexer):
             (r'\s+', Text),
             (r'\\\n', Text),  # line continuation
             (r'//.*?\n', Comment.Single),
+            (r'^#!/.+?\n', Comment.Single),  # shebang for kotlin scripts
             (r'/[*].*?[*]/', Comment.Multiline),
             (r'""".*?"""', String),
             (r'\n', Text),
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 7e0223d..6756e23
@@ -563,9 +563,9 @@ class AdaLexer(RegexLexer):
                 'exception', 'exit', 'interface', 'for', 'goto', 'if', 'is', 'limited',
                 'loop', 'new', 'null', 'of', 'or', 'others', 'out', 'overriding',
                 'pragma', 'protected', 'raise', 'range', 'record', 'renames', 'requeue',
-                'return', 'reverse', 'select', 'separate', 'subtype', 'synchronized',
-                'task', 'tagged', 'terminate', 'then', 'type', 'until', 'when',
-                'while', 'xor'), prefix=r'\b', suffix=r'\b'),
+                'return', 'reverse', 'select', 'separate', 'some', 'subtype',
+                'synchronized', 'task', 'tagged', 'terminate', 'then', 'type', 'until',
+                'when', 'while', 'xor'), prefix=r'\b', suffix=r'\b'),
              Keyword.Reserved),
             (r'"[^"]*"', String),
             include('attribute'),
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 0f2cdc1..917807a
@@ -187,19 +187,61 @@ class TurtleLexer(RegexLexer):
     filenames = ['*.ttl']
     mimetypes = ['text/turtle', 'application/x-turtle']
 
-    flags = re.IGNORECASE
+    # character group definitions ::
+    PN_CHARS_BASE_GRP = ('a-zA-Z'
+                         '\u00c0-\u00d6'
+                         '\u00d8-\u00f6'
+                         '\u00f8-\u02ff'
+                         '\u0370-\u037d'
+                         '\u037f-\u1fff'
+                         '\u200c-\u200d'
+                         '\u2070-\u218f'
+                         '\u2c00-\u2fef'
+                         '\u3001-\ud7ff'
+                         '\uf900-\ufdcf'
+                         '\ufdf0-\ufffd')
+
+    PN_CHARS_U_GRP = (PN_CHARS_BASE_GRP + '_')
+
+    PN_CHARS_GRP = (PN_CHARS_U_GRP +
+                    r'\-' +
+                    r'0-9' +
+                    '\u00b7' +
+                    '\u0300-\u036f' +
+                    '\u203f-\u2040')
+
+    PN_CHARS = '[' + PN_CHARS_GRP + ']'
+
+    PN_CHARS_BASE = '[' + PN_CHARS_BASE_GRP + ']'
+
+    PN_PREFIX = PN_CHARS_BASE + '(?:[' + PN_CHARS_GRP + '.]*' + PN_CHARS + ')?'
+
+    HEX_GRP = '0-9A-Fa-f'
+
+    HEX = '[' + HEX_GRP + ']'
+
+    PERCENT = '%' + HEX + HEX
+
+    PN_LOCAL_ESC_CHARS_GRP = r' _~.\-!$&"()*+,;=/?#@%'
+
+    PN_LOCAL_ESC_CHARS = '[' + PN_LOCAL_ESC_CHARS_GRP + ']'
+
+    PN_LOCAL_ESC = r'\\' + PN_LOCAL_ESC_CHARS
+
+    PLX = '(?:' + PERCENT + ')|(?:' + PN_LOCAL_ESC + ')'
+
+    PN_LOCAL = ('(?:[' + PN_CHARS_U_GRP + ':0-9' + ']|' + PLX + ')' +
+                '(?:(?:[' + PN_CHARS_GRP + '.:]|' + PLX + ')*(?:[' +
+                PN_CHARS_GRP + ':]|' + PLX + '))?')
 
     patterns = {
-        'PNAME_NS': r'((?:[a-z][\w-]*)?\:)',  # Simplified character range
+        'PNAME_NS': r'((?:[a-zA-Z][\w-]*)?\:)',  # Simplified character range
         'IRIREF': r'(<[^<>"{}|^`\\\x00-\x20]*>)'
     }
 
-    # PNAME_NS PN_LOCAL (with simplified character range)
-    patterns['PrefixedName'] = r'%(PNAME_NS)s([a-z][\w-]*)' % patterns
-
     tokens = {
         'root': [
-            (r'\s+', Whitespace),
+            (r'\s+', Text),
 
             # Base / prefix
             (r'(@base|BASE)(\s+)%(IRIREF)s(\s*)(\.?)' % patterns,
@@ -216,8 +258,8 @@ class TurtleLexer(RegexLexer):
             (r'%(IRIREF)s' % patterns, Name.Variable),
 
             # PrefixedName
-            (r'%(PrefixedName)s' % patterns,
-             bygroups(Name.Namespace, Name.Tag)),
+            (r'(' + PN_PREFIX + r')?(\:)(' + PN_LOCAL + r')?',
+             bygroups(Name.Namespace, Punctuation, Name.Tag)),
 
             # Comment
             (r'#[^\n]+', Comment),
@@ -257,12 +299,10 @@ class TurtleLexer(RegexLexer):
             (r'.', String, '#pop'),
         ],
         'end-of-string': [
-            (r'(@)([a-z]+(:?-[a-z0-9]+)*)',
+            (r'(@)([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)',
              bygroups(Operator, Generic.Emph), '#pop:2'),
 
             (r'(\^\^)%(IRIREF)s' % patterns, bygroups(Operator, Generic.Emph), '#pop:2'),
-            (r'(\^\^)%(PrefixedName)s' % patterns,
-             bygroups(Operator, Generic.Emph, Generic.Emph), '#pop:2'),
 
             default('#pop:2'),
 
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 6a28a88..70f4b8d
@@ -18,7 +18,7 @@ __all__ = ['RustLexer']
 
 class RustLexer(RegexLexer):
     """
-    Lexer for the Rust programming language (version 1.40).
+    Lexer for the Rust programming language (version 1.47).
 
     .. versionadded:: 1.6
     """
@@ -32,28 +32,37 @@ class RustLexer(RegexLexer):
         'usize', 'isize', 'f32', 'f64', 'char', 'str', 'bool',
     ), suffix=r'\b'), Keyword.Type)
 
-    builtin_types = (words((
-        'Send', 'Sized', 'Sync', 'Unpin',
-        'Drop', 'Fn', 'FnMut', 'FnOnce',
-        'AsRef', 'AsMut', 'Into', 'From',
+    builtin_funcs_types = (words((
+        'Copy', 'Send', 'Sized', 'Sync', 'Unpin',
+        'Drop', 'Fn', 'FnMut', 'FnOnce', 'drop',
+        'Box', 'ToOwned', 'Clone',
+        'PartialEq', 'PartialOrd', 'Eq', 'Ord',
+        'AsRef', 'AsMut', 'Into', 'From', 'Default',
         'Iterator', 'Extend', 'IntoIterator', 'DoubleEndedIterator',
-        'ExactSizeIterator', 'Option', 'Result',
-        'Box', 'ToOwned', 'String', 'ToString', 'Vec',
-        'Clone', 'Copy', 'Default', 'Eq', 'Hash', 'Ord', 'PartialEq',
-        'PartialOrd', 'Ord',
+        'ExactSizeIterator',
+        'Option', 'Some', 'None',
+        'Result', 'Ok', 'Err',
+        'String', 'ToString', 'Vec',
     ), suffix=r'\b'), Name.Builtin)
 
-    builtin_funcs_macros = (words((
-        'drop', 'Some', 'None', 'Ok', 'Err',
-        'asm!', 'assert!', 'assert_eq!', 'assert_ne!', 'cfg!', 'column!',
-        'compile_error!', 'concat!', 'concat_idents!', 'dbg!', 'debug_assert!',
-        'debug_assert_eq!', 'debug_assert_ne!', 'env!', 'eprint!', 'eprintln!',
-        'file!', 'format_args!', 'format_args_nl!', 'global_asm!', 'include!',
-        'include_bytes!', 'include_str!', 'line!', 'log_syntax!',
-        'module_path!', 'option_env!', 'panic!', 'print!', 'println!',
-        'stringify!', 'thread_local!', 'todo!', 'trace_macros!',
-        'unimplemented!', 'unreachable!', 'vec!', 'write!', 'writeln!',
-    ), suffix=r'\b'), Name.Builtin)
+    builtin_macros = (words((
+        'asm', 'assert', 'assert_eq', 'assert_ne', 'cfg', 'column',
+        'compile_error', 'concat', 'concat_idents', 'dbg', 'debug_assert',
+        'debug_assert_eq', 'debug_assert_ne', 'env', 'eprint', 'eprintln',
+        'file', 'format', 'format_args', 'format_args_nl', 'global_asm',
+        'include', 'include_bytes', 'include_str',
+        'is_aarch64_feature_detected',
+        'is_arm_feature_detected',
+        'is_mips64_feature_detected',
+        'is_mips_feature_detected',
+        'is_powerpc64_feature_detected',
+        'is_powerpc_feature_detected',
+        'is_x86_feature_detected',
+        'line', 'llvm_asm', 'log_syntax', 'macro_rules', 'matches',
+        'module_path', 'option_env', 'panic', 'print', 'println', 'stringify',
+        'thread_local', 'todo', 'trace_macros', 'unimplemented', 'unreachable',
+        'vec', 'write', 'writeln',
+    ), suffix=r'!'), Name.Function.Magic)
 
     tokens = {
         'root': [
@@ -76,17 +85,16 @@ class RustLexer(RegexLexer):
             # Macro parameters
             (r"""\$([a-zA-Z_]\w*|\(,?|\),?|,?)""", Comment.Preproc),
             # Keywords
-            (words((
-                'as', 'async', 'await', 'box', 'const', 'crate', 'dyn', 'else',
-                'extern', 'for', 'if', 'impl', 'in', 'loop', 'match', 'move',
-                'mut', 'pub', 'ref', 'return', 'static', 'super', 'trait',
-                'try', 'unsafe', 'use', 'where', 'while', 'macro_rules!',
-            ), suffix=r'\b'), Keyword),
-            (words(('abstract', 'alignof', 'become', 'do', 'final', 'macro',
-                    'offsetof', 'override', 'priv', 'proc', 'pure', 'sizeof',
-                    'typeof', 'unsized', 'virtual', 'yield'), suffix=r'\b'),
-             Keyword.Reserved),
+            (words(('as', 'async', 'await', 'box', 'const', 'crate', 'dyn',
+                    'else', 'extern', 'for', 'if', 'impl', 'in', 'loop',
+                    'match', 'move', 'mut', 'pub', 'ref', 'return', 'static',
+                    'super', 'trait', 'unsafe', 'use', 'where', 'while'),
+                   suffix=r'\b'), Keyword),
+            (words(('abstract', 'become', 'do', 'final', 'macro', 'override',
+                    'priv', 'typeof', 'try', 'unsized', 'virtual', 'yield'),
+                   suffix=r'\b'), Keyword.Reserved),
             (r'(true|false)\b', Keyword.Constant),
+            (r'self\b', Name.Builtin.Pseudo),
             (r'mod\b', Keyword, 'modname'),
             (r'let\b', Keyword.Declaration),
             (r'fn\b', Keyword, 'funcname'),
@@ -95,8 +103,8 @@ class RustLexer(RegexLexer):
             keyword_types,
             (r'[sS]elf\b', Name.Builtin.Pseudo),
             # Prelude (taken from Rust's src/libstd/prelude.rs)
-            builtin_types,
-            builtin_funcs_macros,
+            builtin_funcs_types,
+            builtin_macros,
             # Path seperators, so types don't catch them.
             (r'::\b', Text),
             # Types in positions.
@@ -172,7 +180,7 @@ class RustLexer(RegexLexer):
             (r'\s+', Text),
             (r'&', Keyword.Pseudo),
             (r"'", Operator, 'lifetime'),
-            builtin_types,
+            builtin_funcs_types,
             keyword_types,
             (r'[a-zA-Z_]\w*', Name.Class, '#pop'),
             default('#pop'),
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index ce6bf6d..713d432
@@ -149,9 +149,10 @@ class SlurmBashLexer(BashLexer):
             else:
                 yield index, token, value
 
+
 class ShellSessionBaseLexer(Lexer):
     """
-    Base lexer for simplistic shell sessions.
+    Base lexer for shell sessions.
 
     .. versionadded:: 2.1
     """
@@ -217,7 +218,8 @@ class ShellSessionBaseLexer(Lexer):
 
 class BashSessionLexer(ShellSessionBaseLexer):
     """
-    Lexer for simplistic shell sessions.
+    Lexer for Bash shell sessions, i.e. command lines, including a
+    prompt, interspersed with output.
 
     .. versionadded:: 1.1
     """
@@ -546,7 +548,8 @@ class BatchLexer(RegexLexer):
 
 class MSDOSSessionLexer(ShellSessionBaseLexer):
     """
-    Lexer for simplistic MSDOS sessions.
+    Lexer for MS DOS shell sessions, i.e. command lines, including a
+    prompt, interspersed with output.
 
     .. versionadded:: 2.1
     """
@@ -631,7 +634,8 @@ class TcshLexer(RegexLexer):
 
 class TcshSessionLexer(ShellSessionBaseLexer):
     """
-    Lexer for Tcsh sessions.
+    Lexer for Tcsh sessions, i.e. command lines, including a
+    prompt, interspersed with output.
 
     .. versionadded:: 2.1
     """
@@ -762,7 +766,8 @@ class PowerShellLexer(RegexLexer):
 
 class PowerShellSessionLexer(ShellSessionBaseLexer):
     """
-    Lexer for simplistic Windows PowerShell sessions.
+    Lexer for PowerShell sessions, i.e. command lines, including a
+    prompt, interspersed with output.
 
     .. versionadded:: 2.1
     """
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 98d53c5..e27e0dd
@@ -620,7 +620,7 @@ class MySqlLexer(RegexLexer):
             (r'[0-9]+\.[0-9]*(e[+-]?[0-9]+)?', Number.Float),  # Mandatory integer, optional fraction and exponent
             (r'[0-9]*\.[0-9]+(e[+-]?[0-9]+)?', Number.Float),  # Mandatory fraction, optional integer and exponent
             (r'[0-9]+e[+-]?[0-9]+', Number.Float),  # Exponents with integer significands are still floats
-            (r'[0-9]+', Number.Integer),
+            (r'[0-9]+(?=[^0-9a-z$_\u0080-\uffff])', Number.Integer),  # Integers that are not in a schema object name
 
             # Date literals
             (r"\{\s*d\s*(?P<quote>['\"])\s*\d{2}(\d{2})?.?\d{2}.?\d{2}\s*(?P=quote)\s*\}",
@@ -673,7 +673,7 @@ class MySqlLexer(RegexLexer):
             # numeric literals have already been handled above.
             #
             ('[0-9a-z$_\u0080-\uffff]+', Name),
-            (r'`', Name, 'schema-object-name'),
+            (r'`', Name.Quoted, 'schema-object-name'),
 
             # Punctuation
             (r'[(),.;]', Punctuation),
@@ -737,15 +737,15 @@ class MySqlLexer(RegexLexer):
         # Schema object name substates
         # ----------------------------
         #
-        # Backtick-quoted schema object names support escape characters.
-        # It may be desirable to tokenize escape sequences differently,
-        # but currently Pygments does not have an obvious token type for
-        # this unique situation (for example, "Name.Escape").
+        # "Name.Quoted" and "Name.Quoted.Escape" are non-standard but
+        # formatters will style them as "Name" by default but add
+        # additional styles based on the token name. This gives users
+        # flexibility to add custom styles as desired.
         #
         'schema-object-name': [
-            (r'[^`\\]+', Name),
-            (r'(?:\\\\|\\`|``)', Name),  # This could be an escaped name token type.
-            (r'`', Name, '#pop'),
+            (r'[^`]+', Name.Quoted),
+            (r'``', Name.Quoted.Escape),
+            (r'`', Name.Quoted, '#pop'),
         ],
     }
 
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index a056728..968504a
@@ -338,7 +338,7 @@ class DjangoLexer(RegexLexer):
             (r'[^{]+', Other),
             (r'\{\{', Comment.Preproc, 'var'),
             # jinja/django comments
-            (r'\{[*#].*?[*#]\}', Comment),
+            (r'\{#.*?#\}', Comment),
             # django comments
             (r'(\{%)(-?\s*)(comment)(\s*-?)(%\})(.*?)'
              r'(\{%)(-?\s*)(endcomment)(\s*-?)(%\})',
@@ -537,9 +537,8 @@ class MasonLexer(RegexLexer):
             (r'(?s)(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)',
              bygroups(Name.Tag, Text, Name.Function, Name.Tag,
                       using(this), Name.Tag)),
-            (r'(?s)(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)',
-             bygroups(Name.Tag, Name.Function, Name.Tag,
-                      using(PerlLexer), Name.Tag)),
+            (r'(?s)(<%(\w+)(.*?)(>))(.*?)(</%\2\s*>)',
+             bygroups(Name.Tag, None, None, None, using(PerlLexer), Name.Tag)),
             (r'(?s)(<&[^|])(.*?)(,.*?)?(&>)',
              bygroups(Name.Tag, Name.Function, using(PerlLexer), Name.Tag)),
             (r'(?s)(<&\|)(.*?)(,.*?)?(&>)',
@@ -565,7 +564,7 @@ class MasonLexer(RegexLexer):
 
     def analyse_text(text):
         result = 0.0
-        if re.search(r'</%(class|doc|init)%>', text) is not None:
+        if re.search(r'</%(class|doc|init)>', text) is not None:
             result = 1.0
         elif re.search(r'<&.+&>', text, re.DOTALL) is not None:
             result = 0.11
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index a4fa24d..487adf3
@@ -410,6 +410,7 @@ class LeanLexer(RegexLexer):
                 'universe', 'universes',
                 'inductive', 'coinductive', 'structure', 'extends',
                 'class', 'instance',
+                'abbreviation',
 
                 'noncomputable theory',
 
@@ -434,6 +435,7 @@ class LeanLexer(RegexLexer):
                 'let', 'if', 'else', 'then', 'in', 'with', 'calc', 'match',
                 'do'
             ), prefix=r'\b', suffix=r'\b'), Keyword),
+            (words(('sorry', 'admit'), prefix=r'\b', suffix=r'\b'), Generic.Error),
             (words(('Sort', 'Prop', 'Type'), prefix=r'\b', suffix=r'\b'), Keyword.Type),
             (words((
                 '#eval', '#check', '#reduce', '#exit',
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index e524d86..696f184
@@ -2,14 +2,14 @@
 @prefix dcterms: <http://purl.org/dc/terms/>. @prefix xs: <http://www.w3.org/2001/XMLSchema> .
 @prefix mads: <http://www.loc.gov/mads/rdf/v1#> .
 @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
-@PREFIX dc: <http://purl.org/dc/elements/1.1/>  # SPARQL-like syntax is OK
+PREFIX dc: <http://purl.org/dc/elements/1.1/>  # SPARQL-like syntax is OK
 @prefix : <http://xmlns.com/foaf/0.1/> .  # empty prefix is OK
 
 <http://example.org/#spiderman> <http://www.perceive.net/schemas/relationship/enemyOf> <http://example.org/#green-goblin> .
 
-<#doc1> a <#document>
+<#doc1> a <#document>;
        dc:creator "Smith", "Jones"; 
-       :knows <http://getopenid.com/jsmith>
+       :knows <http://getopenid.com/jsmith>;
        dcterms:hasPart [ # A comment
                dc:title "Some title", "Some other title";
                dc:creator "برشت، برتولد"@ar;
@@ -23,8 +23,8 @@
 
 <http://data.ub.uio.no/realfagstermer/006839> a mads:Topic,
     skos:Concept ;
-    dcterms:created "2014-08-25"^^xsd:date ;
-    dcterms:modified "2014-11-12"^^xsd:date ;
+    dcterms:created "2014-08-25"^^xs:date ;
+    dcterms:modified "2014-11-12"^^xs:date ;
     dcterms:identifier "REAL006839" ;
     skos:prefLabel "Flerbørstemarker"@nb,
         "Polychaeta"@la ;
@@ -33,7 +33,7 @@
         "Mangebørsteormer"@nb,
         "Havbørsteormer"@nb,
         "Havbørstemarker"@nb,
-        "Polycheter"@nb.
+        "Polycheter"@nb ;
     skos:inScheme <http://data.ub.uio.no/realfagstermer/> ;
     skos:narrower <http://data.ub.uio.no/realfagstermer/018529>,
         <http://data.ub.uio.no/realfagstermer/024538>,
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 4927abd..c00b0b9
@@ -107,7 +107,7 @@ CREATE TABLE basic (
 SELECT e1.`apple` AS a, `example2`.b\r
 FROM example1 AS e1\r
 JOIN example2 e2\r
-ON `example1`.`id` = e2.id;\r
+ON `example1`.`a``b` = e2.`123`;\r
 \r
 \r
 -- Operators\r
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index d0b25e7..6098070
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index d0b25e7..6098070
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 9a0ae65..8a41726
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 9a0ae65..8a41726
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index d7417f9..58bbddc
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index d7417f9..58bbddc
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 0203394..90f1e9b
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 0203394..90f1e9b
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 68b376a..bf4bf25
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 68b376a..bf4bf25
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 67dc22c..d198ce0
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 67dc22c..d198ce0
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 718b019..56a0921
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 718b019..56a0921
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 2884e97..81f314d
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index 2884e97..81f314d
@@ -1,5 +1,5 @@
 <div class="highlight" style="background: #f8f8f8">
- <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>
+ <pre style="line-height: 125%;"><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>
old mode 100755 (executable)
new mode 100644 (file)
index b672790..41ea57f
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 5f56da2..07ded26
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 8ac4aed..f43e8bb
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 5ae241d..6e901af
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 4684afd..2d69b75
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 9a83ccc..e938799
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 106b9c1..6cd0f9f
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 3b5ff80..12ed3fb
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 1928bf3..eee9392
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index ec766bc..b67689b
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 1f30d5c..11a4444
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 3e5af04..eecace4
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index cb8a88d..576a524
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 758a577..f29ea4b
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index 28b947c..30ac581
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
index bd9056e..a2ca8b8
@@ -9,7 +9,7 @@
   </td>
   <td class="code">
    <div class="highlight" style="background: #f8f8f8">
-    <pre style="line-height: 125%; margin: 0;"><span></span><span style="color: #408080; font-style: italic"># a</span>
+    <pre style="line-height: 125%;"><span></span><span style="color: #408080; font-style: italic"># a</span>
 <span style="color: #408080; font-style: italic"># b</span>
 <span style="color: #408080; font-style: italic"># c</span>
 </pre>
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index db094d5..5388910
@@ -7,10 +7,12 @@
     :license: BSD, see LICENSE for details.
 """
 
+import time
+
 import pytest
 
-from pygments.lexers import JsonLexer, JsonBareObjectLexer, YamlLexer
-from pygments.token import Token
+from pygments.lexers.data import JsonLexer, JsonBareObjectLexer, JsonLdLexer, YamlLexer
+from pygments.token import Token, Punctuation, Text, Number, String, Keyword, Name
 
 
 @pytest.fixture(scope='module')
@@ -23,11 +25,186 @@ def lexer_bare():
     yield JsonBareObjectLexer()
 
 
+@pytest.fixture(scope='module')
+def lexer_json_ld():
+    yield JsonLdLexer()
+
+
 @pytest.fixture(scope='module')
 def lexer_yaml():
     yield YamlLexer()
 
 
+@pytest.mark.parametrize(
+    'text, expected_token_types',
+    (
+            # Integers
+            ('0', (Number.Integer,)),
+            ('-1', (Number.Integer,)),
+            ('1234567890', (Number.Integer,)),
+            ('-1234567890', (Number.Integer,)),
+
+            # Floats, including scientific notation
+            ('123456789.0123456789', (Number.Float,)),
+            ('-123456789.0123456789', (Number.Float,)),
+            ('1e10', (Number.Float,)),
+            ('-1E10', (Number.Float,)),
+            ('1e-10', (Number.Float,)),
+            ('-1E+10', (Number.Float,)),
+            ('1.0e10', (Number.Float,)),
+            ('-1.0E10', (Number.Float,)),
+            ('1.0e-10', (Number.Float,)),
+            ('-1.0E+10', (Number.Float,)),
+
+            # Strings (escapes are tested elsewhere)
+            ('""', (String.Double,)),
+            ('"abc"', (String.Double,)),
+            ('"ひらがな"', (String.Double,)),
+            ('"123"', (String.Double,)),
+            ('"[]"', (String.Double,)),
+            ('"{}"', (String.Double,)),
+            ('"true"', (String.Double,)),
+            ('"false"', (String.Double,)),
+            ('"null"', (String.Double,)),
+            ('":,"', (String.Double,)),
+
+            # Constants
+            ('true', (Keyword.Constant, )),
+            ('false', (Keyword.Constant, )),
+            ('null', (Keyword.Constant, )),
+
+            # Whitespace
+            ('\u0020', (Text,)),  # space
+            ('\u000a', (Text,)),  # newline
+            ('\u000d', (Text,)),  # carriage return
+            ('\u0009', (Text,)),  # tab
+
+            # Arrays
+            ('[]', (Punctuation,)),
+            ('["a", "b"]', (Punctuation, String.Double, Punctuation, Text, String.Double, Punctuation)),
+
+            # Objects
+            ('{}', (Punctuation,)),
+            ('{"a": "b"}', (Punctuation, Name.Tag, Punctuation, Text, String.Double, Punctuation)),
+    )
+)
+def test_json_literals_positive_match(lexer_json, text, expected_token_types):
+    """Validate that syntactically-correct JSON literals are parsed correctly."""
+
+    tokens = list(lexer_json.get_tokens_unprocessed(text))
+    assert len(tokens) == len(expected_token_types)
+    assert all(token[1] is expected_token for token, expected_token in zip(tokens, expected_token_types))
+    assert ''.join(token[2] for token in tokens) == text
+
+
+@pytest.mark.parametrize(
+    'text',
+    (
+            '"', '\\', '/', 'b', 'f', 'n', 'r', 't',
+            'u0123', 'u4567', 'u89ab', 'ucdef', 'uABCD', 'uEF01',
+    )
+)
+def test_json_object_key_escapes_positive_match(lexer_json, text):
+    """Validate that escape sequences in JSON object keys are parsed correctly."""
+
+    tokens = list(lexer_json.get_tokens_unprocessed('{"\\%s": 1}' % text))
+    assert len(tokens) == 6
+    assert tokens[1][1] is Name.Tag
+    assert tokens[1][2] == '"\\%s"' % text
+
+
+@pytest.mark.parametrize(
+    'text',
+    (
+            '"', '\\', '/', 'b', 'f', 'n', 'r', 't',
+            'u0123', 'u4567', 'u89ab', 'ucdef', 'uABCD', 'uEF01',
+    )
+)
+def test_json_string_escapes_positive_match(lexer_json, text):
+    """Validate that escape sequences in JSON string values are parsed correctly."""
+
+    text = '"\\%s"' % text
+    tokens = list(lexer_json.get_tokens_unprocessed(text))
+    assert len(tokens) == 1
+    assert tokens[0][1] is String.Double
+    assert tokens[0][2] == text
+
+
+@pytest.mark.parametrize('text', ('+\n', '0\n', '""0\n', 'a\nb\n',))
+def test_json_round_trip_errors(lexer_json, text):
+    """Validate that past round-trip errors never crop up again."""
+
+    tokens = list(lexer_json.get_tokens_unprocessed(text))
+    assert ''.join(t[2] for t in tokens) == text
+
+
+def test_json_escape_backtracking(lexer_json):
+    """Confirm that there is no catastrophic backtracking in the lexer.
+
+    This no longer applies because the JSON lexer doesn't use regular expressions,
+    but the test is included to ensure no loss of functionality now or in the future.
+    """
+
+    fragment = r'{"\u00D0000\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\63CD'
+    start_time = time.time()
+    list(lexer_json.get_tokens(fragment))
+    assert time.time() - start_time < 1, 'The JSON lexer may have catastrophic backtracking'
+
+
+@pytest.mark.parametrize(
+    'keyword',
+    (
+        'base',
+        'container',
+        'context',
+        'direction',
+        'graph',
+        'id',
+        'import',
+        'included',
+        'index',
+        'json',
+        'language',
+        'list',
+        'nest',
+        'none',
+        'prefix',
+        'propagate',
+        'protected',
+        'reverse',
+        'set',
+        'type',
+        'value',
+        'version',
+        'vocab',
+    )
+)
+def test_json_ld_keywords_positive_match(lexer_json_ld, keyword):
+    """Validate that JSON-LD keywords are parsed correctly."""
+
+    tokens = list(lexer_json_ld.get_tokens_unprocessed('{"@%s": ""}' % keyword))
+    assert len(tokens) == 6
+    assert tokens[1][1] is Token.Name.Decorator
+    assert tokens[1][2] == '"@%s"' % keyword
+
+
+@pytest.mark.parametrize(
+    'keyword',
+    (
+        '@bogus',  # "@" does not guarantee a keyword match
+        '@bases',  # Begins with the keyword "@base"
+        'container',  # Matches "container" but has no leading "@"
+    )
+)
+def test_json_ld_keywords_negative_match(lexer_json_ld, keyword):
+    """Validate that JSON-LD non-keywords are parsed correctly."""
+
+    tokens = list(lexer_json_ld.get_tokens_unprocessed('{"%s": ""}' % keyword))
+    assert len(tokens) == 6
+    assert tokens[1][1] is Token.Name.Tag
+    assert tokens[1][2] == '"%s"' % keyword
+
+
 def test_basic_json(lexer_json):
     fragment = '{"foo": "bar", "foo2": [1, 2, 3], "\\u0123": "\\u0123"}\n'
     tokens = [
@@ -49,8 +226,7 @@ def test_basic_json(lexer_json):
         (Token.Punctuation, ','),
         (Token.Text, ' '),
         (Token.Literal.Number.Integer, '3'),
-        (Token.Punctuation, ']'),
-        (Token.Punctuation, ','),
+        (Token.Punctuation, '],'),
         (Token.Text, ' '),
         (Token.Name.Tag, '"\\u0123"'),
         (Token.Punctuation, ':'),
@@ -62,33 +238,6 @@ def test_basic_json(lexer_json):
     assert list(lexer_json.get_tokens(fragment)) == tokens
 
 
-def test_json_escape_backtracking(lexer_json):
-    # This tests that an (invalid) sequence of escapes doesn't cause the lexer
-    # to fall into catastrophic backtracking. unfortunately, if it's broken
-    # this test will hang and that's how we know it's broken :(
-    fragment = r'{"\u00D0000\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\63CD'
-    tokens = [
-        (Token.Punctuation, '{'),
-        (Token.Error, r'"'),
-        (Token.Error, '\\'),
-        (Token.Error, r'u'),
-        (Token.Error, r'0'),
-        (Token.Error, r'0'),
-        (Token.Error, r'D'),
-        (Token.Error, r'0'),
-        (Token.Error, r'0'),
-        (Token.Error, r'0'),
-        (Token.Error, r'0')
-    ] + [(Token.Error, '\\')] * 178 + [
-        (Token.Error, r'6'),
-        (Token.Error, r'3'),
-        (Token.Error, r'C'),
-        (Token.Error, r'D'),
-        (Token.Text, '\n')]
-
-    assert list(lexer_json.get_tokens(fragment)) == tokens
-
-
 def test_basic_bare(lexer_bare):
     # This is the same as testBasic for JsonLexer above, except the
     # enclosing curly braces are removed.
@@ -117,31 +266,6 @@ def test_basic_bare(lexer_bare):
     assert list(lexer_bare.get_tokens(fragment)) == tokens
 
 
-def test_closing_curly(lexer_bare):
-    # This can be an Error token, but should not be a can't-pop-from-stack
-    # exception.
-    fragment = '}"a"\n'
-    tokens = [
-        (Token.Error, '}'),
-        (Token.Name.Tag, '"a"'),
-        (Token.Text, '\n'),
-    ]
-    assert list(lexer_bare.get_tokens(fragment)) == tokens
-
-
-def test_closing_curly_in_value(lexer_bare):
-    fragment = '"": ""}\n'
-    tokens = [
-        (Token.Name.Tag, '""'),
-        (Token.Punctuation, ':'),
-        (Token.Text, ' '),
-        (Token.Literal.String.Double, '""'),
-        (Token.Error, '}'),
-        (Token.Text, '\n'),
-    ]
-    assert list(lexer_bare.get_tokens(fragment)) == tokens
-
-
 def test_yaml(lexer_yaml):
     # Bug #1528: This previously parsed 'token # innocent' as a tag
     fragment = 'here: token # innocent: comment\n'
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 3755677..223e3ae
@@ -142,7 +142,7 @@ def test_valid_output():
 
 def test_get_style_defs_contains_pre_style():
     style_defs = HtmlFormatter().get_style_defs().splitlines()
-    assert style_defs[0] == 'pre { line-height: 125%; margin: 0; }'
+    assert style_defs[0] == 'pre { line-height: 125%; }'
 
 
 def test_get_style_defs_contains_default_line_numbers_styles():
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/tests/test_html_lexer.py b/tests/test_html_lexer.py
new file mode 100644 (file)
index 0000000..62f1c8d
--- /dev/null
@@ -0,0 +1,129 @@
+# -*- coding: utf-8 -*-
+"""
+    HTML Lexer Tests
+    ~~~~~~~~~~~~~~~~
+
+    :copyright: Copyright 2020-2020 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import time
+
+import pytest
+
+from pygments.lexers.html import HtmlLexer
+from pygments.token import Token
+
+@pytest.fixture(scope='module')
+def lexer_html():
+    yield HtmlLexer()
+
+def test_simple_html(lexer_html):
+    """ extremely basic happy-path case
+
+    more tests are in test_examplefiles """
+
+    fragment = "<html>\n\t<body>\n\t\thello world\n\t</body>\n</html>"
+    tokens = list(lexer_html.get_tokens(fragment))
+    assert all(x[1] != Token.Error for x in tokens)
+
+def test_happy_javascript_fragment(lexer_html):
+    """ valid, even long Javascript fragments should still get parsed ok """
+
+    fragment = "<script type=\"text/javascript\">"+"alert(\"hi\");"*2000+"</script>"
+    start_time = time.time()
+    tokens = list(lexer_html.get_tokens(fragment))
+    assert all(x[1] != Token.Error for x in tokens)
+    assert time.time() - start_time < 5, 'The HTML lexer might have an expensive happy-path script case'
+
+def test_happy_css_fragment(lexer_html):
+    """ valid, even long CSS fragments should still get parsed ok """
+
+    fragment = "<style>"+".ui-helper-hidden{display:none}"*2000+"</style>"
+    start_time = time.time()
+    tokens = list(lexer_html.get_tokens(fragment))
+    assert all(x[1] != Token.Error for x in tokens)
+    assert time.time() - start_time < 5, 'The HTML lexer might have an expensive happy-path style case'
+
+def test_long_unclosed_javascript_fragment(lexer_html):
+    """ unclosed, long Javascript fragments should parse quickly """
+
+    reps = 2000
+    fragment = "<script type=\"text/javascript\">"+"alert(\"hi\");"*reps
+    start_time = time.time()
+    tokens = list(lexer_html.get_tokens(fragment))
+    assert time.time() - start_time < 5, 'The HTML lexer might have an expensive error script case'
+    tokens_intro = [
+        (Token.Punctuation, '<'),
+        (Token.Name.Tag, 'script'),
+        (Token.Text, ' '),
+        (Token.Name.Attribute, 'type'),
+        (Token.Operator, '='),
+        (Token.Literal.String, '"text/javascript"'),
+        (Token.Punctuation, '>'),
+    ]
+    tokens_body = [
+        (Token.Name.Other, 'alert'),
+        (Token.Punctuation, '('),
+        (Token.Literal.String.Double, '"hi"'),
+        (Token.Punctuation, ')'),
+        (Token.Punctuation, ';'),
+    ]
+
+    # make sure we get the right opening tokens
+    assert tokens[:len(tokens_intro)] == tokens_intro
+    # and make sure we get the right body tokens even though the script is
+    # unclosed
+    assert tokens[len(tokens_intro):-1] == tokens_body * reps
+    # and of course, the newline we get for free from get_tokens
+    assert tokens[-1] == (Token.Text, "\n")
+
+def test_long_unclosed_css_fragment(lexer_html):
+    """ unclosed, long CSS fragments should parse quickly """
+
+    reps = 2000
+    fragment = "<style>"+".ui-helper-hidden{display:none}"*reps
+    start_time = time.time()
+    tokens = list(lexer_html.get_tokens(fragment))
+    assert time.time() - start_time < 5, 'The HTML lexer might have an expensive error style case'
+
+    tokens_intro = [
+        (Token.Punctuation, '<'),
+        (Token.Name.Tag, 'style'),
+        (Token.Punctuation, '>'),
+    ]
+    tokens_body = [
+        (Token.Punctuation, '.'),
+        (Token.Name.Class, 'ui-helper-hidden'),
+        (Token.Punctuation, '{'),
+        (Token.Keyword, 'display'),
+        (Token.Punctuation, ':'),
+        (Token.Keyword.Constant, 'none'),
+        (Token.Punctuation, '}'),
+    ]
+
+    # make sure we get the right opening tokens
+    assert tokens[:len(tokens_intro)] == tokens_intro
+    # and make sure we get the right body tokens even though the style block is
+    # unclosed
+    assert tokens[len(tokens_intro):-1] == tokens_body * reps
+    # and of course, the newline we get for free from get_tokens
+    assert tokens[-1] == (Token.Text, "\n")
+
+def test_unclosed_fragment_with_newline_recovery(lexer_html):
+    """ unclosed Javascript fragments should recover on the next line """
+
+    fragment = "<script type=\"text/javascript\">"+"alert(\"hi\");"*20+"\n<div>hi</div>"
+    tokens = list(lexer_html.get_tokens(fragment))
+    recovery_tokens = [
+            (Token.Punctuation, '<'),
+            (Token.Name.Tag, 'div'),
+            (Token.Punctuation, '>'),
+            (Token.Text, 'hi'),
+            (Token.Punctuation, '<'),
+            (Token.Punctuation, '/'),
+            (Token.Name.Tag, 'div'),
+            (Token.Punctuation, '>'),
+            (Token.Text, '\n')]
+    assert tokens[-1*len(recovery_tokens):] == recovery_tokens
+
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 3baec0a..f7b16bd
@@ -7,9 +7,11 @@
     :license: BSD, see LICENSE for details.
 """
 
+import time
+
 import pytest
 
-from pygments.token import Text, Name, Punctuation, Keyword, Number
+from pygments.token import Keyword, Name, Number, Punctuation, String, Text
 from pygments.lexers import JavaLexer
 
 
@@ -76,3 +78,24 @@ def test_numeric_literals(lexer):
         (Text, '\n')
     ]
     assert list(lexer.get_tokens(fragment)) == tokens
+
+
+@pytest.mark.parametrize(
+    'text',
+    (
+        '""', '"abc"', '"ひらがな"', '"123"',
+        '"\\\\"', '"\\t"' '"\\""',
+    ),
+)
+def test_string_literals_positive_match(lexer, text):
+    """Test positive matches for string literals."""
+    tokens = list(lexer.get_tokens_unprocessed(text))
+    assert all([token is String for _, token, _ in tokens])
+    assert ''.join([value for _, _, value in tokens]) == text
+
+
+def test_string_literals_backtracking(lexer):
+    """Test catastrophic backtracking for string literals."""
+    start_time = time.time()
+    list(lexer.get_tokens_unprocessed('"' + '\\' * 100))
+    assert time.time() - start_time < 1, 'possible backtracking bug'
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 9b5e2b8..207ec82
@@ -28,9 +28,18 @@ def lexer():
     yield MySqlLexer()
 
 
-@pytest.mark.parametrize('text', ('123',))
-def test_integer_literals(lexer, text):
-    assert list(lexer.get_tokens(text))[0] == (Number.Integer, text)
+@pytest.mark.parametrize('text', ('1', '22', '22 333', '22 a', '22+', '22)', '22\n333', '22\r\n333'))
+def test_integer_literals_positive_match(lexer, text):
+    """Validate that integer literals are tokenized as integers."""
+    token = list(lexer.get_tokens(text))[0]
+    assert token[0] == Number.Integer
+    assert token[1] in {'1', '22'}
+
+
+@pytest.mark.parametrize('text', ('1a', '1A', '1.', '1ひ', '1$', '1_', '1\u0080', '1\uffff'))
+def test_integer_literals_negative_match(lexer, text):
+    """Validate that non-integer texts are not matched as integers."""
+    assert list(lexer.get_tokens(text))[0][0] != Number.Integer
 
 
 @pytest.mark.parametrize(
@@ -215,18 +224,40 @@ def test_functions(lexer, text):
 @pytest.mark.parametrize(
     'text',
     (
-        'abc_$123', '上市年限', 'ひらがな',
-        '`a`', '`上市年限`', '`ひらがな`', '`select`', '`concat(`',
-        '````', r'`\``', r'`\\`',
-        '`-- `', '`/*`', '`#`',
+        'abc_$123', '上市年限', 'ひらがな', '123_$abc', '123ひらがな',
     ),
 )
-def test_schema_object_names(lexer, text):
+def test_schema_object_names_unquoted(lexer, text):
     tokens = list(lexer.get_tokens(text))[:-1]
     assert all(token[0] == Name for token in tokens)
     assert ''.join(token[1] for token in tokens) == text
 
 
+@pytest.mark.parametrize(
+    'text',
+    (
+        '`a`', '`1`', '`上市年限`', '`ひらがな`', '`select`', '`concat(`',
+        '`-- `', '`/*`', '`#`',
+    ),
+)
+def test_schema_object_names_quoted(lexer, text):
+    tokens = list(lexer.get_tokens(text))[:-1]
+    assert tokens[0] == (Name.Quoted, '`')
+    assert tokens[1] == (Name.Quoted, text[1:-1])
+    assert tokens[2] == (Name.Quoted, '`')
+    assert ''.join(token[1] for token in tokens) == text
+
+
+@pytest.mark.parametrize('text', ('````', ))
+def test_schema_object_names_quoted_escaped(lexer, text):
+    """Test quoted schema object names with escape sequences."""
+    tokens = list(lexer.get_tokens(text))[:-1]
+    assert tokens[0] == (Name.Quoted, '`')
+    assert tokens[1] == (Name.Quoted.Escape, text[1:-1])
+    assert tokens[2] == (Name.Quoted, '`')
+    assert ''.join(token[1] for token in tokens) == text
+
+
 @pytest.mark.parametrize(
     'text',
     ('+', '*', '/', '%', '&&', ':=', '!', '<', '->>', '^', '|', '~'),
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/tests/test_rdf.py b/tests/test_rdf.py
new file mode 100644 (file)
index 0000000..ff8c931
--- /dev/null
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+"""
+    Basic RubyLexer Test
+    ~~~~~~~~~~~~~~~~~~~~
+
+    :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import pytest
+
+from pygments.token import Name, Punctuation, Text
+from pygments.lexers import TurtleLexer, ShExCLexer
+
+
+@pytest.fixture(scope='module')
+def turtle_lexer():
+    yield TurtleLexer()
+
+@pytest.fixture(scope='module')
+def shexc_lexer():
+    yield ShExCLexer()
+
+def test_turtle_prefixed_name_starting_with_number(turtle_lexer):
+    fragment = 'alice:6f6e4241-75a2-4780-9b2a-40da53082e54\n'
+    tokens = [
+        (Name.Namespace, 'alice'),
+        (Punctuation, ':'),
+        (Name.Tag, '6f6e4241-75a2-4780-9b2a-40da53082e54'),
+        (Text, '\n'),
+    ]
+    assert list(turtle_lexer.get_tokens(fragment)) == tokens
+
+def test_shexc_prefixed_name_starting_with_number(shexc_lexer):
+    fragment = 'alice:6f6e4241-75a2-4780-9b2a-40da53082e54\n'
+    tokens = [
+        (Name.Namespace, 'alice'),
+        (Punctuation, ':'),
+        (Name.Tag, '6f6e4241-75a2-4780-9b2a-40da53082e54'),
+        (Text, '\n'),
+    ]
+    assert list(shexc_lexer.get_tokens(fragment)) == tokens
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/tests/test_templates.py b/tests/test_templates.py
new file mode 100644 (file)
index 0000000..fb6a507
--- /dev/null
@@ -0,0 +1,106 @@
+import pytest
+
+from pygments.lexers.templates import JavascriptDjangoLexer, MasonLexer
+from pygments.token import Comment, Token
+
+
+@pytest.fixture(scope="module")
+def lexer():
+    yield JavascriptDjangoLexer()
+
+@pytest.fixture(scope='module')
+def lexerMason():
+    yield MasonLexer()
+
+def test_do_not_mistake_JSDoc_for_django_comment(lexer):
+    """
+    Test to make sure the lexer doesn't mistake
+    {* ... *} to be a django comment
+    """
+    text = """/**
+               * @param {*} cool
+               */
+              func = function(cool) {
+              };
+
+              /**
+               * @param {*} stuff
+               */
+              fun = function(stuff) {
+              };"""
+    tokens = lexer.get_tokens(text)
+    assert not any(t[0] == Comment for t in tokens)
+
+def test_mason_unnamed_block(lexerMason):
+    text = """
+            <%class>
+            has 'foo';
+            has 'bar' => (required => 1);
+            has 'baz' => (isa => 'Int', default => 17);
+            </%class>
+            """
+    res = lexerMason.analyse_text(text)
+    assert res == 1.0
+
+def test_mason_handles_tags_correctly(lexerMason):
+    fragment = "<%class>\nhas 'foo';\nhas 'bar' => (required => 1);\nhas 'baz' => (isa => 'Int', default => 17);\n</%class>\n"
+    tokens = [
+        (Token.Name.Tag, '<%class>'),
+        (Token.Text, '\n'),
+        (Token.Name, ''),
+        (Token.Name, 'has'),
+        (Token.Text, ' '),
+        (Token.Literal.String, "'foo'"),
+        (Token.Punctuation, ';'),
+        (Token.Text, '\n'),
+        (Token.Name, ''),
+        (Token.Name, 'has'),
+        (Token.Text, ' '),
+        (Token.Literal.String, "'bar'"),
+        (Token.Text, ' '),
+        (Token.Operator, '='),
+        (Token.Operator, '>'),
+        (Token.Text, ' '),
+        (Token.Punctuation, '('),
+        (Token.Name, ''),
+        (Token.Name, 'required'),
+        (Token.Text, ' '),
+        (Token.Operator, '='),
+        (Token.Operator, '>'),
+        (Token.Text, ' '),
+        (Token.Literal.Number.Integer, '1'),
+        (Token.Punctuation, ')'),
+        (Token.Punctuation, ';'),
+        (Token.Text, '\n'),
+        (Token.Name, ''),
+        (Token.Name, 'has'),
+        (Token.Text, ' '),
+        (Token.Literal.String, "'baz'"),
+        (Token.Text, ' '),
+        (Token.Operator, '='),
+        (Token.Operator, '>'),
+        (Token.Text, ' '),
+        (Token.Punctuation, '('),
+        (Token.Name, ''),
+        (Token.Name, 'isa'),
+        (Token.Text, ' '),
+        (Token.Operator, '='),
+        (Token.Operator, '>'),
+        (Token.Text, ' '),
+        (Token.Literal.String, "'Int'"),
+        (Token.Punctuation, ','),
+        (Token.Text, ' '),
+        (Token.Name, ''),
+        (Token.Name, 'default'),
+        (Token.Text, ' '),
+        (Token.Operator, '='),
+        (Token.Operator, '>'),
+        (Token.Text, ' '),
+        (Token.Literal.Number.Integer, '17'),
+        (Token.Punctuation, ')'),
+        (Token.Punctuation, ';'),
+        (Token.Text, '\n'),
+        (Token.Name.Tag, '</%class>'),
+        (Token.Text, '\n'),
+    ]
+    assert list(lexerMason.get_tokens(fragment)) == tokens
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)