summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthäus G. Chajdas <dev@anteru.net>2022-03-20 10:29:30 +0100
committerMatthäus G. Chajdas <dev@anteru.net>2022-03-20 10:29:30 +0100
commit64e8e05307689fe726ce9df2d5907e9c2fb67405 (patch)
tree1d2f1eb768972ac49933367b9ec127e638cb7466
parent96eaebafc848c989e9fc081768e3156add3128fd (diff)
downloadpygments-git-64e8e05307689fe726ce9df2d5907e9c2fb67405.tar.gz
Rework URL information in lexers.
This commit adds a new url field to a lexer, which can be used to link to the language website, instead of relying on having the link in either languages.rst or the docstring of the lexer. Additionally, it changes the languages.rst file to auto-generate the list of lexers from the actual source code, using the provided URL.
-rw-r--r--doc/_templates/languages.html31
-rw-r--r--doc/conf.py13
-rw-r--r--doc/docs/index.rst1
-rw-r--r--doc/docs/terminal-sessions.rst46
-rw-r--r--doc/languages.rst381
-rw-r--r--pygments/lexer.py3
-rw-r--r--pygments/lexers/actionscript.py1
-rw-r--r--pygments/lexers/algebra.py12
-rw-r--r--pygments/lexers/ambient.py3
-rw-r--r--pygments/lexers/ampl.py3
-rw-r--r--pygments/lexers/apl.py3
-rw-r--r--pygments/lexers/arrow.py3
-rw-r--r--pygments/lexers/asm.py10
-rw-r--r--pygments/lexers/automation.py6
-rw-r--r--pygments/lexers/bare.py3
-rw-r--r--pygments/lexers/basic.py6
-rw-r--r--pygments/lexers/c_cpp.py1
-rw-r--r--pygments/lexers/c_like.py3
-rw-r--r--pygments/lexers/capnproto.py3
-rw-r--r--pygments/lexers/cddl.py1
-rw-r--r--pygments/lexers/chapel.py3
-rw-r--r--pygments/lexers/clean.py3
-rw-r--r--pygments/lexers/configs.py44
-rw-r--r--pygments/lexers/cplint.py3
-rw-r--r--pygments/lexers/crystal.py3
-rw-r--r--pygments/lexers/csound.py2
-rw-r--r--pygments/lexers/css.py6
-rw-r--r--pygments/lexers/d.py4
-rw-r--r--pygments/lexers/dalvik.py3
-rw-r--r--pygments/lexers/data.py7
-rw-r--r--pygments/lexers/devicetree.py3
-rw-r--r--pygments/lexers/diff.py3
-rw-r--r--pygments/lexers/dotnet.py18
-rw-r--r--pygments/lexers/dsls.py39
-rw-r--r--pygments/lexers/dylan.py3
-rw-r--r--pygments/lexers/ecl.py5
-rw-r--r--pygments/lexers/eiffel.py3
-rw-r--r--pygments/lexers/elm.py3
-rw-r--r--pygments/lexers/elpi.py3
-rw-r--r--pygments/lexers/erlang.py6
-rw-r--r--pygments/lexers/esoteric.py24
-rw-r--r--pygments/lexers/ezhil.py3
-rw-r--r--pygments/lexers/factor.py3
-rw-r--r--pygments/lexers/felix.py3
-rw-r--r--pygments/lexers/floscript.py3
-rw-r--r--pygments/lexers/forth.py1
-rw-r--r--pygments/lexers/fortran.py1
-rw-r--r--pygments/lexers/freefem.py3
-rw-r--r--pygments/lexers/futhark.py1
-rw-r--r--pygments/lexers/gdscript.py3
-rw-r--r--pygments/lexers/go.py3
-rw-r--r--pygments/lexers/grammar_notation.py16
-rw-r--r--pygments/lexers/graph.py4
-rw-r--r--pygments/lexers/graphics.py14
-rw-r--r--pygments/lexers/graphviz.py1
-rwxr-xr-xpygments/lexers/gsql.py3
-rw-r--r--pygments/lexers/haskell.py11
-rw-r--r--pygments/lexers/haxe.py6
-rw-r--r--pygments/lexers/html.py1
-rw-r--r--pygments/lexers/idl.py1
-rw-r--r--pygments/lexers/inferno.py3
-rw-r--r--pygments/lexers/installers.py7
-rw-r--r--pygments/lexers/int_fiction.py11
-rw-r--r--pygments/lexers/iolang.py4
-rw-r--r--pygments/lexers/j.py3
-rw-r--r--pygments/lexers/javascript.py37
-rw-r--r--pygments/lexers/jslt.py3
-rw-r--r--pygments/lexers/julia.py3
-rw-r--r--pygments/lexers/jvm.py46
-rw-r--r--pygments/lexers/kuin.py3
-rw-r--r--pygments/lexers/lilypond.py3
-rw-r--r--pygments/lexers/lisp.py21
-rw-r--r--pygments/lexers/make.py3
-rw-r--r--pygments/lexers/markup.py9
-rw-r--r--pygments/lexers/matlab.py2
-rw-r--r--pygments/lexers/maxima.py3
-rw-r--r--pygments/lexers/meson.py3
-rw-r--r--pygments/lexers/ml.py9
-rw-r--r--pygments/lexers/modeling.py5
-rw-r--r--pygments/lexers/modula2.py3
-rw-r--r--pygments/lexers/monte.py3
-rw-r--r--pygments/lexers/nimrod.py3
-rw-r--r--pygments/lexers/nit.py3
-rw-r--r--pygments/lexers/nix.py3
-rw-r--r--pygments/lexers/oberon.py2
-rw-r--r--pygments/lexers/objective.py4
-rw-r--r--pygments/lexers/ooc.py3
-rw-r--r--pygments/lexers/parasail.py3
-rw-r--r--pygments/lexers/parsers.py3
-rw-r--r--pygments/lexers/pascal.py2
-rw-r--r--pygments/lexers/perl.py6
-rw-r--r--pygments/lexers/php.py10
-rw-r--r--pygments/lexers/pointless.py3
-rw-r--r--pygments/lexers/praat.py3
-rw-r--r--pygments/lexers/procfile.py3
-rw-r--r--pygments/lexers/prolog.py3
-rw-r--r--pygments/lexers/promql.py3
-rw-r--r--pygments/lexers/python.py12
-rw-r--r--pygments/lexers/rita.py3
-rw-r--r--pygments/lexers/rnc.py3
-rw-r--r--pygments/lexers/roboconf.py4
-rw-r--r--pygments/lexers/robotframework.py3
-rw-r--r--pygments/lexers/ruby.py6
-rw-r--r--pygments/lexers/rust.py1
-rw-r--r--pygments/lexers/sas.py2
-rw-r--r--pygments/lexers/savi.py3
-rw-r--r--pygments/lexers/scdoc.py4
-rw-r--r--pygments/lexers/scripting.py29
-rw-r--r--pygments/lexers/sgf.py3
-rw-r--r--pygments/lexers/smalltalk.py6
-rw-r--r--pygments/lexers/smithy.py1
-rw-r--r--pygments/lexers/sophia.py2
-rw-r--r--pygments/lexers/spice.py3
-rw-r--r--pygments/lexers/sql.py3
-rw-r--r--pygments/lexers/stata.py5
-rw-r--r--pygments/lexers/supercollider.py3
-rw-r--r--pygments/lexers/tcl.py1
-rw-r--r--pygments/lexers/teal.py4
-rw-r--r--pygments/lexers/templates.py47
-rw-r--r--pygments/lexers/teraterm.py3
-rw-r--r--pygments/lexers/testing.py3
-rw-r--r--pygments/lexers/textfmts.py6
-rw-r--r--pygments/lexers/theorem.py10
-rw-r--r--pygments/lexers/tnt.py7
-rw-r--r--pygments/lexers/trafficscript.py2
-rw-r--r--pygments/lexers/typoscript.py3
-rw-r--r--pygments/lexers/usd.py1
-rw-r--r--pygments/lexers/verification.py5
-rw-r--r--pygments/lexers/webassembly.py3
-rw-r--r--pygments/lexers/webidl.py1
-rw-r--r--pygments/lexers/webmisc.py13
-rw-r--r--pygments/lexers/whiley.py1
-rw-r--r--pygments/lexers/x10.py1
-rw-r--r--pygments/lexers/xorg.py1
-rw-r--r--pygments/lexers/yang.py3
-rw-r--r--pygments/lexers/zig.py3
136 files changed, 559 insertions, 698 deletions
diff --git a/doc/_templates/languages.html b/doc/_templates/languages.html
new file mode 100644
index 00000000..e046a906
--- /dev/null
+++ b/doc/_templates/languages.html
@@ -0,0 +1,31 @@
+{% extends "layout.html" %}
+
+{% block htmltitle %}<title>Languages {{ titlesuffix }}</title>{% endblock %}
+
+{% block body %}
+
+<h1>Languages</h1>
+
+<ul>
+{% for language in languages %}
+<li>
+ {% if language.url %}
+ <a href="{{language.url}}">{{language.name}}</a>
+ {% else %}
+ {{language.name}}
+ {% endif %}
+</li>
+{% endfor %}
+</ul>
+{{ body }}
+
+<h1>... that's all?</h1>
+
+Well, why not write your own? Contributing to Pygments is easy and fun. Take a
+look at the <a href="{{ pathto('docs/lexerdevelopment') }}">docs on lexer development</a>. Pull
+requests are welcome on <a href="https://github.com/pygments/pygments">GitHub</a>.
+
+Note: the languages listed here are supported in the development version. The
+latest release may lack a few of them.
+
+{% endblock %}
diff --git a/doc/conf.py b/doc/conf.py
index cda21dc5..7af43e37 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -132,7 +132,10 @@ html_sidebars = {'index': ['indexsidebar.html', 'searchbox.html']}
# Additional templates that should be rendered to pages, maps page names to
# template names.
-html_additional_pages = {'styles': 'styles.html'}
+html_additional_pages = {
+ 'styles': 'styles.html',
+ 'languages': 'languages.html'
+ }
if os.environ.get('WEBSITE_BUILD'):
html_additional_pages['demo'] = 'demo.html'
@@ -232,6 +235,14 @@ def pg_context(app, pagename, templatename, ctx, event_arg):
if pagename == 'demo':
ctx['lexers'] = sorted(pygments.lexers.get_all_lexers(), key=lambda x: x[0].lower())
+ if pagename == 'languages':
+ lexer_name_url = []
+
+ for entry in sorted(pygments.lexers.LEXERS.values(), key=lambda x: x[1].lower()):
+ lexer_cls = pygments.lexers.find_lexer_class(entry[1])
+ lexer_name_url.append({'name': entry[1], 'url': lexer_cls.url})
+ ctx['languages'] = lexer_name_url
+
if pagename in ('styles', 'demo'):
with open('examples/example.py') as f:
html = f.read()
diff --git a/doc/docs/index.rst b/doc/docs/index.rst
index c3baa472..6910913e 100644
--- a/doc/docs/index.rst
+++ b/doc/docs/index.rst
@@ -28,6 +28,7 @@ Pygments documentation
unicode
tokens
api
+ terminal-sessions
**Hacking for Pygments**
diff --git a/doc/docs/terminal-sessions.rst b/doc/docs/terminal-sessions.rst
new file mode 100644
index 00000000..45af0eb8
--- /dev/null
+++ b/doc/docs/terminal-sessions.rst
@@ -0,0 +1,46 @@
+Interactive terminal/shell sessions
+-----------------------------------
+
+To highlight an interactive terminal or shell session, prefix your code snippet
+with a specially formatted prompt.
+
+Supported shells with examples are shown below. In each example, prompt parts in
+brackets ``[any]`` represent optional parts of the prompt, and prompt parts
+without brackets or in parenthesis ``(any)`` represent required parts of the
+prompt.
+
+* **Bash Session** (console, shell-session):
+
+ .. code-block:: console
+
+ [any@any]$ ls -lh
+ [any@any]# ls -lh
+ [any@any]% ls -lh
+ $ ls -lh
+ # ls -lh
+ % ls -lh
+ > ls -lh
+
+* **MSDOS Session** (doscon):
+
+ .. code-block:: doscon
+
+ [any]> dir
+ > dir
+ More? dir
+
+* **Tcsh Session** (tcshcon):
+
+ .. code-block:: tcshcon
+
+ (any)> ls -lh
+ ? ls -lh
+
+* **PowerShell Session** (ps1con):
+
+ .. code-block:: ps1con
+
+ PS[any]> Get-ChildItem
+ PS> Get-ChildItem
+ >> Get-ChildItem
+
diff --git a/doc/languages.rst b/doc/languages.rst
deleted file mode 100644
index 55e8f6ea..00000000
--- a/doc/languages.rst
+++ /dev/null
@@ -1,381 +0,0 @@
-:orphan:
-
-Supported languages
-===================
-
-Pygments supports an ever-growing range of languages. Watch this space...
-
-Programming languages
----------------------
-
-* `ActionScript <https://www.adobe.com/devnet/actionscript/articles/actionscript3_overview.html>`_
-* `Ada <https://www.adaic.org/>`_
-* `Agda <https://wiki.portal.chalmers.se/agda>`_ (incl. literate)
-* `Alloy <https://alloytools.org/>`_
-* `AMPL <https://ampl.com/>`_
-* `ANTLR <https://www.antlr.org/>`_
-* `APL <https://tryapl.org/>`_
-* `AppleScript <https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html>`_
-* `Assembly <https://en.wikipedia.org/wiki/Assembly_language>`_ (various)
-* `Asymptote <https://asymptote.sourceforge.io/>`_
-* `Augeas <https://augeas.net/>`_
-* `AutoIt <https://www.autoitscript.com/site/autoit/>`_
-* `Awk <https://en.wikipedia.org/wiki/AWK>`_
-* `BARE <https://baremessages.org/>`_
-* `BBC Basic <http://www.bbcbasic.co.uk/bbcbasic.html>`_
-* `Befunge <https://github.com/catseye/Befunge-93>`_
-* `Berry <https://github.com/berry-lang/berry>`_
-* `BlitzBasic <https://en.wikipedia.org/wiki/Blitz_BASIC>`_
-* `Boa <https://boa.cs.iastate.edu/docs/>`_
-* `Boo <https://boo-language.github.io/>`_
-* `Boogie <https://boogie.codeplex.com/>`_
-* `BrainFuck <https://en.wikipedia.org/wiki/Brainfuck>`_
-* `C <http://www.open-std.org/jtc1/sc22/wg14/>`_, `C++ <https://isocpp.org/>`_ (incl. dialects like Arduino)
-* `C# <https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/>`_
-* `Chapel <https://chapel-lang.org/>`_
-* `Charm++ CI <http://charmplusplus.org/>`_
-* `Cirru <http://cirru.org/>`_
-* `Clay <https://github.com/jckarter/clay>`_
-* `Clean <https://clean.cs.ru.nl/Clean>`_
-* `Clojure <https://clojure.org/>`_
-* `CoffeeScript <https://coffeescript.org/>`_
-* `ColdFusion <https://www.adobe.com/products/coldfusion-family.html>`_
-* `Common Lisp <https://common-lisp.net/>`_
-* `Component Pascal <https://en.wikipedia.org/wiki/Component_Pascal>`_
-* `Coq <https://coq.inria.fr/>`_
-* `Cplint <https://cplint.eu/>`_
-* `Croc <http://www.croc-lang.org/>`_ (MiniD)
-* `Cryptol <https://cryptol.net/>`_ (incl. Literate Cryptol)
-* `Crystal <https://crystal-lang.org>`_
-* `Cypher <https://neo4j.com/developer/cypher-query-language/>`_
-* `Cython <https://cython.org>`_
-* `D <https://dlang.org>`_
-* `Dart <https://dart.dev/>`_
-* DCPU-16
-* `Delphi <https://www.embarcadero.com/products/delphi>`_
-* `DOT / Graphviz <https://graphviz.org>`_
-* `Devicetree <https://www.devicetree.org/>`_
-* `Dylan <https://opendylan.org/>`_ (incl. console)
-* `Eiffel <https://www.eiffel.org/>`_
-* `Elm <https://elm-lang.org/>`_
-* `Elpi <http://github.com/LPCIC/elpi>`_
-* `Emacs Lisp <https://www.gnu.org/software/emacs/manual/html_node/elisp/>`_
-* Email
-* `Erlang <https://www.erlang.org/>`_ (incl. shell sessions)
-* `Ezhil <http://ezhillang.org>`_
-* `Execline <https://skarnet.org/software/execline>`_
-* `Factor <https://factorcode.org/>`_
-* `Fancy <http://www.fancy-lang.org/>`_
-* `Fantom <https://fantom-lang.org/>`_
-* `Fennel <https://fennel-lang.org/>`_
-* `FloScript <https://ioflo.com/>`_
-* `Fortran <https://fortran-lang.org/>`_
-* `FreeFEM++ <https://freefem.org/>`_
-* `F# <https://fsharp.org/>`_
-* `F* <https://www.fstar-lang.org/>`_
-* `GAP <https://www.gap-system.org/>`_
-* `GDScript <https://docs.godotengine.org/>`_
-* `Gherkin <https://cucumber.io/docs/gherkin/>`_ (Cucumber)
-* `GLSL <https://www.khronos.org/registry/OpenGL/index_gl.php>`_ shaders
-* `GnuCOBOL <https://www.gnu.org/software/gnucobol/>`_ (OpenCOBOL)
-* `Golo <https://golo-lang.org/>`_
-* `Gosu <https://gosu-lang.github.io/>`_
-* `Groovy <https://groovy-lang.org/>`_
-* `Haskell <https://www.haskell.org/>`_ (incl. Literate Haskell)
-* `Haxe <https://haxe.org>`_
-* `HLSL <https://docs.microsoft.com/en-gb/windows/win32/direct3dhlsl/dx-graphics-hlsl>`_ shaders
-* `HSpec <https://hackage.haskell.org/package/hspec>`_
-* `Hy <https://hylang.org>`_
-* `IDL <https://www.harrisgeospatial.com/Software-Technology/IDL>`_
-* `Idris <https://www.idris-lang.org/>`_ (incl. Literate Idris)
-* `Igor Pro <https://www.wavemetrics.com/products/igorpro/programming>`_
-* `Io <http://iolanguage.com/>`_
-* `Jags <http://mcmc-jags.sourceforge.net/>`_
-* `Java <https://www.oracle.com/java/>`_
-* `JavaScript <https://en.wikipedia.org/wiki/JavaScript>`_
-* `Jasmin <http://jasmin.sourceforge.net/>`_
-* `Jcl <https://en.wikipedia.org/wiki/Job_Control_Language>`_
-* `Julia <https://julialang.org>`_
-* `JSLT <https://github.com/schibsted/jslt>`_
-* `Kotlin <https://kotlinlang.org/>`_
-* `K <https://code.kx.com/>`_
-* `Lasso <http://www.lassosoft.com/>`_ (incl. templating)
-* `Limbo <http://www.vitanuova.com/inferno/limbo.html>`_
-* `LiveScript <https://livescript.net/>`_
-* `LLVM MIR <https://llvm.org/docs/MIRLangRef.html>`_
-* `Logtalk <https://logtalk.org/>`_
-* `Logos <https://en.wikipedia.org/wiki/Logo_(programming_language)>`_
-* `Lua <https://lua.org>`_
-* `Mathematica <https://www.wolfram.com/mathematica/>`_
-* `Matlab <https://www.mathworks.com/products/matlab.html>`_
-* `The Meson Build System <https://mesonbuild.com>`_
-* `MiniScript <https://miniscript.org>`_
-* `Modelica <https://www.modelica.org/>`_
-* `Modula-2 <https://www.modula2.org/>`_
-* `Monkey <https://monkeylang.org/>`_
-* `Monte <https://monte.readthedocs.io/>`_
-* `MoonScript <https://moonscript.org/>`_
-* `Mosel <https://www.maths.ed.ac.uk/hall/Xpress/FICO_Docs/mosel/mosel_lang/dhtml/moselreflang.html>`_
-* `MuPad <https://www.mathworks.com/discovery/mupad.html>`_
-* `NASM <https://www.nasm.us/>`_
-* `Nemerle <http://nemerle.org/>`_
-* `NesC <http://nescc.sourceforge.net/>`_
-* `NewLISP <http://www.newlisp.org/>`_
-* `Nim <https://nim-lang.org/>`_
-* `Nit <https://nitlanguage.org/>`_
-* `Notmuch <https://notmuchmail.org/>`_
-* `NuSMV <http://nusmv.fbk.eu/NuSMV/papers/sttt_j/html/node7.html>`_
-* `Objective-C <https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html>`_
-* `Objective-J <https://www.cappuccino.dev/learn/objective-j.html>`_
-* `Octave <https://www.gnu.org/software/octave/>`_
-* `OCaml <https://ocaml.org/>`_
-* `Opa <http://opalang.org/>`_
-* `ParaSail <https://www.parasail-lang.org/>`_
-* `Pawn <https://www.compuphase.com/pawn/pawn.htm>`_
-* `PHP <https://www.php.net/>`_
-* `Perl 5 <https://perl.org>`_
-* `Pike <https://pike.lysator.liu.se/>`_
-* `Pointless <https://ptls.dev/>`_
-* `Pony <https://www.ponylang.io/>`_
-* `PovRay <http://www.povray.org/>`_
-* `PostScript <https://en.wikipedia.org/wiki/PostScript>`_
-* `PowerShell <https://microsoft.com/powershell>`_
-* `Praat <http://www.praat.org>`_
-* `Prolog <https://en.wikipedia.org/wiki/Prolog>`_
-* `Python <https://python.org/>`_ 2.x and 3.x (incl. console sessions and
- tracebacks)
-* `Q <https://code.kx.com/>`_
-* `QBasic <https://en.wikipedia.org/wiki/QBasic>`_
-* `Qlik <https://www.qlik.com/us/>`_
-* `Racket <https://racket-lang.org/>`_
-* `Raku <https://www.raku.org/>`_ a.k.a. Perl 6
-* `ReasonML <https://reasonml.github.io/>`_
-* `REBOL <http://www.rebol.com>`_
-* `Red <https://www.red-lang.org>`_
-* `Redcode <https://esolangs.org/wiki/Redcode>`_
-* `Rexx <https://www.ibm.com/rexx/>`_
-* `Ride <https://docs.wavesprotocol.org/en/ride/>`_
-* `Ruby <https://www.ruby-lang.org>`_ (incl. irb sessions)
-* `Rust <https://rust-lang.org>`_
-* S, S-Plus, `R <https://www.r-project.org/>`_
-* `Scala <https://scala-lang.org/>`_
-* `Savi <https://github.com/savi-lang/savi/>`_
-* `Scdoc <https://git.sr.ht/~sircmpwn/scdoc>`_
-* `Scheme <http://www.scheme-reports.org/>`_
-* `Scilab <https://www.scilab.org/>`_
-* `SGF <https://www.red-bean.com/sgf/>`_
-* Shell scripts (`Bash <https://www.gnu.org/software/bash/>`_, `Tcsh <https://www.tcsh.org/>`_, `Fish <https://fishshell.com/>`_)
-* `Shen <http://shenlanguage.org/>`_
-* `Silver <https://elementscompiler.com/elements/silver/>`_
-* `Slash <https://github.com/arturadib/Slash-A>`_
-* `Slurm <https://slurm.schedmd.com/overview.html>`_
-* `Smalltalk <https://en.wikipedia.org/wiki/Smalltalk>`_
-* `SNOBOL <http://www.snobol4.org/>`_
-* `Snowball <https://snowballstem.org/>`_
-* `Solidity <https://solidity.readthedocs.io/>`_
-* `SourcePawn <https://github.com/alliedmodders/sourcepawn>`_
-* `Spice <https://www.spicelang.com>`_
-* `Stan <https://mc-stan.org/>`_
-* `Standard ML <https://smlfamily.github.io/>`_
-* `Stata <https://www.stata.com/features/programming-language/>`_
-* `Swift <https://swift.org/>`_
-* `Swig <http://swig.org/>`_
-* `SuperCollider <https://supercollider.github.io/>`_
-* `Tal <https://wiki.xxiivv.com/site/uxntal.html>`_
-* `Tcl <https://www.tcl.tk/about/language.html>`_
-* `Tera Term language <https://ttssh2.osdn.jp/>`_
-* `TypeScript <https://www.typescriptlang.org/>`_
-* `TypoScript <https://typo3.org/>`_
-* `USD <https://graphics.pixar.com/usd/docs/index.html>`_
-* `Unicon <https://unicon.sourceforge.io/>`_
-* `Urbiscript <https://github.com/urbiforge/urbi>`_
-* `Vala <https://wiki.gnome.org/Projects/Vala>`_
-* `VBScript <https://docs.microsoft.com/en-us/previous-versions/t0aew7h6(v=vs.85)>`_
-* Verilog, `SystemVerilog <https://en.wikipedia.org/wiki/SystemVerilog>`_
-* `VHDL <http://www.eda-twiki.org/cgi-bin/view.cgi/P1076/WebHome>`_
-* `Visual Basic.NET <https://docs.microsoft.com/dotnet/visual-basic/>`_
-* `Visual FoxPro <https://msdn.microsoft.com/vfoxpro>`_
-* `Whiley <http://whiley.org/>`_
-* `Xtend <https://www.eclipse.org/xtend/>`_
-* `XQuery <http://www.w3.org/XML/Query/>`_
-* `Zeek <https://www.zeek.org>`_
-* `Zephir <https://zephir-lang.com/en>`_
-* `Zig <https://ziglang.org/>`_
-
-Template languages
-------------------
-
-* `Angular templates <https://angular.io/guide/template-syntax>`_
-* `Cheetah templates <https://cheetahtemplate.org/>`_
-* `ColdFusion <https://www.adobe.com/products/coldfusion-family.html>`_
-* `Django <https://www.djangoproject.com>`_ / `Jinja
- <https://jinja.pocoo.org/jinja>`_ templates
-* `ERB <https://en.wikipedia.org/wiki/ERuby>`_ (Ruby templating)
-* Evoque
-* `Genshi <https://genshi.edgewall.org>`_ (the Trac template language)
-* `Handlebars <https://handlebarsjs.com/>`_
-* `JSP <https://www.oracle.com/java/technologies/jspt.html>`_ (Java Server Pages)
-* `Liquid <https://shopify.github.io/liquid/>`_
-* `Myghty <https://pypi.org/project/Myghty/>`_ (the HTML::Mason based framework)
-* `Mako <https://www.makotemplates.org>`_ (the Myghty successor)
-* `Slim <http://slim-lang.com/>`_
-* `Smarty <https://www.smarty.net>`_ templates (PHP templating)
-* `UL4 <https://python.livinglogic.de/UL4.html>`_
-* `Tea <https://github.com/teatrove/teatrove/wiki/Tea-Template-Language>`_
-* `Twig <https://twig.symfony.com/>`_
-
-Other markup
-------------
-
-* Apache config files
-* Apache Pig
-* BBCode
-* Bdd
-* CapDL
-* `Cap'n Proto <https://capnproto.org>`_
-* `CDDL <https://datatracker.ietf.org/doc/rfc8610/>`_
-* CMake
-* `Csound <https://csound.com>`_ scores
-* CSS
-* Debian control files
-* Diff files
-* Dockerfiles
-* DTD
-* EBNF
-* E-mail headers
-* Extempore
-* Flatline
-* Gettext catalogs
-* Gnuplot script
-* Groff markup
-* `GSQL <https://docs.tigergraph.com/dev/gsql-ref>`_
-* Hexdumps
-* HTML
-* HTTP sessions
-* IDL
-* Inform
-* INI-style config files
-* IRC logs (irssi style)
-* Isabelle
-* JSGF notation
-* JSON, JSON-LD
-* Lean theorem prover
-* Lighttpd config files
-* `LilyPond <https://lilypond.org/>`_
-* Linux kernel log (dmesg)
-* LLVM assembly
-* LSL scripts
-* Makefiles
-* MoinMoin/Trac Wiki markup
-* MQL
-* MySQL
-* NCAR command language
-* `NestedText <https://nestedtext.org/>`_
-* Nginx config files
-* `Nix language <https://nixos.org/nix/>`_
-* NSIS scripts
-* Notmuch
-* `OMG IDL <https://www.omg.org/spec/IDL/About-IDL/>`_
-* `PEG <https://bford.info/packrat/>`_
-* POV-Ray scenes
-* `Procfile <https://devcenter.heroku.com/articles/procfile#procfile-format>`_
-* `PromQL <https://prometheus.io/docs/prometheus/latest/querying/basics/>`_
-* `Puppet <https://puppet.com/>`_
-* QML
-* Ragel
-* Redcode
-* ReST
-* `Rita <https://github.com/zaibacu/rita-dsl>`_
-* `Roboconf <http://roboconf.net/en/roboconf.html>`_
-* Robot Framework
-* RPM spec files
-* Rql
-* RSL
-* Scdoc
-* Sieve
-* Singularity
-* `Smithy <https://awslabs.github.io/smithy/>`_
-* `Sophia <https://buildwithsophia.com/>`_
-* SPARQL
-* SQL, also MySQL, SQLite
-* Squid configuration
-* TADS 3
-* Terraform
-* TeX
-* `Thrift <https://thrift.apache.org/>`_
-* `TNT <https://en.wikipedia.org/wiki/Typographical_Number_Theory>`_
-* `TOML <https://github.com/toml-lang/toml>`_
-* Treetop grammars
-* USD (Universal Scene Description)
-* Varnish configs
-* VGL
-* Vim Script
-* WDiff
-* Web IDL
-* Windows batch files
-* XML
-* XSLT
-* YAML
-* YANG
-* Windows Registry files
-
-
-Interactive terminal/shell sessions
------------------------------------
-
-To highlight an interactive terminal or shell session, prefix your code snippet
-with a specially formatted prompt.
-
-Supported shells with examples are shown below. In each example, prompt parts in
-brackets ``[any]`` represent optional parts of the prompt, and prompt parts
-without brackets or in parenthesis ``(any)`` represent required parts of the
-prompt.
-
-* **Bash Session** (console, shell-session):
-
- .. code-block:: console
-
- [any@any]$ ls -lh
- [any@any]# ls -lh
- [any@any]% ls -lh
- $ ls -lh
- # ls -lh
- % ls -lh
- > ls -lh
-
-* **MSDOS Session** (doscon):
-
- .. code-block:: doscon
-
- [any]> dir
- > dir
- More? dir
-
-* **Tcsh Session** (tcshcon):
-
- .. code-block:: tcshcon
-
- (any)> ls -lh
- ? ls -lh
-
-* **PowerShell Session** (ps1con):
-
- .. code-block:: ps1con
-
- PS[any]> Get-ChildItem
- PS> Get-ChildItem
- >> Get-ChildItem
-
-
-... that's all?
----------------
-
-Well, why not write your own? Contributing to Pygments is easy and fun. Take a
-look at the :doc:`docs on lexer development <docs/lexerdevelopment>`. Pull
-requests are welcome on `GitHub <https://github.com/pygments/pygments>`_.
-Be sure to read the `contributing guidelines`_.
-
-.. _contributing guidelines: https://github.com/pygments/pygments/blob/master/Contributing.md
-
-Note: the languages listed here are supported in the development version. The
-latest release may lack a few of them.
diff --git a/pygments/lexer.py b/pygments/lexer.py
index 9e2ece4c..27d73ee1 100644
--- a/pygments/lexer.py
+++ b/pygments/lexer.py
@@ -76,6 +76,9 @@ class Lexer(metaclass=LexerMeta):
#: Name of the lexer
name = None
+ #: URL of the language specification/definition
+ url = None
+
#: Shortcuts for the lexer
aliases = []
diff --git a/pygments/lexers/actionscript.py b/pygments/lexers/actionscript.py
index 01760e7d..3a5bbf21 100644
--- a/pygments/lexers/actionscript.py
+++ b/pygments/lexers/actionscript.py
@@ -123,6 +123,7 @@ class ActionScript3Lexer(RegexLexer):
"""
name = 'ActionScript 3'
+ url = 'https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.html'
aliases = ['actionscript3', 'as3']
filenames = ['*.as']
mimetypes = ['application/x-actionscript3', 'text/x-actionscript3',
diff --git a/pygments/lexers/algebra.py b/pygments/lexers/algebra.py
index cbe7067a..59072708 100644
--- a/pygments/lexers/algebra.py
+++ b/pygments/lexers/algebra.py
@@ -19,11 +19,12 @@ __all__ = ['GAPLexer', 'MathematicaLexer', 'MuPADLexer', 'BCLexer']
class GAPLexer(RegexLexer):
"""
- For `GAP <http://www.gap-system.org>`_ source code.
+ For GAP source code.
.. versionadded:: 2.0
"""
name = 'GAP'
+ url = 'http://www.gap-system.org'
aliases = ['gap']
filenames = ['*.g', '*.gd', '*.gi', '*.gap']
@@ -89,11 +90,12 @@ class GAPLexer(RegexLexer):
class MathematicaLexer(RegexLexer):
"""
- Lexer for `Mathematica <http://www.wolfram.com/mathematica/>`_ source code.
+ Lexer for Mathematica source code.
.. versionadded:: 2.0
"""
name = 'Mathematica'
+ url = 'http://www.wolfram.com/mathematica/'
aliases = ['mathematica', 'mma', 'nb']
filenames = ['*.nb', '*.cdf', '*.nbp', '*.ma']
mimetypes = ['application/mathematica',
@@ -136,12 +138,13 @@ class MathematicaLexer(RegexLexer):
class MuPADLexer(RegexLexer):
"""
- A `MuPAD <http://www.mupad.com>`_ lexer.
+ A MuPAD lexer.
Contributed by Christopher Creutzig <christopher@creutzig.de>.
.. versionadded:: 0.8
"""
name = 'MuPAD'
+ url = 'http://www.mupad.com'
aliases = ['mupad']
filenames = ['*.mu']
@@ -208,11 +211,12 @@ class MuPADLexer(RegexLexer):
class BCLexer(RegexLexer):
"""
- A `BC <https://www.gnu.org/software/bc/>`_ lexer.
+ A BC lexer.
.. versionadded:: 2.1
"""
name = 'BC'
+ url = 'https://www.gnu.org/software/bc/'
aliases = ['bc']
filenames = ['*.bc']
diff --git a/pygments/lexers/ambient.py b/pygments/lexers/ambient.py
index 5b843398..a5a7c576 100644
--- a/pygments/lexers/ambient.py
+++ b/pygments/lexers/ambient.py
@@ -19,11 +19,12 @@ __all__ = ['AmbientTalkLexer']
class AmbientTalkLexer(RegexLexer):
"""
- Lexer for `AmbientTalk <https://code.google.com/p/ambienttalk>`_ source code.
+ Lexer for AmbientTalk source code.
.. versionadded:: 2.0
"""
name = 'AmbientTalk'
+ url = 'https://code.google.com/p/ambienttalk'
filenames = ['*.at']
aliases = ['ambienttalk', 'ambienttalk/2', 'at']
mimetypes = ['text/x-ambienttalk']
diff --git a/pygments/lexers/ampl.py b/pygments/lexers/ampl.py
index 2aecb3ae..fc26f3cf 100644
--- a/pygments/lexers/ampl.py
+++ b/pygments/lexers/ampl.py
@@ -17,11 +17,12 @@ __all__ = ['AmplLexer']
class AmplLexer(RegexLexer):
"""
- For `AMPL <http://ampl.com/>`_ source code.
+ For AMPL source code.
.. versionadded:: 2.2
"""
name = 'Ampl'
+ url = 'http://ampl.com/'
aliases = ['ampl']
filenames = ['*.run']
diff --git a/pygments/lexers/apl.py b/pygments/lexers/apl.py
index 13215e91..944551f1 100644
--- a/pygments/lexers/apl.py
+++ b/pygments/lexers/apl.py
@@ -17,11 +17,12 @@ __all__ = ['APLLexer']
class APLLexer(RegexLexer):
"""
- A simple `APL <https://en.m.wikipedia.org/wiki/APL_(programming_language)>`_ lexer.
+ A simple APL lexer.
.. versionadded:: 2.0
"""
name = 'APL'
+ url = 'https://en.m.wikipedia.org/wiki/APL_(programming_language)'
aliases = ['apl']
filenames = [
'*.apl', '*.aplf', '*.aplo', '*.apln',
diff --git a/pygments/lexers/arrow.py b/pygments/lexers/arrow.py
index fac70388..bdfdc740 100644
--- a/pygments/lexers/arrow.py
+++ b/pygments/lexers/arrow.py
@@ -21,12 +21,13 @@ DECL = TYPES + r'(\s+)' + IDENT
class ArrowLexer(RegexLexer):
"""
- Lexer for Arrow: https://pypi.org/project/py-arrow-lang/
+ Lexer for Arrow
.. versionadded:: 2.7
"""
name = 'Arrow'
+ url = 'https://pypi.org/project/py-arrow-lang/'
aliases = ['arrow']
filenames = ['*.arw']
diff --git a/pygments/lexers/asm.py b/pygments/lexers/asm.py
index 1de968a8..8e803c91 100644
--- a/pygments/lexers/asm.py
+++ b/pygments/lexers/asm.py
@@ -350,6 +350,7 @@ class LlvmLexer(RegexLexer):
For LLVM assembly code.
"""
name = 'LLVM'
+ url = 'https://llvm.org/docs/LangRef.html'
aliases = ['llvm']
filenames = ['*.ll']
mimetypes = ['text/x-llvm']
@@ -490,11 +491,10 @@ class LlvmMirBodyLexer(RegexLexer):
"""
For LLVM MIR examples without the YAML wrapper.
- For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.
-
.. versionadded:: 2.6
"""
name = 'LLVM-MIR Body'
+ url = 'https://llvm.org/docs/MIRLangRef.html'
aliases = ['llvm-mir-body']
filenames = []
mimetypes = []
@@ -636,11 +636,10 @@ class LlvmMirLexer(RegexLexer):
see the state of the compilation process at various points, as well as test
individual pieces of the compiler.
- For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.
-
.. versionadded:: 2.6
"""
name = 'LLVM-MIR'
+ url = 'https://llvm.org/docs/MIRLangRef.html'
aliases = ['llvm-mir']
filenames = ['*.mir']
@@ -935,11 +934,10 @@ class Dasm16Lexer(RegexLexer):
"""
For DCPU-16 Assembly.
- Check http://0x10c.com/doc/dcpu-16.txt
-
.. versionadded:: 2.4
"""
name = 'DASM16'
+ url = 'http://0x10c.com/doc/dcpu-16.txt'
aliases = ['dasm16']
filenames = ['*.dasm16', '*.dasm']
mimetypes = ['text/x-dasm16']
diff --git a/pygments/lexers/automation.py b/pygments/lexers/automation.py
index a5ed1315..00f448ea 100644
--- a/pygments/lexers/automation.py
+++ b/pygments/lexers/automation.py
@@ -17,11 +17,12 @@ __all__ = ['AutohotkeyLexer', 'AutoItLexer']
class AutohotkeyLexer(RegexLexer):
"""
- For `autohotkey <http://www.autohotkey.com/>`_ source code.
+ For autohotkey source code.
.. versionadded:: 1.4
"""
name = 'autohotkey'
+ url = 'http://www.autohotkey.com/'
aliases = ['autohotkey', 'ahk']
filenames = ['*.ahk', '*.ahkl']
mimetypes = ['text/x-autohotkey']
@@ -194,7 +195,7 @@ class AutohotkeyLexer(RegexLexer):
class AutoItLexer(RegexLexer):
"""
- For `AutoIt <http://www.autoitscript.com/site/autoit/>`_ files.
+ For AutoIt files.
AutoIt is a freeware BASIC-like scripting language
designed for automating the Windows GUI and general scripting
@@ -202,6 +203,7 @@ class AutoItLexer(RegexLexer):
.. versionadded:: 1.6
"""
name = 'AutoIt'
+ url = 'http://www.autoitscript.com/site/autoit/'
aliases = ['autoit']
filenames = ['*.au3']
mimetypes = ['text/x-autoit']
diff --git a/pygments/lexers/bare.py b/pygments/lexers/bare.py
index 4ca07010..c1d18337 100644
--- a/pygments/lexers/bare.py
+++ b/pygments/lexers/bare.py
@@ -18,11 +18,12 @@ __all__ = ['BareLexer']
class BareLexer(RegexLexer):
"""
- For `BARE schema <https://baremessages.org>`_ schema source.
+ For BARE schema source.
.. versionadded:: 2.7
"""
name = 'BARE'
+ url = 'https://baremessages.org'
filenames = ['*.bare']
aliases = ['bare']
diff --git a/pygments/lexers/basic.py b/pygments/lexers/basic.py
index be518c01..f0a33ff9 100644
--- a/pygments/lexers/basic.py
+++ b/pygments/lexers/basic.py
@@ -22,12 +22,13 @@ __all__ = ['BlitzBasicLexer', 'BlitzMaxLexer', 'MonkeyLexer', 'CbmBasicV2Lexer',
class BlitzMaxLexer(RegexLexer):
"""
- For `BlitzMax <http://blitzbasic.com>`_ source code.
+ For BlitzMax source code.
.. versionadded:: 1.4
"""
name = 'BlitzMax'
+ url = 'http://blitzbasic.com'
aliases = ['blitzmax', 'bmax']
filenames = ['*.bmx']
mimetypes = ['text/x-bmx']
@@ -113,12 +114,13 @@ class BlitzMaxLexer(RegexLexer):
class BlitzBasicLexer(RegexLexer):
"""
- For `BlitzBasic <http://blitzbasic.com>`_ source code.
+ For BlitzBasic source code.
.. versionadded:: 2.0
"""
name = 'BlitzBasic'
+ url = 'http://blitzbasic.com'
aliases = ['blitzbasic', 'b3d', 'bplus']
filenames = ['*.bb', '*.decls']
mimetypes = ['text/x-bb']
diff --git a/pygments/lexers/c_cpp.py b/pygments/lexers/c_cpp.py
index 72a840e3..1f27b89c 100644
--- a/pygments/lexers/c_cpp.py
+++ b/pygments/lexers/c_cpp.py
@@ -311,6 +311,7 @@ class CppLexer(CFamilyLexer):
(default: ``True``).
"""
name = 'C++'
+ url = 'https://isocpp.org/'
aliases = ['cpp', 'c++']
filenames = ['*.cpp', '*.hpp', '*.c++', '*.h++',
'*.cc', '*.hh', '*.cxx', '*.hxx',
diff --git a/pygments/lexers/c_like.py b/pygments/lexers/c_like.py
index f7e2b589..6b511ded 100644
--- a/pygments/lexers/c_like.py
+++ b/pygments/lexers/c_like.py
@@ -573,12 +573,13 @@ class CharmciLexer(CppLexer):
class OmgIdlLexer(CLexer):
"""
- Lexer for `Object Management Group Interface Definition Language <https://www.omg.org/spec/IDL/About-IDL/>`_.
+ Lexer for Object Management Group Interface Definition Language.
.. versionadded:: 2.9
"""
name = 'OMG Interface Definition Language'
+ url = 'https://www.omg.org/spec/IDL/About-IDL/'
aliases = ['omg-idl']
filenames = ['*.idl', '*.pidl']
mimetypes = []
diff --git a/pygments/lexers/capnproto.py b/pygments/lexers/capnproto.py
index 73300eef..202b0727 100644
--- a/pygments/lexers/capnproto.py
+++ b/pygments/lexers/capnproto.py
@@ -18,11 +18,12 @@ __all__ = ['CapnProtoLexer']
class CapnProtoLexer(RegexLexer):
"""
- For `Cap'n Proto <https://capnproto.org>`_ source.
+ For Cap'n Proto source.
.. versionadded:: 2.2
"""
name = 'Cap\'n Proto'
+ url = 'https://capnproto.org'
filenames = ['*.capnp']
aliases = ['capnp']
diff --git a/pygments/lexers/cddl.py b/pygments/lexers/cddl.py
index 3dbaa368..1d29787c 100644
--- a/pygments/lexers/cddl.py
+++ b/pygments/lexers/cddl.py
@@ -38,6 +38,7 @@ class CddlLexer(RegexLexer):
.. versionadded:: 2.8
"""
name = "CDDL"
+ url = 'https://datatracker.ietf.org/doc/rfc8610/'
aliases = ["cddl"]
filenames = ["*.cddl"]
mimetypes = ["text/x-cddl"]
diff --git a/pygments/lexers/chapel.py b/pygments/lexers/chapel.py
index ed4b2cab..908d391e 100644
--- a/pygments/lexers/chapel.py
+++ b/pygments/lexers/chapel.py
@@ -17,11 +17,12 @@ __all__ = ['ChapelLexer']
class ChapelLexer(RegexLexer):
"""
- For `Chapel <https://chapel-lang.org/>`_ source.
+ For Chapel source.
.. versionadded:: 2.0
"""
name = 'Chapel'
+ url = 'https://chapel-lang.org/'
filenames = ['*.chpl']
aliases = ['chapel', 'chpl']
# mimetypes = ['text/x-chapel']
diff --git a/pygments/lexers/clean.py b/pygments/lexers/clean.py
index 17830f41..ff2bf6f5 100644
--- a/pygments/lexers/clean.py
+++ b/pygments/lexers/clean.py
@@ -18,11 +18,12 @@ __all__ = ['CleanLexer']
class CleanLexer(ExtendedRegexLexer):
"""
Lexer for the general purpose, state-of-the-art, pure and lazy functional
- programming language Clean (http://clean.cs.ru.nl/Clean).
+ programming language Clean.
.. versionadded: 2.2
"""
name = 'Clean'
+ url = 'http://clean.cs.ru.nl/Clean'
aliases = ['clean']
filenames = ['*.icl', '*.dcl']
diff --git a/pygments/lexers/configs.py b/pygments/lexers/configs.py
index 666b4c05..a7abbd7e 100644
--- a/pygments/lexers/configs.py
+++ b/pygments/lexers/configs.py
@@ -62,14 +62,13 @@ class IniLexer(RegexLexer):
class RegeditLexer(RegexLexer):
"""
- Lexer for `Windows Registry
- <http://en.wikipedia.org/wiki/Windows_Registry#.REG_files>`_ files produced
- by regedit.
+ Lexer for Windows Registry files produced by regedit.
.. versionadded:: 1.6
"""
name = 'reg'
+ url = 'http://en.wikipedia.org/wiki/Windows_Registry#.REG_files'
aliases = ['registry']
filenames = ['*.reg']
mimetypes = ['text/x-windows-registry']
@@ -231,12 +230,13 @@ class KconfigLexer(RegexLexer):
class Cfengine3Lexer(RegexLexer):
"""
- Lexer for `CFEngine3 <http://cfengine.org>`_ policy files.
+ Lexer for CFEngine3 policy files.
.. versionadded:: 1.5
"""
name = 'CFEngine3'
+ url = 'http://cfengine.org'
aliases = ['cfengine3', 'cf3']
filenames = ['*.cf']
mimetypes = []
@@ -335,12 +335,13 @@ class ApacheConfLexer(RegexLexer):
class SquidConfLexer(RegexLexer):
"""
- Lexer for `squid <http://www.squid-cache.org/>`_ configuration files.
+ Lexer for squid configuration files.
.. versionadded:: 0.9
"""
name = 'SquidConf'
+ url = 'http://www.squid-cache.org/'
aliases = ['squidconf', 'squid.conf', 'squid']
filenames = ['squid.conf']
mimetypes = ['text/x-squidconf']
@@ -465,11 +466,12 @@ class SquidConfLexer(RegexLexer):
class NginxConfLexer(RegexLexer):
"""
- Lexer for `Nginx <http://nginx.net/>`_ configuration files.
+ Lexer for Nginx configuration files.
.. versionadded:: 0.11
"""
name = 'Nginx configuration file'
+ url = 'http://nginx.net/'
aliases = ['nginx']
filenames = ['nginx.conf']
mimetypes = ['text/x-nginx-conf']
@@ -511,11 +513,12 @@ class NginxConfLexer(RegexLexer):
class LighttpdConfLexer(RegexLexer):
"""
- Lexer for `Lighttpd <http://lighttpd.net/>`_ configuration files.
+ Lexer for Lighttpd configuration files.
.. versionadded:: 0.11
"""
name = 'Lighttpd configuration file'
+ url = 'http://lighttpd.net/'
aliases = ['lighttpd', 'lighty']
filenames = ['lighttpd.conf']
mimetypes = ['text/x-lighttpd-conf']
@@ -539,11 +542,12 @@ class LighttpdConfLexer(RegexLexer):
class DockerLexer(RegexLexer):
"""
- Lexer for `Docker <http://docker.io>`_ configuration files.
+ Lexer for Docker configuration files.
.. versionadded:: 2.0
"""
name = 'Docker'
+ url = 'http://docker.io'
aliases = ['docker', 'dockerfile']
filenames = ['Dockerfile', '*.docker']
mimetypes = ['text/x-dockerfile-config']
@@ -574,12 +578,13 @@ class DockerLexer(RegexLexer):
class TerraformLexer(ExtendedRegexLexer):
"""
- Lexer for `terraformi .tf files <https://www.terraform.io/>`_.
+ Lexer for terraformi ``.tf`` files.
.. versionadded:: 2.1
"""
name = 'Terraform'
+ url = 'https://www.terraform.io/'
aliases = ['terraform', 'tf']
filenames = ['*.tf']
mimetypes = ['application/x-tf', 'application/x-terraform']
@@ -846,14 +851,14 @@ class TerminfoLexer(RegexLexer):
class PkgConfigLexer(RegexLexer):
"""
- Lexer for `pkg-config
- <http://www.freedesktop.org/wiki/Software/pkg-config/>`_
+ Lexer for pkg-config
(see also `manual page <http://linux.die.net/man/1/pkg-config>`_).
.. versionadded:: 2.1
"""
name = 'PkgConfig'
+ url = 'http://www.freedesktop.org/wiki/Software/pkg-config/'
aliases = ['pkgconfig']
filenames = ['*.pc']
mimetypes = []
@@ -904,8 +909,7 @@ class PkgConfigLexer(RegexLexer):
class PacmanConfLexer(RegexLexer):
"""
- Lexer for `pacman.conf
- <https://www.archlinux.org/pacman/pacman.conf.5.html>`_.
+ Lexer for pacman.conf.
Actually, IniLexer works almost fine for this format,
but it yield error token. It is because pacman.conf has
@@ -923,6 +927,7 @@ class PacmanConfLexer(RegexLexer):
"""
name = 'PacmanConf'
+ url = 'https://www.archlinux.org/pacman/pacman.conf.5.html'
aliases = ['pacmanconf']
filenames = ['pacman.conf']
mimetypes = []
@@ -962,11 +967,12 @@ class PacmanConfLexer(RegexLexer):
class AugeasLexer(RegexLexer):
"""
- Lexer for `Augeas <http://augeas.net>`_.
+ Lexer for Augeas.
.. versionadded:: 2.4
"""
name = 'Augeas'
+ url = 'http://augeas.net'
aliases = ['augeas']
filenames = ['*.aug']
@@ -1006,13 +1012,14 @@ class AugeasLexer(RegexLexer):
class TOMLLexer(RegexLexer):
"""
- Lexer for `TOML <https://github.com/toml-lang/toml>`_, a simple language
+ Lexer for TOML, a simple language
for config files.
.. versionadded:: 2.4
"""
name = 'TOML'
+ url = 'https://github.com/toml-lang/toml'
aliases = ['toml']
filenames = ['*.toml', 'Pipfile', 'poetry.lock']
@@ -1057,13 +1064,14 @@ class TOMLLexer(RegexLexer):
class NestedTextLexer(RegexLexer):
"""
- Lexer for `NextedText <https://nestedtext.org>`_, a human-friendly data
+ Lexer for NextedText, a human-friendly data
format.
.. versionadded:: 2.9
"""
name = 'NestedText'
+ url = 'https://nestedtext.org'
aliases = ['nestedtext', 'nt']
filenames = ['*.nt']
@@ -1083,13 +1091,13 @@ class NestedTextLexer(RegexLexer):
class SingularityLexer(RegexLexer):
"""
- Lexer for `Singularity definition files
- <https://www.sylabs.io/guides/3.0/user-guide/definition_files.html>`_.
+ Lexer for Singularity definition files.
.. versionadded:: 2.6
"""
name = 'Singularity'
+ url = 'https://www.sylabs.io/guides/3.0/user-guide/definition_files.html'
aliases = ['singularity']
filenames = ['*.def', 'Singularity']
flags = re.IGNORECASE | re.MULTILINE | re.DOTALL
diff --git a/pygments/lexers/cplint.py b/pygments/lexers/cplint.py
index 127a03f9..5c10885f 100644
--- a/pygments/lexers/cplint.py
+++ b/pygments/lexers/cplint.py
@@ -20,12 +20,13 @@ __all__ = ['CplintLexer']
class CplintLexer(PrologLexer):
"""
- Lexer for `cplint <https://cplint.eu>`_ files, including CP-logic, Logic Programs with Annotated Disjunctions,
+ Lexer for cplint files, including CP-logic, Logic Programs with Annotated Disjunctions,
Distributional Clauses syntax, ProbLog, DTProbLog
.. versionadded:: 2.12
"""
name = 'cplint'
+ url = 'https://cplint.eu'
aliases = ['cplint']
filenames = ['*.ecl', '*.prolog', '*.pro', '*.pl', '*.P', '*.lpad', '*.cpl']
mimetypes = ['text/x-cplint']
diff --git a/pygments/lexers/crystal.py b/pygments/lexers/crystal.py
index ba23ebc9..7154a9b6 100644
--- a/pygments/lexers/crystal.py
+++ b/pygments/lexers/crystal.py
@@ -28,12 +28,13 @@ CRYSTAL_OPERATORS = [
class CrystalLexer(ExtendedRegexLexer):
"""
- For `Crystal <http://crystal-lang.org>`_ source code.
+ For Crystal source code.
.. versionadded:: 2.2
"""
name = 'Crystal'
+ url = 'http://crystal-lang.org'
aliases = ['cr', 'crystal']
filenames = ['*.cr']
mimetypes = ['text/x-crystal']
diff --git a/pygments/lexers/csound.py b/pygments/lexers/csound.py
index 989eeccf..eddc834e 100644
--- a/pygments/lexers/csound.py
+++ b/pygments/lexers/csound.py
@@ -24,6 +24,8 @@ newline = (r'((?:(?:;|//).*)*)(\n)', bygroups(Comment.Single, Text))
class CsoundLexer(RegexLexer):
+ url = 'https://csound.com/'
+
tokens = {
'whitespace': [
(r'[ \t]+', Whitespace),
diff --git a/pygments/lexers/css.py b/pygments/lexers/css.py
index 70ed901b..93e2315b 100644
--- a/pygments/lexers/css.py
+++ b/pygments/lexers/css.py
@@ -270,6 +270,7 @@ class CssLexer(RegexLexer):
"""
name = 'CSS'
+ url = 'https://www.w3.org/TR/CSS/#css'
aliases = ['css']
filenames = ['*.css']
mimetypes = ['text/css']
@@ -545,6 +546,7 @@ class SassLexer(ExtendedRegexLexer):
"""
name = 'Sass'
+ url = 'https://sass-lang.com/'
aliases = ['sass']
filenames = ['*.sass']
mimetypes = ['text/x-sass']
@@ -625,6 +627,7 @@ class ScssLexer(RegexLexer):
"""
name = 'SCSS'
+ url = 'https://sass-lang.com/'
aliases = ['scss']
filenames = ['*.scss']
mimetypes = ['text/x-scss']
@@ -671,12 +674,13 @@ class ScssLexer(RegexLexer):
class LessCssLexer(CssLexer):
"""
- For `LESS <http://lesscss.org/>`_ styleshets.
+ For LESS styleshets.
.. versionadded:: 2.1
"""
name = 'LessCss'
+ url = 'http://lesscss.org/'
aliases = ['less']
filenames = ['*.less']
mimetypes = ['text/x-less-css']
diff --git a/pygments/lexers/d.py b/pygments/lexers/d.py
index 5ee8ee52..672ffd3e 100644
--- a/pygments/lexers/d.py
+++ b/pygments/lexers/d.py
@@ -22,6 +22,7 @@ class DLexer(RegexLexer):
.. versionadded:: 1.2
"""
name = 'D'
+ url = 'https://dlang.org/'
filenames = ['*.d', '*.di']
aliases = ['d']
mimetypes = ['text/x-dsrc']
@@ -186,9 +187,10 @@ class DLexer(RegexLexer):
class CrocLexer(RegexLexer):
"""
- For `Croc <http://jfbillingsley.com/croc>`_ source.
+ For Croc source.
"""
name = 'Croc'
+ url = 'http://jfbillingsley.com/croc'
filenames = ['*.croc']
aliases = ['croc']
mimetypes = ['text/x-crocsrc']
diff --git a/pygments/lexers/dalvik.py b/pygments/lexers/dalvik.py
index b9b65227..11cc230d 100644
--- a/pygments/lexers/dalvik.py
+++ b/pygments/lexers/dalvik.py
@@ -19,12 +19,13 @@ __all__ = ['SmaliLexer']
class SmaliLexer(RegexLexer):
"""
- For `Smali <http://code.google.com/p/smali/>`_ (Android/Dalvik) assembly
+ For Smali (Android/Dalvik) assembly
code.
.. versionadded:: 1.6
"""
name = 'Smali'
+ url = 'http://code.google.com/p/smali/'
aliases = ['smali']
filenames = ['*.smali']
mimetypes = ['text/smali']
diff --git a/pygments/lexers/data.py b/pygments/lexers/data.py
index 56cfc56d..e7d0a843 100644
--- a/pygments/lexers/data.py
+++ b/pygments/lexers/data.py
@@ -29,13 +29,14 @@ class YamlLexerContext(LexerContext):
class YamlLexer(ExtendedRegexLexer):
"""
- Lexer for `YAML <http://yaml.org/>`_, a human-friendly data serialization
+ Lexer for YAML, a human-friendly data serialization
language.
.. versionadded:: 0.11
"""
name = 'YAML'
+ url = 'http://yaml.org/'
aliases = ['yaml']
filenames = ['*.yaml', '*.yml']
mimetypes = ['text/x-yaml']
@@ -447,6 +448,7 @@ class JsonLexer(Lexer):
"""
name = 'JSON'
+ url = 'https://www.json.org'
aliases = ['json', 'json-object']
filenames = ['*.json', 'Pipfile.lock']
mimetypes = ['application/json', 'application/json-object']
@@ -717,12 +719,13 @@ class JsonBareObjectLexer(JsonLexer):
class JsonLdLexer(JsonLexer):
"""
- For `JSON-LD <https://json-ld.org/>`_ linked data.
+ For JSON-LD linked data.
.. versionadded:: 2.0
"""
name = 'JSON-LD'
+ url = 'https://json-ld.org/'
aliases = ['jsonld', 'json-ld']
filenames = ['*.jsonld']
mimetypes = ['application/ld+json']
diff --git a/pygments/lexers/devicetree.py b/pygments/lexers/devicetree.py
index 6c01f98d..15b72ae7 100644
--- a/pygments/lexers/devicetree.py
+++ b/pygments/lexers/devicetree.py
@@ -17,12 +17,13 @@ __all__ = ['DevicetreeLexer']
class DevicetreeLexer(RegexLexer):
"""
- Lexer for `Devicetree <https://www.devicetree.org/>`_ files.
+ Lexer for Devicetree files.
.. versionadded:: 2.7
"""
name = 'Devicetree'
+ url = 'https://www.devicetree.org/'
aliases = ['devicetree', 'dts']
filenames = ['*.dts', '*.dtsi']
mimetypes = ['text/x-c']
diff --git a/pygments/lexers/diff.py b/pygments/lexers/diff.py
index 2ae976dc..6a7ba2f3 100644
--- a/pygments/lexers/diff.py
+++ b/pygments/lexers/diff.py
@@ -109,7 +109,7 @@ class DarcsPatchLexer(RegexLexer):
class WDiffLexer(RegexLexer):
"""
- A `wdiff <https://www.gnu.org/software/wdiff/>`_ lexer.
+ A wdiff lexer.
Note that:
@@ -121,6 +121,7 @@ class WDiffLexer(RegexLexer):
"""
name = 'WDiff'
+ url = 'https://www.gnu.org/software/wdiff/'
aliases = ['wdiff']
filenames = ['*.wdiff']
mimetypes = []
diff --git a/pygments/lexers/dotnet.py b/pygments/lexers/dotnet.py
index 5ffd007c..751fdae3 100644
--- a/pygments/lexers/dotnet.py
+++ b/pygments/lexers/dotnet.py
@@ -24,8 +24,7 @@ __all__ = ['CSharpLexer', 'NemerleLexer', 'BooLexer', 'VbNetLexer',
class CSharpLexer(RegexLexer):
"""
- For `C# <http://msdn2.microsoft.com/en-us/vcsharp/default.aspx>`_
- source code.
+ For C# source code.
Additional options accepted:
@@ -47,6 +46,7 @@ class CSharpLexer(RegexLexer):
"""
name = 'C#'
+ url = 'https://docs.microsoft.com/en-us/dotnet/csharp/'
aliases = ['csharp', 'c#', 'cs']
filenames = ['*.cs']
mimetypes = ['text/x-csharp'] # inferred
@@ -140,7 +140,7 @@ class CSharpLexer(RegexLexer):
class NemerleLexer(RegexLexer):
"""
- For `Nemerle <http://nemerle.org>`_ source code.
+ For Nemerle source code.
Additional options accepted:
@@ -162,6 +162,7 @@ class NemerleLexer(RegexLexer):
"""
name = 'Nemerle'
+ url = 'http://nemerle.org'
aliases = ['nemerle']
filenames = ['*.n']
mimetypes = ['text/x-nemerle'] # inferred
@@ -317,10 +318,11 @@ class NemerleLexer(RegexLexer):
class BooLexer(RegexLexer):
"""
- For `Boo <http://boo.codehaus.org/>`_ source code.
+ For Boo source code.
"""
name = 'Boo'
+ url = 'https://github.com/boo-lang/boo'
aliases = ['boo']
filenames = ['*.boo']
mimetypes = ['text/x-boo']
@@ -384,12 +386,11 @@ class BooLexer(RegexLexer):
class VbNetLexer(RegexLexer):
"""
- For
- `Visual Basic.NET <http://msdn2.microsoft.com/en-us/vbasic/default.aspx>`_
- source code.
+ For Visual Basic.NET source code.
"""
name = 'VB.net'
+ url = 'https://docs.microsoft.com/en-us/dotnet/visual-basic/'
aliases = ['vb.net', 'vbnet']
filenames = ['*.vb', '*.bas']
mimetypes = ['text/x-vbnet', 'text/x-vba'] # (?)
@@ -559,12 +560,13 @@ class VbNetAspxLexer(DelegatingLexer):
# Very close to functional.OcamlLexer
class FSharpLexer(RegexLexer):
"""
- For the `F# language <https://fsharp.org/>`_ (version 3.0).
+ For the F# language (version 3.0).
.. versionadded:: 1.5
"""
name = 'F#'
+ url= 'https://fsharp.org/'
aliases = ['fsharp', 'f#']
filenames = ['*.fs', '*.fsi']
mimetypes = ['text/x-fsharp']
diff --git a/pygments/lexers/dsls.py b/pygments/lexers/dsls.py
index ffd30980..0b51341a 100644
--- a/pygments/lexers/dsls.py
+++ b/pygments/lexers/dsls.py
@@ -22,13 +22,13 @@ __all__ = ['ProtoBufLexer', 'ZeekLexer', 'PuppetLexer', 'RslLexer',
class ProtoBufLexer(RegexLexer):
"""
- Lexer for `Protocol Buffer <http://code.google.com/p/protobuf/>`_
- definition files.
+ Lexer for Protocol Buffer definition files.
.. versionadded:: 1.4
"""
name = 'Protocol Buffer'
+ url = 'https://developers.google.com/protocol-buffers/'
aliases = ['protobuf', 'proto']
filenames = ['*.proto']
@@ -84,11 +84,12 @@ class ProtoBufLexer(RegexLexer):
class ThriftLexer(RegexLexer):
"""
- For `Thrift <https://thrift.apache.org/>`__ interface definitions.
+ For Thrift interface definitions.
.. versionadded:: 2.1
"""
name = 'Thrift'
+ url = 'https://thrift.apache.org/'
aliases = ['thrift']
filenames = ['*.thrift']
mimetypes = ['application/x-thrift']
@@ -189,11 +190,12 @@ class ThriftLexer(RegexLexer):
class ZeekLexer(RegexLexer):
"""
- For `Zeek <https://www.zeek.org/>`_ scripts.
+ For Zeek scripts.
.. versionadded:: 2.5
"""
name = 'Zeek'
+ url = 'https://www.zeek.org/'
aliases = ['zeek', 'bro']
filenames = ['*.zeek', '*.bro']
@@ -350,11 +352,12 @@ BroLexer = ZeekLexer
class PuppetLexer(RegexLexer):
"""
- For `Puppet <http://puppetlabs.com/>`__ configuration DSL.
+ For Puppet configuration DSL.
.. versionadded:: 1.6
"""
name = 'Puppet'
+ url = 'https://puppet.com/'
aliases = ['puppet']
filenames = ['*.pp']
@@ -437,13 +440,14 @@ class PuppetLexer(RegexLexer):
class RslLexer(RegexLexer):
"""
- `RSL <http://en.wikipedia.org/wiki/RAISE>`_ is the formal specification
+ RSL is the formal specification
language used in RAISE (Rigorous Approach to Industrial Software Engineering)
method.
.. versionadded:: 2.0
"""
name = 'RSL'
+ url = 'http://en.wikipedia.org/wiki/RAISE'
aliases = ['rsl']
filenames = ['*.rsl']
mimetypes = ['text/rsl']
@@ -500,11 +504,12 @@ class RslLexer(RegexLexer):
class MscgenLexer(RegexLexer):
"""
- For `Mscgen <http://www.mcternan.me.uk/mscgen/>`_ files.
+ For Mscgen files.
.. versionadded:: 1.6
"""
name = 'Mscgen'
+ url = 'http://www.mcternan.me.uk/mscgen/'
aliases = ['mscgen', 'msc']
filenames = ['*.msc']
@@ -549,12 +554,12 @@ class MscgenLexer(RegexLexer):
class VGLLexer(RegexLexer):
"""
- For `SampleManager VGL <http://www.thermoscientific.com/samplemanager>`_
- source code.
+ For SampleManager VGL source code.
.. versionadded:: 1.6
"""
name = 'VGL'
+ url = 'http://www.thermoscientific.com/samplemanager'
aliases = ['vgl']
filenames = ['*.rpf']
@@ -583,12 +588,13 @@ class VGLLexer(RegexLexer):
class AlloyLexer(RegexLexer):
"""
- For `Alloy <http://alloy.mit.edu>`_ source code.
+ For Alloy source code.
.. versionadded:: 2.0
"""
name = 'Alloy'
+ url = 'http://alloy.mit.edu'
aliases = ['alloy']
filenames = ['*.als']
mimetypes = ['text/x-alloy']
@@ -643,7 +649,7 @@ class AlloyLexer(RegexLexer):
class PanLexer(RegexLexer):
"""
- Lexer for `pan <https://github.com/quattor/pan/>`_ source files.
+ Lexer for pan source files.
Based on tcsh lexer.
@@ -651,6 +657,7 @@ class PanLexer(RegexLexer):
"""
name = 'Pan'
+ url = 'https://github.com/quattor/pan/'
aliases = ['pan']
filenames = ['*.pan']
@@ -711,12 +718,12 @@ class PanLexer(RegexLexer):
class CrmshLexer(RegexLexer):
"""
- Lexer for `crmsh <http://crmsh.github.io/>`_ configuration files
- for Pacemaker clusters.
+ Lexer for crmsh configuration files for Pacemaker clusters.
.. versionadded:: 2.1
"""
name = 'Crmsh'
+ url = 'http://crmsh.github.io/'
aliases = ['crmsh', 'pcmk']
filenames = ['*.crmsh', '*.pcmk']
mimetypes = []
@@ -781,11 +788,12 @@ class CrmshLexer(RegexLexer):
class FlatlineLexer(RegexLexer):
"""
- Lexer for `Flatline <https://github.com/bigmlcom/flatline>`_ expressions.
+ Lexer for Flatline expressions.
.. versionadded:: 2.2
"""
name = 'Flatline'
+ url = 'https://github.com/bigmlcom/flatline'
aliases = ['flatline']
filenames = []
mimetypes = ['text/x-flatline']
@@ -857,12 +865,13 @@ class FlatlineLexer(RegexLexer):
class SnowballLexer(ExtendedRegexLexer):
"""
- Lexer for `Snowball <http://snowballstem.org/>`_ source code.
+ Lexer for Snowball source code.
.. versionadded:: 2.2
"""
name = 'Snowball'
+ url = 'http://snowballstem.org/'
aliases = ['snowball']
filenames = ['*.sbl']
diff --git a/pygments/lexers/dylan.py b/pygments/lexers/dylan.py
index e5387115..38ddfb4a 100644
--- a/pygments/lexers/dylan.py
+++ b/pygments/lexers/dylan.py
@@ -19,12 +19,13 @@ __all__ = ['DylanLexer', 'DylanConsoleLexer', 'DylanLidLexer']
class DylanLexer(RegexLexer):
"""
- For the `Dylan <http://www.opendylan.org/>`_ language.
+ For the Dylan language.
.. versionadded:: 0.7
"""
name = 'Dylan'
+ url = 'http://www.opendylan.org/'
aliases = ['dylan']
filenames = ['*.dylan', '*.dyl', '*.intr']
mimetypes = ['text/x-dylan']
diff --git a/pygments/lexers/ecl.py b/pygments/lexers/ecl.py
index 0f8be1ac..7fa243a0 100644
--- a/pygments/lexers/ecl.py
+++ b/pygments/lexers/ecl.py
@@ -19,14 +19,13 @@ __all__ = ['ECLLexer']
class ECLLexer(RegexLexer):
"""
- Lexer for the declarative big-data `ECL
- <https://hpccsystems.com/training/documentation/ecl-language-reference/html>`_
- language.
+ Lexer for the declarative big-data ECL language.
.. versionadded:: 1.5
"""
name = 'ECL'
+ url = 'https://hpccsystems.com/training/documentation/ecl-language-reference/html'
aliases = ['ecl']
filenames = ['*.ecl']
mimetypes = ['application/x-ecl']
diff --git a/pygments/lexers/eiffel.py b/pygments/lexers/eiffel.py
index e0b4cc0d..793fad88 100644
--- a/pygments/lexers/eiffel.py
+++ b/pygments/lexers/eiffel.py
@@ -17,11 +17,12 @@ __all__ = ['EiffelLexer']
class EiffelLexer(RegexLexer):
"""
- For `Eiffel <http://www.eiffel.com>`_ source code.
+ For Eiffel source code.
.. versionadded:: 2.0
"""
name = 'Eiffel'
+ url = 'http://www.eiffel.com'
aliases = ['eiffel']
filenames = ['*.e']
mimetypes = ['text/x-eiffel']
diff --git a/pygments/lexers/elm.py b/pygments/lexers/elm.py
index 495707f8..c9fce501 100644
--- a/pygments/lexers/elm.py
+++ b/pygments/lexers/elm.py
@@ -17,12 +17,13 @@ __all__ = ['ElmLexer']
class ElmLexer(RegexLexer):
"""
- For `Elm <http://elm-lang.org/>`_ source code.
+ For Elm source code.
.. versionadded:: 2.1
"""
name = 'Elm'
+ url = 'http://elm-lang.org/'
aliases = ['elm']
filenames = ['*.elm']
mimetypes = ['text/x-elm']
diff --git a/pygments/lexers/elpi.py b/pygments/lexers/elpi.py
index b86040df..e1fc19d4 100644
--- a/pygments/lexers/elpi.py
+++ b/pygments/lexers/elpi.py
@@ -16,12 +16,13 @@ __all__ = ['ElpiLexer']
class ElpiLexer(RegexLexer):
"""
- Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.
+ Lexer for the Elpi programming language.
.. versionadded::2.11
"""
name = 'Elpi'
+ url = 'http://github.com/LPCIC/elpi'
aliases = ['elpi']
filenames = ['*.elpi']
mimetypes = ['text/x-elpi']
diff --git a/pygments/lexers/erlang.py b/pygments/lexers/erlang.py
index 63de531f..6cdca984 100644
--- a/pygments/lexers/erlang.py
+++ b/pygments/lexers/erlang.py
@@ -26,12 +26,11 @@ class ErlangLexer(RegexLexer):
"""
For the Erlang functional programming language.
- Blame Jeremy Thurgood (http://jerith.za.net/).
-
.. versionadded:: 0.9
"""
name = 'Erlang'
+ url = 'https://www.erlang.org/'
aliases = ['erlang']
filenames = ['*.erl', '*.hrl', '*.es', '*.escript']
mimetypes = ['text/x-erlang']
@@ -223,12 +222,13 @@ def gen_elixir_sigstr_rules(term, term_class, token, interpol=True):
class ElixirLexer(RegexLexer):
"""
- For the `Elixir language <http://elixir-lang.org>`_.
+ For the Elixir language.
.. versionadded:: 1.5
"""
name = 'Elixir'
+ url = 'http://elixir-lang.org'
aliases = ['elixir', 'ex', 'exs']
filenames = ['*.ex', '*.eex', '*.exs', '*.leex']
mimetypes = ['text/x-elixir']
diff --git a/pygments/lexers/esoteric.py b/pygments/lexers/esoteric.py
index f38b7200..a0d1f1e2 100644
--- a/pygments/lexers/esoteric.py
+++ b/pygments/lexers/esoteric.py
@@ -18,11 +18,11 @@ __all__ = ['BrainfuckLexer', 'BefungeLexer', 'RedcodeLexer', 'CAmkESLexer',
class BrainfuckLexer(RegexLexer):
"""
- Lexer for the esoteric `BrainFuck <http://www.muppetlabs.com/~breadbox/bf/>`_
- language.
+ Lexer for the esoteric BrainFuck language.
"""
name = 'Brainfuck'
+ url = 'http://www.muppetlabs.com/~breadbox/bf/'
aliases = ['brainfuck', 'bf']
filenames = ['*.bf', '*.b']
mimetypes = ['application/x-brainfuck']
@@ -75,12 +75,12 @@ class BrainfuckLexer(RegexLexer):
class BefungeLexer(RegexLexer):
"""
- Lexer for the esoteric `Befunge <http://en.wikipedia.org/wiki/Befunge>`_
- language.
+ Lexer for the esoteric Befunge language.
.. versionadded:: 0.7
"""
name = 'Befunge'
+ url = 'http://en.wikipedia.org/wiki/Befunge'
aliases = ['befunge']
filenames = ['*.befunge']
mimetypes = ['application/x-befunge']
@@ -105,12 +105,12 @@ class BefungeLexer(RegexLexer):
class CAmkESLexer(RegexLexer):
"""
- Basic lexer for the input language for the
- `CAmkES <https://sel4.systems/CAmkES/>`_ component platform.
+ Basic lexer for the input language for the CAmkES component platform.
.. versionadded:: 2.1
"""
name = 'CAmkES'
+ url = 'https://sel4.systems/CAmkES/'
aliases = ['camkes', 'idl4']
filenames = ['*.camkes', '*.idl4']
@@ -173,8 +173,7 @@ class CAmkESLexer(RegexLexer):
class CapDLLexer(RegexLexer):
"""
- Basic lexer for
- `CapDL <https://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pml>`_.
+ Basic lexer for CapDL.
The source of the primary tool that reads such specifications is available
at https://github.com/seL4/capdl/tree/master/capDL-tool. Note that this
@@ -186,6 +185,7 @@ class CapDLLexer(RegexLexer):
.. versionadded:: 2.2
"""
name = 'CapDL'
+ url = 'https://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pml'
aliases = ['capdl']
filenames = ['*.cdl']
@@ -269,15 +269,11 @@ class RedcodeLexer(RegexLexer):
class AheuiLexer(RegexLexer):
"""
- Aheui_ Lexer.
-
- Aheui_ is esoteric language based on Korean alphabets.
-
- .. _Aheui: http://aheui.github.io/
-
+ Aheui is esoteric language based on Korean alphabets.
"""
name = 'Aheui'
+ url = 'http://aheui.github.io/'
aliases = ['aheui']
filenames = ['*.aheui']
diff --git a/pygments/lexers/ezhil.py b/pygments/lexers/ezhil.py
index c58b91ce..73b7c8b4 100644
--- a/pygments/lexers/ezhil.py
+++ b/pygments/lexers/ezhil.py
@@ -18,11 +18,12 @@ __all__ = ['EzhilLexer']
class EzhilLexer(RegexLexer):
"""
- Lexer for `Ezhil, a Tamil script-based programming language <http://ezhillang.org>`_
+ Lexer for Ezhil, a Tamil script-based programming language.
.. versionadded:: 2.1
"""
name = 'Ezhil'
+ url = 'http://ezhillang.org'
aliases = ['ezhil']
filenames = ['*.n']
mimetypes = ['text/x-ezhil']
diff --git a/pygments/lexers/factor.py b/pygments/lexers/factor.py
index e47c0eb7..9697ac39 100644
--- a/pygments/lexers/factor.py
+++ b/pygments/lexers/factor.py
@@ -19,11 +19,12 @@ __all__ = ['FactorLexer']
class FactorLexer(RegexLexer):
"""
- Lexer for the `Factor <http://factorcode.org>`_ language.
+ Lexer for the Factor language.
.. versionadded:: 1.4
"""
name = 'Factor'
+ url = 'http://factorcode.org'
aliases = ['factor']
filenames = ['*.factor']
mimetypes = ['text/x-factor']
diff --git a/pygments/lexers/felix.py b/pygments/lexers/felix.py
index 8c0489a8..75df8381 100644
--- a/pygments/lexers/felix.py
+++ b/pygments/lexers/felix.py
@@ -18,12 +18,13 @@ __all__ = ['FelixLexer']
class FelixLexer(RegexLexer):
"""
- For `Felix <http://www.felix-lang.org>`_ source code.
+ For Felix source code.
.. versionadded:: 1.2
"""
name = 'Felix'
+ url = 'http://www.felix-lang.org'
aliases = ['felix', 'flx']
filenames = ['*.flx', '*.flxh']
mimetypes = ['text/x-felix']
diff --git a/pygments/lexers/floscript.py b/pygments/lexers/floscript.py
index 9f12b54b..61f68795 100644
--- a/pygments/lexers/floscript.py
+++ b/pygments/lexers/floscript.py
@@ -17,12 +17,13 @@ __all__ = ['FloScriptLexer']
class FloScriptLexer(RegexLexer):
"""
- For `FloScript <https://github.com/ioflo/ioflo>`_ configuration language source code.
+ For FloScript configuration language source code.
.. versionadded:: 2.4
"""
name = 'FloScript'
+ url = 'https://github.com/ioflo/ioflo'
aliases = ['floscript', 'flo']
filenames = ['*.flo']
diff --git a/pygments/lexers/forth.py b/pygments/lexers/forth.py
index 80621e65..6655cda5 100644
--- a/pygments/lexers/forth.py
+++ b/pygments/lexers/forth.py
@@ -25,6 +25,7 @@ class ForthLexer(RegexLexer):
.. versionadded:: 2.2
"""
name = 'Forth'
+ url = 'https://www.forth.com/forth/'
aliases = ['forth']
filenames = ['*.frt', '*.fs']
mimetypes = ['application/x-forth']
diff --git a/pygments/lexers/fortran.py b/pygments/lexers/fortran.py
index d13d9c83..f80795d9 100644
--- a/pygments/lexers/fortran.py
+++ b/pygments/lexers/fortran.py
@@ -24,6 +24,7 @@ class FortranLexer(RegexLexer):
.. versionadded:: 0.10
"""
name = 'Fortran'
+ url = 'https://fortran-lang.org/'
aliases = ['fortran', 'f90']
filenames = ['*.f03', '*.f90', '*.F03', '*.F90']
mimetypes = ['text/x-fortran']
diff --git a/pygments/lexers/freefem.py b/pygments/lexers/freefem.py
index 4189d9e7..7947b107 100644
--- a/pygments/lexers/freefem.py
+++ b/pygments/lexers/freefem.py
@@ -21,7 +21,7 @@ __all__ = ['FreeFemLexer']
class FreeFemLexer(CppLexer):
"""
- For `FreeFem++ <https://freefem.org/>`_ source.
+ For FreeFem++ source.
This is an extension of the CppLexer, as the FreeFem Language is a superset
of C++.
@@ -30,6 +30,7 @@ class FreeFemLexer(CppLexer):
"""
name = 'Freefem'
+ url = 'https://freefem.org/'
aliases = ['freefem']
filenames = ['*.edp']
mimetypes = ['text/x-freefem']
diff --git a/pygments/lexers/futhark.py b/pygments/lexers/futhark.py
index 7f481ba8..cfaa8748 100644
--- a/pygments/lexers/futhark.py
+++ b/pygments/lexers/futhark.py
@@ -28,6 +28,7 @@ class FutharkLexer(RegexLexer):
.. versionadded:: 2.8
"""
name = 'Futhark'
+ url = 'https://futhark-lang.org/'
aliases = ['futhark']
filenames = ['*.fut']
mimetypes = ['text/x-futhark']
diff --git a/pygments/lexers/gdscript.py b/pygments/lexers/gdscript.py
index 320d0373..f5054f46 100644
--- a/pygments/lexers/gdscript.py
+++ b/pygments/lexers/gdscript.py
@@ -25,10 +25,11 @@ line_re = re.compile(".*?\n")
class GDScriptLexer(RegexLexer):
"""
- For `GDScript source code <https://www.godotengine.org>`_.
+ For GDScript source code.
"""
name = "GDScript"
+ url = 'https://www.godotengine.org'
aliases = ["gdscript", "gd"]
filenames = ["*.gd"]
mimetypes = ["text/x-gdscript", "application/x-gdscript"]
diff --git a/pygments/lexers/go.py b/pygments/lexers/go.py
index 38936093..ce214bc5 100644
--- a/pygments/lexers/go.py
+++ b/pygments/lexers/go.py
@@ -19,11 +19,12 @@ __all__ = ['GoLexer']
class GoLexer(RegexLexer):
"""
- For `Go <http://golang.org>`_ source.
+ For Go source.
.. versionadded:: 1.2
"""
name = 'Go'
+ url = 'https://go.dev/'
filenames = ['*.go']
aliases = ['go', 'golang']
mimetypes = ['text/x-gosrc']
diff --git a/pygments/lexers/grammar_notation.py b/pygments/lexers/grammar_notation.py
index a2f1bb3e..6acc47e2 100644
--- a/pygments/lexers/grammar_notation.py
+++ b/pygments/lexers/grammar_notation.py
@@ -67,15 +67,15 @@ class BnfLexer(RegexLexer):
class AbnfLexer(RegexLexer):
"""
- Lexer for `IETF 7405 ABNF
- <http://www.ietf.org/rfc/rfc7405.txt>`_
- (Updates `5234 <http://www.ietf.org/rfc/rfc5234.txt>`_)
- grammars.
+ Lexer for IETF 7405 ABNF.
+
+ (Updates `5234 <http://www.ietf.org/rfc/rfc5234.txt>`_) grammars.
.. versionadded:: 2.1
"""
name = 'ABNF'
+ url = 'http://www.ietf.org/rfc/rfc7405.txt'
aliases = ['abnf']
filenames = ['*.abnf']
mimetypes = ['text/x-abnf']
@@ -134,12 +134,12 @@ class AbnfLexer(RegexLexer):
class JsgfLexer(RegexLexer):
"""
- For `JSpeech Grammar Format <https://www.w3.org/TR/jsgf/>`_
- grammars.
+ For JSpeech Grammar Format grammars.
.. versionadded:: 2.2
"""
name = 'JSGF'
+ url = 'https://www.w3.org/TR/jsgf/'
aliases = ['jsgf']
filenames = ['*.jsgf']
mimetypes = ['application/jsgf', 'application/x-jsgf', 'text/jsgf']
@@ -212,8 +212,7 @@ class JsgfLexer(RegexLexer):
class PegLexer(RegexLexer):
"""
- This lexer is for `Parsing Expression Grammars
- <https://bford.info/pub/lang/peg.pdf>`_ (PEG).
+ This lexer is for Parsing Expression Grammars (PEG).
Various implementations of PEG have made different decisions
regarding the syntax, so let's try to be accommodating:
@@ -232,6 +231,7 @@ class PegLexer(RegexLexer):
"""
name = 'PEG'
+ url = 'https://bford.info/pub/lang/peg.pdf'
aliases = ['peg']
filenames = ['*.peg']
mimetypes = ['text/x-peg']
diff --git a/pygments/lexers/graph.py b/pygments/lexers/graph.py
index 87e0e7f0..de10e502 100644
--- a/pygments/lexers/graph.py
+++ b/pygments/lexers/graph.py
@@ -20,14 +20,14 @@ __all__ = ['CypherLexer']
class CypherLexer(RegexLexer):
"""
- For `Cypher Query Language
- <https://neo4j.com/docs/developer-manual/3.3/cypher/>`_
+ For Cypher Query Language
For the Cypher version in Neo4j 3.3
.. versionadded:: 2.0
"""
name = 'Cypher'
+ url = 'https://neo4j.com/docs/developer-manual/3.3/cypher/'
aliases = ['cypher']
filenames = ['*.cyp', '*.cypher']
diff --git a/pygments/lexers/graphics.py b/pygments/lexers/graphics.py
index b7d35c7f..72494d44 100644
--- a/pygments/lexers/graphics.py
+++ b/pygments/lexers/graphics.py
@@ -306,13 +306,10 @@ class PostScriptLexer(RegexLexer):
"""
Lexer for PostScript files.
- The PostScript Language Reference published by Adobe at
- <http://partners.adobe.com/public/developer/en/ps/PLRM.pdf>
- is the authority for this.
-
.. versionadded:: 1.4
"""
name = 'PostScript'
+ url = 'https://en.wikipedia.org/wiki/PostScript'
aliases = ['postscript', 'postscr']
filenames = ['*.ps', '*.eps']
mimetypes = ['application/postscript']
@@ -402,11 +399,12 @@ class PostScriptLexer(RegexLexer):
class AsymptoteLexer(RegexLexer):
"""
- For `Asymptote <http://asymptote.sf.net/>`_ source code.
+ For Asymptote source code.
.. versionadded:: 1.2
"""
name = 'Asymptote'
+ url = 'http://asymptote.sf.net/'
aliases = ['asymptote', 'asy']
filenames = ['*.asy']
mimetypes = ['text/x-asymptote']
@@ -529,12 +527,13 @@ def _shortened_many(*words):
class GnuplotLexer(RegexLexer):
"""
- For `Gnuplot <http://gnuplot.info/>`_ plotting scripts.
+ For Gnuplot plotting scripts.
.. versionadded:: 0.11
"""
name = 'Gnuplot'
+ url = 'http://gnuplot.info/'
aliases = ['gnuplot']
filenames = ['*.plot', '*.plt']
mimetypes = ['text/x-gnuplot']
@@ -688,11 +687,12 @@ class GnuplotLexer(RegexLexer):
class PovrayLexer(RegexLexer):
"""
- For `Persistence of Vision Raytracer <http://www.povray.org/>`_ files.
+ For Persistence of Vision Raytracer files.
.. versionadded:: 0.11
"""
name = 'POVRay'
+ url = 'http://www.povray.org/'
aliases = ['pov']
filenames = ['*.pov', '*.inc']
mimetypes = ['text/x-povray']
diff --git a/pygments/lexers/graphviz.py b/pygments/lexers/graphviz.py
index 21f795b3..c68ce2d3 100644
--- a/pygments/lexers/graphviz.py
+++ b/pygments/lexers/graphviz.py
@@ -23,6 +23,7 @@ class GraphvizLexer(RegexLexer):
.. versionadded:: 2.8
"""
name = 'Graphviz'
+ url = 'https://www.graphviz.org/doc/info/lang.html'
aliases = ['graphviz', 'dot']
filenames = ['*.gv', '*.dot']
mimetypes = ['text/x-graphviz', 'text/vnd.graphviz']
diff --git a/pygments/lexers/gsql.py b/pygments/lexers/gsql.py
index 2986cfa2..6af99b27 100755
--- a/pygments/lexers/gsql.py
+++ b/pygments/lexers/gsql.py
@@ -20,11 +20,12 @@ __all__ = ["GSQLLexer"]
class GSQLLexer(RegexLexer):
"""
- For `GSQL <https://docs.tigergraph.com/dev/gsql-ref>`_ queries (version 3.x).
+ For GSQL queries (version 3.x).
.. versionadded:: 2.10
"""
name = 'GSQL'
+ url = 'https://docs.tigergraph.com/dev/gsql-ref'
aliases = ['gsql']
filenames = ['*.gsql']
diff --git a/pygments/lexers/haskell.py b/pygments/lexers/haskell.py
index 61430f10..c5c5ca12 100644
--- a/pygments/lexers/haskell.py
+++ b/pygments/lexers/haskell.py
@@ -31,6 +31,7 @@ class HaskellLexer(RegexLexer):
.. versionadded:: 0.8
"""
name = 'Haskell'
+ url = 'https://www.haskell.org/'
aliases = ['haskell', 'hs']
filenames = ['*.hs']
mimetypes = ['text/x-haskell']
@@ -187,6 +188,7 @@ class IdrisLexer(RegexLexer):
.. versionadded:: 2.0
"""
name = 'Idris'
+ url = 'https://www.idris-lang.org/'
aliases = ['idris', 'idr']
filenames = ['*.idr']
mimetypes = ['text/x-idris']
@@ -291,13 +293,14 @@ class IdrisLexer(RegexLexer):
class AgdaLexer(RegexLexer):
"""
- For the `Agda <http://wiki.portal.chalmers.se/agda/pmwiki.php>`_
- dependently typed functional programming language and proof assistant.
+ For the Agda dependently typed functional programming language and
+ proof assistant.
.. versionadded:: 2.0
"""
name = 'Agda'
+ url = 'http://wiki.portal.chalmers.se/agda/pmwiki.php'
aliases = ['agda']
filenames = ['*.agda']
mimetypes = ['text/x-agda']
@@ -653,13 +656,13 @@ class LiterateCryptolLexer(LiterateLexer):
class KokaLexer(RegexLexer):
"""
- Lexer for the `Koka <http://koka.codeplex.com>`_
- language.
+ Lexer for the Koka language.
.. versionadded:: 1.6
"""
name = 'Koka'
+ url = 'https://koka-lang.github.io/koka/doc/index.html'
aliases = ['koka']
filenames = ['*.kk', '*.kki']
mimetypes = ['text/x-koka']
diff --git a/pygments/lexers/haxe.py b/pygments/lexers/haxe.py
index 354e792b..1d9c6f50 100644
--- a/pygments/lexers/haxe.py
+++ b/pygments/lexers/haxe.py
@@ -20,12 +20,13 @@ __all__ = ['HaxeLexer', 'HxmlLexer']
class HaxeLexer(ExtendedRegexLexer):
"""
- For Haxe source code (http://haxe.org/).
+ For Haxe source code.
.. versionadded:: 1.3
"""
name = 'Haxe'
+ url = 'http://haxe.org/'
aliases = ['haxe', 'hxsl', 'hx']
filenames = ['*.hx', '*.hxsl']
mimetypes = ['text/haxe', 'text/x-haxe', 'text/x-hx']
@@ -896,11 +897,12 @@ class HaxeLexer(ExtendedRegexLexer):
class HxmlLexer(RegexLexer):
"""
- Lexer for `haXe build <http://haxe.org/doc/compiler>`_ files.
+ Lexer for haXe build files.
.. versionadded:: 1.6
"""
name = 'Hxml'
+ url = 'https://haxe.org/manual/compiler-usage-hxml.html'
aliases = ['haxeml', 'hxml']
filenames = ['*.hxml']
diff --git a/pygments/lexers/html.py b/pygments/lexers/html.py
index a6903443..1c465048 100644
--- a/pygments/lexers/html.py
+++ b/pygments/lexers/html.py
@@ -32,6 +32,7 @@ class HtmlLexer(RegexLexer):
"""
name = 'HTML'
+ url = 'https://html.spec.whatwg.org/'
aliases = ['html']
filenames = ['*.html', '*.htm', '*.xhtml', '*.xslt']
mimetypes = ['text/html', 'application/xhtml+xml']
diff --git a/pygments/lexers/idl.py b/pygments/lexers/idl.py
index 6c4929ad..d24f8cdd 100644
--- a/pygments/lexers/idl.py
+++ b/pygments/lexers/idl.py
@@ -24,6 +24,7 @@ class IDLLexer(RegexLexer):
.. versionadded:: 1.6
"""
name = 'IDL'
+ url = 'https://www.l3harrisgeospatial.com/Software-Technology/IDL'
aliases = ['idl']
filenames = ['*.pro']
mimetypes = ['text/idl']
diff --git a/pygments/lexers/inferno.py b/pygments/lexers/inferno.py
index 387431f1..93122b3c 100644
--- a/pygments/lexers/inferno.py
+++ b/pygments/lexers/inferno.py
@@ -19,7 +19,7 @@ __all__ = ['LimboLexer']
class LimboLexer(RegexLexer):
"""
- Lexer for `Limbo programming language <http://www.vitanuova.com/inferno/limbo.html>`_
+ Lexer for Limbo programming language
TODO:
- maybe implement better var declaration highlighting
@@ -28,6 +28,7 @@ class LimboLexer(RegexLexer):
.. versionadded:: 2.0
"""
name = 'Limbo'
+ url = 'http://www.vitanuova.com/inferno/limbo.html'
aliases = ['limbo']
filenames = ['*.b']
mimetypes = ['text/limbo']
diff --git a/pygments/lexers/installers.py b/pygments/lexers/installers.py
index 89225bfc..e2013b21 100644
--- a/pygments/lexers/installers.py
+++ b/pygments/lexers/installers.py
@@ -20,11 +20,12 @@ __all__ = ['NSISLexer', 'RPMSpecLexer', 'SourcesListLexer',
class NSISLexer(RegexLexer):
"""
- For `NSIS <http://nsis.sourceforge.net/>`_ scripts.
+ For NSIS scripts.
.. versionadded:: 1.6
"""
name = 'NSIS'
+ url = 'http://nsis.sourceforge.net/'
aliases = ['nsis', 'nsi', 'nsh']
filenames = ['*.nsi', '*.nsh']
mimetypes = ['text/x-nsis']
@@ -269,12 +270,10 @@ class DebianControlLexer(RegexLexer):
"""
Lexer for Debian ``control`` files and ``apt-cache show <pkg>`` outputs.
- Specification of `control`` files is available at
- https://www.debian.org/doc/debian-policy/ch-controlfields.html
-
.. versionadded:: 0.9
"""
name = 'Debian Control file'
+ url = 'https://www.debian.org/doc/debian-policy/ch-controlfields.html'
aliases = ['debcontrol', 'control']
filenames = ['control']
diff --git a/pygments/lexers/int_fiction.py b/pygments/lexers/int_fiction.py
index 16fd1217..01ad8b7c 100644
--- a/pygments/lexers/int_fiction.py
+++ b/pygments/lexers/int_fiction.py
@@ -21,12 +21,13 @@ __all__ = ['Inform6Lexer', 'Inform6TemplateLexer', 'Inform7Lexer',
class Inform6Lexer(RegexLexer):
"""
- For `Inform 6 <http://inform-fiction.org/>`_ source code.
+ For Inform 6 source code.
.. versionadded:: 2.0
"""
name = 'Inform 6'
+ url = 'http://inform-fiction.org/'
aliases = ['inform6', 'i6']
filenames = ['*.inf']
@@ -528,12 +529,13 @@ class Inform6Lexer(RegexLexer):
class Inform7Lexer(RegexLexer):
"""
- For `Inform 7 <http://inform7.com/>`_ source code.
+ For Inform 7 source code.
.. versionadded:: 2.0
"""
name = 'Inform 7'
+ url = 'http://inform7.com/'
aliases = ['inform7', 'i7']
filenames = ['*.ni', '*.i7x']
@@ -731,8 +733,7 @@ class Inform7Lexer(RegexLexer):
class Inform6TemplateLexer(Inform7Lexer):
"""
- For `Inform 6 template
- <http://inform7.com/sources/src/i6template/Woven/index.html>`_ code.
+ For Inform 6 template code.
.. versionadded:: 2.0
"""
@@ -747,7 +748,7 @@ class Inform6TemplateLexer(Inform7Lexer):
class Tads3Lexer(RegexLexer):
"""
- For `TADS 3 <http://www.tads.org/>`_ source code.
+ For TADS 3 source code.
"""
name = 'TADS 3'
diff --git a/pygments/lexers/iolang.py b/pygments/lexers/iolang.py
index c1fb4c41..da247d91 100644
--- a/pygments/lexers/iolang.py
+++ b/pygments/lexers/iolang.py
@@ -17,12 +17,12 @@ __all__ = ['IoLexer']
class IoLexer(RegexLexer):
"""
- For `Io <http://iolanguage.com/>`_ (a small, prototype-based
- programming language) source.
+ For Io (a small, prototype-based programming language) source.
.. versionadded:: 0.10
"""
name = 'Io'
+ url = 'http://iolanguage.com/'
filenames = ['*.io']
aliases = ['io']
mimetypes = ['text/x-iosrc']
diff --git a/pygments/lexers/j.py b/pygments/lexers/j.py
index ee18b2bd..d33207d1 100644
--- a/pygments/lexers/j.py
+++ b/pygments/lexers/j.py
@@ -17,12 +17,13 @@ __all__ = ['JLexer']
class JLexer(RegexLexer):
"""
- For `J <http://jsoftware.com/>`_ source code.
+ For J source code.
.. versionadded:: 2.1
"""
name = 'J'
+ url = 'http://jsoftware.com/'
aliases = ['j']
filenames = ['*.ijs']
mimetypes = ['text/x-j']
diff --git a/pygments/lexers/javascript.py b/pygments/lexers/javascript.py
index a9d30a6e..1896fb46 100644
--- a/pygments/lexers/javascript.py
+++ b/pygments/lexers/javascript.py
@@ -37,6 +37,7 @@ class JavascriptLexer(RegexLexer):
"""
name = 'JavaScript'
+ url = 'https://www.ecma-international.org/publications-and-standards/standards/ecma-262/'
aliases = ['javascript', 'js']
filenames = ['*.js', '*.jsm', '*.mjs', '*.cjs']
mimetypes = ['application/javascript', 'application/x-javascript',
@@ -136,12 +137,13 @@ class JavascriptLexer(RegexLexer):
class TypeScriptLexer(JavascriptLexer):
"""
- For `TypeScript <http://typescriptlang.org/>`_ source code.
+ For TypeScript source code.
.. versionadded:: 1.6
"""
name = 'TypeScript'
+ url = 'https://www.typescriptlang.org/'
aliases = ['typescript', 'ts']
filenames = ['*.ts']
mimetypes = ['application/x-typescript', 'text/x-typescript']
@@ -173,15 +175,13 @@ class TypeScriptLexer(JavascriptLexer):
class KalLexer(RegexLexer):
"""
- For `Kal`_ source code.
-
- .. _Kal: http://rzimmerman.github.io/kal
-
+ For Kal source code.
.. versionadded:: 2.0
"""
name = 'Kal'
+ url = 'http://rzimmerman.github.io/kal'
aliases = ['kal']
filenames = ['*.kal']
mimetypes = ['text/kal', 'application/kal']
@@ -309,14 +309,13 @@ class KalLexer(RegexLexer):
class LiveScriptLexer(RegexLexer):
"""
- For `LiveScript`_ source code.
-
- .. _LiveScript: https://livescript.net/
+ For LiveScript source code.
.. versionadded:: 1.6
"""
name = 'LiveScript'
+ url = 'https://livescript.net/'
aliases = ['livescript', 'live-script']
filenames = ['*.ls']
mimetypes = ['text/livescript']
@@ -423,12 +422,13 @@ class LiveScriptLexer(RegexLexer):
class DartLexer(RegexLexer):
"""
- For `Dart <http://dart.dev/>`_ source code.
+ For Dart source code.
.. versionadded:: 1.5
"""
name = 'Dart'
+ url = 'http://dart.dev/'
aliases = ['dart']
filenames = ['*.dart']
mimetypes = ['text/x-dart']
@@ -526,7 +526,7 @@ class DartLexer(RegexLexer):
class LassoLexer(RegexLexer):
"""
- For `Lasso <http://www.lassosoft.com/>`_ source code, covering both Lasso 9
+ For Lasso source code, covering both Lasso 9
syntax and LassoScript for Lasso 8.6 and earlier. For Lasso embedded in
HTML, use the `LassoHtmlLexer`.
@@ -1013,14 +1013,13 @@ class ObjectiveJLexer(RegexLexer):
class CoffeeScriptLexer(RegexLexer):
"""
- For `CoffeeScript`_ source code.
-
- .. _CoffeeScript: http://coffeescript.org
+ For CoffeeScript source code.
.. versionadded:: 1.3
"""
name = 'CoffeeScript'
+ url = 'http://coffeescript.org'
aliases = ['coffeescript', 'coffee-script', 'coffee']
filenames = ['*.coffee']
mimetypes = ['text/coffeescript']
@@ -1128,11 +1127,12 @@ class CoffeeScriptLexer(RegexLexer):
class MaskLexer(RegexLexer):
"""
- For `Mask <https://github.com/atmajs/MaskJS>`__ markup.
+ For Mask markup.
.. versionadded:: 2.0
"""
name = 'Mask'
+ url = 'https://github.com/atmajs/MaskJS'
aliases = ['mask']
filenames = ['*.mask']
mimetypes = ['text/x-mask']
@@ -1247,9 +1247,7 @@ class MaskLexer(RegexLexer):
class EarlGreyLexer(RegexLexer):
"""
- For `Earl-Grey`_ source code.
-
- .. _Earl-Grey: https://breuleux.github.io/earl-grey/
+ For Earl-Grey source code.
.. versionadded: 2.1
"""
@@ -1463,14 +1461,13 @@ class EarlGreyLexer(RegexLexer):
class JuttleLexer(RegexLexer):
"""
- For `Juttle`_ source code.
-
- .. _Juttle: https://github.com/juttle/juttle
+ For Juttle source code.
.. versionadded:: 2.2
"""
name = 'Juttle'
+ url = 'http://juttle.github.io/'
aliases = ['juttle']
filenames = ['*.juttle']
mimetypes = ['application/juttle', 'application/x-juttle',
diff --git a/pygments/lexers/jslt.py b/pygments/lexers/jslt.py
index c200fe68..b6554e5d 100644
--- a/pygments/lexers/jslt.py
+++ b/pygments/lexers/jslt.py
@@ -21,11 +21,12 @@ _WORD_END = r'(?=[^0-9A-Z_a-z-])'
class JSLTLexer(RegexLexer):
"""
- For `JSLT <https://github.com/schibsted/jslt>`_ source.
+ For JSLT source.
.. versionadded:: 2.10
"""
name = 'JSLT'
+ url = 'https://github.com/schibsted/jslt'
filenames = ['*.jslt']
aliases = ['jslt']
mimetypes = ['text/x-jslt']
diff --git a/pygments/lexers/julia.py b/pygments/lexers/julia.py
index 5c1c5230..97d9163a 100644
--- a/pygments/lexers/julia.py
+++ b/pygments/lexers/julia.py
@@ -28,12 +28,13 @@ operator_suffixes = r'[²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹá´
class JuliaLexer(RegexLexer):
"""
- For `Julia <http://julialang.org/>`_ source code.
+ For Julia source code.
.. versionadded:: 1.6
"""
name = 'Julia'
+ url = 'https://julialang.org/'
aliases = ['julia', 'jl']
filenames = ['*.jl']
mimetypes = ['text/x-julia', 'application/x-julia']
diff --git a/pygments/lexers/jvm.py b/pygments/lexers/jvm.py
index 36db6c42..d053e373 100644
--- a/pygments/lexers/jvm.py
+++ b/pygments/lexers/jvm.py
@@ -25,10 +25,11 @@ __all__ = ['JavaLexer', 'ScalaLexer', 'GosuLexer', 'GosuTemplateLexer',
class JavaLexer(RegexLexer):
"""
- For `Java <https://www.oracle.com/technetwork/java/>`_ source code.
+ For Java source code.
"""
name = 'Java'
+ url = 'https://www.oracle.com/technetwork/java/'
aliases = ['java']
filenames = ['*.java']
mimetypes = ['text/x-java']
@@ -110,12 +111,13 @@ class JavaLexer(RegexLexer):
class AspectJLexer(JavaLexer):
"""
- For `AspectJ <http://www.eclipse.org/aspectj/>`_ source code.
+ For AspectJ source code.
.. versionadded:: 1.6
"""
name = 'AspectJ'
+ url = 'http://www.eclipse.org/aspectj/'
aliases = ['aspectj']
filenames = ['*.aj']
mimetypes = ['text/x-aspectj']
@@ -149,10 +151,11 @@ class AspectJLexer(JavaLexer):
class ScalaLexer(RegexLexer):
"""
- For `Scala <http://www.scala-lang.org>`_ source code.
+ For Scala source code.
"""
name = 'Scala'
+ url = 'http://www.scala-lang.org'
aliases = ['scala']
filenames = ['*.scala']
mimetypes = ['text/x-scala']
@@ -533,12 +536,13 @@ class GosuTemplateLexer(Lexer):
class GroovyLexer(RegexLexer):
"""
- For `Groovy <http://groovy.codehaus.org/>`_ source code.
+ For Groovy source code.
.. versionadded:: 1.5
"""
name = 'Groovy'
+ url = 'https://groovy-lang.org/'
aliases = ['groovy']
filenames = ['*.groovy','*.gradle']
mimetypes = ['text/x-groovy']
@@ -610,12 +614,13 @@ class GroovyLexer(RegexLexer):
class IokeLexer(RegexLexer):
"""
- For `Ioke <http://ioke.org/>`_ (a strongly typed, dynamic,
+ For Ioke (a strongly typed, dynamic,
prototype based programming language) source.
.. versionadded:: 1.4
"""
name = 'Ioke'
+ url = 'https://ioke.org/'
filenames = ['*.ik']
aliases = ['ioke', 'ik']
mimetypes = ['text/x-iokesrc']
@@ -801,11 +806,12 @@ class IokeLexer(RegexLexer):
class ClojureLexer(RegexLexer):
"""
- Lexer for `Clojure <http://clojure.org/>`_ source code.
+ Lexer for Clojure source code.
.. versionadded:: 0.11
"""
name = 'Clojure'
+ url = 'http://clojure.org/'
aliases = ['clojure', 'clj']
filenames = ['*.clj', '*.cljc']
mimetypes = ['text/x-clojure', 'application/x-clojure']
@@ -941,12 +947,12 @@ class ClojureLexer(RegexLexer):
class ClojureScriptLexer(ClojureLexer):
"""
- Lexer for `ClojureScript <http://clojure.org/clojurescript>`_
- source code.
+ Lexer for ClojureScript source code.
.. versionadded:: 2.0
"""
name = 'ClojureScript'
+ url = 'http://clojure.org/clojurescript'
aliases = ['clojurescript', 'cljs']
filenames = ['*.cljs']
mimetypes = ['text/x-clojurescript', 'application/x-clojurescript']
@@ -954,7 +960,7 @@ class ClojureScriptLexer(ClojureLexer):
class TeaLangLexer(RegexLexer):
"""
- For `Tea <http://teatrove.org/>`_ source code. Only used within a
+ For Tea source code. Only used within a
TeaTemplateLexer.
.. versionadded:: 1.5
@@ -1001,12 +1007,13 @@ class TeaLangLexer(RegexLexer):
class CeylonLexer(RegexLexer):
"""
- For `Ceylon <http://ceylon-lang.org/>`_ source code.
+ For Ceylon source code.
.. versionadded:: 1.6
"""
name = 'Ceylon'
+ url = 'http://ceylon-lang.org/'
aliases = ['ceylon']
filenames = ['*.ceylon']
mimetypes = ['text/x-ceylon']
@@ -1080,13 +1087,13 @@ class CeylonLexer(RegexLexer):
class KotlinLexer(RegexLexer):
"""
- For `Kotlin <http://kotlinlang.org/>`_
- source code.
+ For Kotlin source code.
.. versionadded:: 1.5
"""
name = 'Kotlin'
+ url = 'http://kotlinlang.org/'
aliases = ['kotlin']
filenames = ['*.kt', '*.kts']
mimetypes = ['text/x-kotlin']
@@ -1236,12 +1243,13 @@ class KotlinLexer(RegexLexer):
class XtendLexer(RegexLexer):
"""
- For `Xtend <http://xtend-lang.org/>`_ source code.
+ For Xtend source code.
.. versionadded:: 1.6
"""
name = 'Xtend'
+ url = 'https://www.eclipse.org/xtend/'
aliases = ['xtend']
filenames = ['*.xtend']
mimetypes = ['text/x-xtend']
@@ -1301,12 +1309,13 @@ class XtendLexer(RegexLexer):
class PigLexer(RegexLexer):
"""
- For `Pig Latin <https://pig.apache.org/>`_ source code.
+ For Pig Latin source code.
.. versionadded:: 2.0
"""
name = 'Pig'
+ url = 'https://pig.apache.org/'
aliases = ['pig']
filenames = ['*.pig']
mimetypes = ['text/x-pig']
@@ -1368,12 +1377,13 @@ class PigLexer(RegexLexer):
class GoloLexer(RegexLexer):
"""
- For `Golo <http://golo-lang.org/>`_ source code.
+ For Golo source code.
.. versionadded:: 2.0
"""
name = 'Golo'
+ url = 'http://golo-lang.org/'
filenames = ['*.golo']
aliases = ['golo']
@@ -1481,12 +1491,13 @@ class GoloLexer(RegexLexer):
class JasminLexer(RegexLexer):
"""
- For `Jasmin <http://jasmin.sourceforge.net/>`_ assembly code.
+ For Jasmin assembly code.
.. versionadded:: 2.0
"""
name = 'Jasmin'
+ url = 'http://jasmin.sourceforge.net/'
aliases = ['jasmin', 'jasminxt']
filenames = ['*.j']
@@ -1745,12 +1756,13 @@ class JasminLexer(RegexLexer):
class SarlLexer(RegexLexer):
"""
- For `SARL <http://www.sarl.io>`_ source code.
+ For SARL source code.
.. versionadded:: 2.4
"""
name = 'SARL'
+ url = 'http://www.sarl.io'
aliases = ['sarl']
filenames = ['*.sarl']
mimetypes = ['text/x-sarl']
diff --git a/pygments/lexers/kuin.py b/pygments/lexers/kuin.py
index f6ceeb7b..1d7ba67c 100644
--- a/pygments/lexers/kuin.py
+++ b/pygments/lexers/kuin.py
@@ -16,11 +16,12 @@ __all__ = ['KuinLexer']
class KuinLexer(RegexLexer):
"""
- For `Kuin <https://github.com/kuina/Kuin>`_ source code
+ For Kuin source code
.. versionadded:: 2.9
"""
name = 'Kuin'
+ url = 'https://github.com/kuina/Kuin'
aliases = ['kuin']
filenames = ['*.kn']
diff --git a/pygments/lexers/lilypond.py b/pygments/lexers/lilypond.py
index f0085bba..5dd55c03 100644
--- a/pygments/lexers/lilypond.py
+++ b/pygments/lexers/lilypond.py
@@ -37,7 +37,7 @@ def builtin_words(names, backslash, suffix=NAME_END_RE):
class LilyPondLexer(SchemeLexer):
"""
- Lexer for input to `LilyPond <https://lilypond.org>`_, a text-based music typesetter.
+ Lexer for input to LilyPond, a text-based music typesetter.
.. important::
@@ -46,6 +46,7 @@ class LilyPondLexer(SchemeLexer):
.. versionadded:: 2.11
"""
name = 'LilyPond'
+ url = 'https://lilypond.org'
aliases = ['lilypond']
filenames = ['*.ly']
mimetypes = []
diff --git a/pygments/lexers/lisp.py b/pygments/lexers/lisp.py
index e895a8f5..6dab1fda 100644
--- a/pygments/lexers/lisp.py
+++ b/pygments/lexers/lisp.py
@@ -34,6 +34,7 @@ class SchemeLexer(RegexLexer):
.. versionadded:: 0.6
"""
name = 'Scheme'
+ url = 'http://www.scheme-reports.org/'
aliases = ['scheme', 'scm']
filenames = ['*.scm', '*.ss']
mimetypes = ['text/x-scheme', 'application/x-scheme']
@@ -298,6 +299,7 @@ class CommonLispLexer(RegexLexer):
.. versionadded:: 0.9
"""
name = 'Common Lisp'
+ url = 'https://lisp-lang.org/'
aliases = ['common-lisp', 'cl', 'lisp']
filenames = ['*.cl', '*.lisp']
mimetypes = ['text/x-common-lisp']
@@ -471,11 +473,12 @@ class CommonLispLexer(RegexLexer):
class HyLexer(RegexLexer):
"""
- Lexer for `Hy <http://hylang.org/>`_ source code.
+ Lexer for Hy source code.
.. versionadded:: 2.0
"""
name = 'Hy'
+ url = 'http://hylang.org/'
aliases = ['hylang']
filenames = ['*.hy']
mimetypes = ['text/x-hy', 'application/x-hy']
@@ -585,13 +588,14 @@ class HyLexer(RegexLexer):
class RacketLexer(RegexLexer):
"""
- Lexer for `Racket <http://racket-lang.org/>`_ source code (formerly
+ Lexer for Racket source code (formerly
known as PLT Scheme).
.. versionadded:: 1.6
"""
name = 'Racket'
+ url = 'http://racket-lang.org/'
aliases = ['racket', 'rkt']
filenames = ['*.rkt', '*.rktd', '*.rktl']
mimetypes = ['text/x-racket', 'application/x-racket']
@@ -1527,12 +1531,13 @@ class RacketLexer(RegexLexer):
class NewLispLexer(RegexLexer):
"""
- For `newLISP. <http://www.newlisp.org/>`_ source code (version 10.3.0).
+ For newLISP source code (version 10.3.0).
.. versionadded:: 1.5
"""
name = 'NewLisp'
+ url = 'http://www.newlisp.org/'
aliases = ['newlisp']
filenames = ['*.lsp', '*.nl', '*.kif']
mimetypes = ['text/x-newlisp', 'application/x-newlisp']
@@ -2303,11 +2308,12 @@ class EmacsLispLexer(RegexLexer):
class ShenLexer(RegexLexer):
"""
- Lexer for `Shen <http://shenlanguage.org/>`_ source code.
+ Lexer for Shen source code.
.. versionadded:: 2.1
"""
name = 'Shen'
+ url = 'http://shenlanguage.org/'
aliases = ['shen']
filenames = ['*.shen']
mimetypes = ['text/x-shen', 'application/x-shen']
@@ -2544,8 +2550,7 @@ class CPSALexer(RegexLexer):
class XtlangLexer(RegexLexer):
- """An xtlang lexer for the `Extempore programming environment
- <http://extempore.moso.com.au>`_.
+ """An xtlang lexer for the Extempore programming environment.
This is a mixture of Scheme and xtlang, really. Keyword lists are
taken from the Extempore Emacs mode
@@ -2554,6 +2559,7 @@ class XtlangLexer(RegexLexer):
.. versionadded:: 2.2
"""
name = 'xtlang'
+ url = 'http://extempore.moso.com.au'
aliases = ['extempore']
filenames = ['*.xtm']
mimetypes = []
@@ -2748,7 +2754,7 @@ class XtlangLexer(RegexLexer):
class FennelLexer(RegexLexer):
- """A lexer for the `Fennel programming language <https://fennel-lang.org>`_.
+ """A lexer for the Fennel programming language.
Fennel compiles to Lua, so all the Lua builtins are recognized as well
as the special forms that are particular to the Fennel compiler.
@@ -2756,6 +2762,7 @@ class FennelLexer(RegexLexer):
.. versionadded:: 2.3
"""
name = 'Fennel'
+ url = 'https://fennel-lang.org'
aliases = ['fennel', 'fnl']
filenames = ['*.fnl']
diff --git a/pygments/lexers/make.py b/pygments/lexers/make.py
index 1cca46ee..d9027f3c 100644
--- a/pygments/lexers/make.py
+++ b/pygments/lexers/make.py
@@ -125,11 +125,12 @@ class BaseMakefileLexer(RegexLexer):
class CMakeLexer(RegexLexer):
"""
- Lexer for `CMake <http://cmake.org/Wiki/CMake>`_ files.
+ Lexer for CMake files.
.. versionadded:: 1.2
"""
name = 'CMake'
+ url = 'https://cmake.org/documentation/'
aliases = ['cmake']
filenames = ['*.cmake', 'CMakeLists.txt']
mimetypes = ['text/x-cmake']
diff --git a/pygments/lexers/markup.py b/pygments/lexers/markup.py
index 29472e2a..47feaeb6 100644
--- a/pygments/lexers/markup.py
+++ b/pygments/lexers/markup.py
@@ -106,7 +106,7 @@ class MoinWikiLexer(RegexLexer):
class RstLexer(RegexLexer):
"""
- For `reStructuredText <http://docutils.sf.net/rst.html>`_ markup.
+ For reStructuredText markup.
.. versionadded:: 0.7
@@ -121,6 +121,7 @@ class RstLexer(RegexLexer):
.. versionadded:: 0.8
"""
name = 'reStructuredText'
+ url = 'https://docutils.sourceforge.io/rst.html'
aliases = ['restructuredtext', 'rst', 'rest']
filenames = ['*.rst', '*.rest']
mimetypes = ["text/x-rst", "text/prs.fallenstein.rst"]
@@ -497,11 +498,12 @@ class MozPreprocCssLexer(DelegatingLexer):
class MarkdownLexer(RegexLexer):
"""
- For `Markdown <https://help.github.com/categories/writing-on-github/>`_ markup.
+ For Markdown markup.
.. versionadded:: 2.2
"""
name = 'Markdown'
+ url = 'https://daringfireball.net/projects/markdown/'
aliases = ['markdown', 'md']
filenames = ['*.md', '*.markdown']
mimetypes = ["text/x-markdown"]
@@ -606,11 +608,12 @@ class MarkdownLexer(RegexLexer):
class TiddlyWiki5Lexer(RegexLexer):
"""
- For `TiddlyWiki5 <https://tiddlywiki.com/#TiddlerFiles>`_ markup.
+ For TiddlyWiki5 markup.
.. versionadded:: 2.7
"""
name = 'tiddler'
+ url = 'https://tiddlywiki.com/#TiddlerFiles'
aliases = ['tid']
filenames = ['*.tid']
mimetypes = ["text/vnd.tiddlywiki"]
diff --git a/pygments/lexers/matlab.py b/pygments/lexers/matlab.py
index 6391dbd8..7790a2ab 100644
--- a/pygments/lexers/matlab.py
+++ b/pygments/lexers/matlab.py
@@ -2815,6 +2815,7 @@ class OctaveLexer(RegexLexer):
.. versionadded:: 1.5
"""
name = 'Octave'
+ url = 'https://www.gnu.org/software/octave/index'
aliases = ['octave']
filenames = ['*.m']
mimetypes = ['text/octave']
@@ -3232,6 +3233,7 @@ class ScilabLexer(RegexLexer):
.. versionadded:: 1.5
"""
name = 'Scilab'
+ url = 'https://www.scilab.org/'
aliases = ['scilab']
filenames = ['*.sci', '*.sce', '*.tst']
mimetypes = ['text/scilab']
diff --git a/pygments/lexers/maxima.py b/pygments/lexers/maxima.py
index 2151d16e..214e24e7 100644
--- a/pygments/lexers/maxima.py
+++ b/pygments/lexers/maxima.py
@@ -20,12 +20,13 @@ __all__ = ['MaximaLexer']
class MaximaLexer(RegexLexer):
"""
- A `Maxima <http://maxima.sourceforge.net>`_ lexer.
+ A Maxima lexer.
Derived from pygments.lexers.MuPADLexer.
.. versionadded:: 2.11
"""
name = 'Maxima'
+ url = 'http://maxima.sourceforge.net'
aliases = ['maxima', 'macsyma']
filenames = ['*.mac', '*.max']
diff --git a/pygments/lexers/meson.py b/pygments/lexers/meson.py
index a4a343c5..a05c3776 100644
--- a/pygments/lexers/meson.py
+++ b/pygments/lexers/meson.py
@@ -31,7 +31,7 @@ __all__ = ['MesonLexer']
class MesonLexer(RegexLexer):
"""
- `meson <https://mesonbuild.com/>`_ language lexer.
+ `meson language lexer.
The grammar definition use to transcribe the syntax was retrieved from
https://mesonbuild.com/Syntax.html#grammar for version 0.58
Some of those definitions are improperly transcribed so the Meson++
@@ -44,6 +44,7 @@ class MesonLexer(RegexLexer):
# TODO keyword_arg: value inner matches
name = 'Meson'
+ url = 'https://mesonbuild.com/'
aliases = ['meson', 'meson.build']
filenames = ['meson.build', 'meson_options.txt']
mimetypes = ['text/x-meson']
diff --git a/pygments/lexers/ml.py b/pygments/lexers/ml.py
index 4fe9fa24..614e4eb4 100644
--- a/pygments/lexers/ml.py
+++ b/pygments/lexers/ml.py
@@ -360,6 +360,7 @@ class OcamlLexer(RegexLexer):
"""
name = 'OCaml'
+ url = 'https://ocaml.org/'
aliases = ['ocaml']
filenames = ['*.ml', '*.mli', '*.mll', '*.mly']
mimetypes = ['text/x-ocaml']
@@ -446,7 +447,7 @@ class OcamlLexer(RegexLexer):
class OpaLexer(RegexLexer):
"""
- Lexer for the Opa language (http://opalang.org).
+ Lexer for the Opa language.
.. versionadded:: 1.5
"""
@@ -769,12 +770,13 @@ class OpaLexer(RegexLexer):
class ReasonLexer(RegexLexer):
"""
- For the ReasonML language (https://reasonml.github.io/).
+ For the ReasonML language.
.. versionadded:: 2.6
"""
name = 'ReasonML'
+ url = 'https://reasonml.github.io/'
aliases = ['reasonml', 'reason']
filenames = ['*.re', '*.rei']
mimetypes = ['text/x-reasonml']
@@ -861,11 +863,12 @@ class ReasonLexer(RegexLexer):
class FStarLexer(RegexLexer):
"""
- For the F* language (https://www.fstar-lang.org/).
+ For the F* language.
.. versionadded:: 2.7
"""
name = 'FStar'
+ url = 'https://www.fstar-lang.org/'
aliases = ['fstar']
filenames = ['*.fst', '*.fsti']
mimetypes = ['text/x-fstar']
diff --git a/pygments/lexers/modeling.py b/pygments/lexers/modeling.py
index 21cb1158..56448f50 100644
--- a/pygments/lexers/modeling.py
+++ b/pygments/lexers/modeling.py
@@ -22,11 +22,12 @@ __all__ = ['ModelicaLexer', 'BugsLexer', 'JagsLexer', 'StanLexer']
class ModelicaLexer(RegexLexer):
"""
- For `Modelica <http://www.modelica.org/>`_ source code.
+ For Modelica source code.
.. versionadded:: 1.1
"""
name = 'Modelica'
+ url = 'http://www.modelica.org/'
aliases = ['modelica']
filenames = ['*.mo']
mimetypes = ['text/x-modelica']
@@ -97,7 +98,7 @@ class ModelicaLexer(RegexLexer):
class BugsLexer(RegexLexer):
"""
- Pygments Lexer for `OpenBugs <http://www.openbugs.net/>`_ and WinBugs
+ Pygments Lexer for OpenBugs and WinBugs
models.
.. versionadded:: 1.6
diff --git a/pygments/lexers/modula2.py b/pygments/lexers/modula2.py
index 90b216ba..a94d4863 100644
--- a/pygments/lexers/modula2.py
+++ b/pygments/lexers/modula2.py
@@ -21,7 +21,7 @@ __all__ = ['Modula2Lexer']
# Multi-Dialect Modula-2 Lexer
class Modula2Lexer(RegexLexer):
"""
- For `Modula-2 <http://www.modula2.org/>`_ source code.
+ For Modula-2 source code.
The Modula-2 lexer supports several dialects. By default, it operates in
fallback mode, recognising the *combined* literals, punctuation symbols
@@ -159,6 +159,7 @@ class Modula2Lexer(RegexLexer):
Added multi-dialect support.
"""
name = 'Modula-2'
+ url = 'http://www.modula2.org/'
aliases = ['modula2', 'm2']
filenames = ['*.def', '*.mod']
mimetypes = ['text/x-modula2']
diff --git a/pygments/lexers/monte.py b/pygments/lexers/monte.py
index 686927d6..e22fb935 100644
--- a/pygments/lexers/monte.py
+++ b/pygments/lexers/monte.py
@@ -77,11 +77,12 @@ _safeScope = [
class MonteLexer(RegexLexer):
"""
- Lexer for the `Monte <https://monte.readthedocs.io/>`_ programming language.
+ Lexer for the Monte programming language.
.. versionadded:: 2.2
"""
name = 'Monte'
+ url = 'https://monte.readthedocs.io/'
aliases = ['monte']
filenames = ['*.mt']
diff --git a/pygments/lexers/nimrod.py b/pygments/lexers/nimrod.py
index a0a45c73..b94d18f0 100644
--- a/pygments/lexers/nimrod.py
+++ b/pygments/lexers/nimrod.py
@@ -19,12 +19,13 @@ __all__ = ['NimrodLexer']
class NimrodLexer(RegexLexer):
"""
- For `Nim <http://nim-lang.org/>`_ source code.
+ For Nim source code.
.. versionadded:: 1.5
"""
name = 'Nimrod'
+ url = 'http://nim-lang.org/'
aliases = ['nimrod', 'nim']
filenames = ['*.nim', '*.nimrod']
mimetypes = ['text/x-nim']
diff --git a/pygments/lexers/nit.py b/pygments/lexers/nit.py
index 72b583b0..5c975741 100644
--- a/pygments/lexers/nit.py
+++ b/pygments/lexers/nit.py
@@ -17,12 +17,13 @@ __all__ = ['NitLexer']
class NitLexer(RegexLexer):
"""
- For `nit <http://nitlanguage.org>`_ source.
+ For nit source.
.. versionadded:: 2.0
"""
name = 'Nit'
+ url = 'http://nitlanguage.org'
aliases = ['nit']
filenames = ['*.nit']
tokens = {
diff --git a/pygments/lexers/nix.py b/pygments/lexers/nix.py
index 6414cf82..83731c7b 100644
--- a/pygments/lexers/nix.py
+++ b/pygments/lexers/nix.py
@@ -19,12 +19,13 @@ __all__ = ['NixLexer']
class NixLexer(RegexLexer):
"""
- For the `Nix language <http://nixos.org/nix/>`_.
+ For the Nix language.
.. versionadded:: 2.0
"""
name = 'Nix'
+ url = 'http://nixos.org/nix/'
aliases = ['nixos', 'nix']
filenames = ['*.nix']
mimetypes = ['text/x-nix']
diff --git a/pygments/lexers/oberon.py b/pygments/lexers/oberon.py
index cd09e2f9..da7a2484 100644
--- a/pygments/lexers/oberon.py
+++ b/pygments/lexers/oberon.py
@@ -19,7 +19,7 @@ __all__ = ['ComponentPascalLexer']
class ComponentPascalLexer(RegexLexer):
"""
- For `Component Pascal <http://www.oberon.ch/pdf/CP-Lang.pdf>`_ source code.
+ For Component Pascal source code.
.. versionadded:: 2.1
"""
diff --git a/pygments/lexers/objective.py b/pygments/lexers/objective.py
index de0641a5..bbe94962 100644
--- a/pygments/lexers/objective.py
+++ b/pygments/lexers/objective.py
@@ -197,6 +197,7 @@ class ObjectiveCLexer(objective(CLexer)):
"""
name = 'Objective-C'
+ url = 'https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html'
aliases = ['objective-c', 'objectivec', 'obj-c', 'objc']
filenames = ['*.m', '*.h']
mimetypes = ['text/x-objective-c']
@@ -281,11 +282,12 @@ class LogosLexer(ObjectiveCppLexer):
class SwiftLexer(RegexLexer):
"""
- For `Swift <https://developer.apple.com/swift/>`_ source.
+ For Swift source.
.. versionadded:: 2.0
"""
name = 'Swift'
+ url = 'https://www.swift.org/'
filenames = ['*.swift']
aliases = ['swift']
mimetypes = ['text/x-swift']
diff --git a/pygments/lexers/ooc.py b/pygments/lexers/ooc.py
index 63a60032..5b1df2c7 100644
--- a/pygments/lexers/ooc.py
+++ b/pygments/lexers/ooc.py
@@ -17,11 +17,12 @@ __all__ = ['OocLexer']
class OocLexer(RegexLexer):
"""
- For `Ooc <http://ooc-lang.org/>`_ source code
+ For Ooc source code
.. versionadded:: 1.2
"""
name = 'Ooc'
+ url = 'http://ooc-lang.org/'
aliases = ['ooc']
filenames = ['*.ooc']
mimetypes = ['text/x-ooc']
diff --git a/pygments/lexers/parasail.py b/pygments/lexers/parasail.py
index d4b3bd3d..de50c65b 100644
--- a/pygments/lexers/parasail.py
+++ b/pygments/lexers/parasail.py
@@ -19,12 +19,13 @@ __all__ = ['ParaSailLexer']
class ParaSailLexer(RegexLexer):
"""
- For `ParaSail <http://www.parasail-lang.org>`_ source code.
+ For ParaSail source code.
.. versionadded:: 2.1
"""
name = 'ParaSail'
+ url = 'http://www.parasail-lang.org'
aliases = ['parasail']
filenames = ['*.psi', '*.psl']
mimetypes = ['text/x-parasail']
diff --git a/pygments/lexers/parsers.py b/pygments/lexers/parsers.py
index a9c95d63..80ef0890 100644
--- a/pygments/lexers/parsers.py
+++ b/pygments/lexers/parsers.py
@@ -34,7 +34,7 @@ __all__ = ['RagelLexer', 'RagelEmbeddedLexer', 'RagelCLexer', 'RagelDLexer',
class RagelLexer(RegexLexer):
"""
- A pure `Ragel <http://www.complang.org/ragel/>`_ lexer. Use this for
+ A pure Ragel lexer. Use this for
fragments of Ragel. For ``.rl`` files, use RagelEmbeddedLexer instead
(or one of the language-specific subclasses).
@@ -42,6 +42,7 @@ class RagelLexer(RegexLexer):
"""
name = 'Ragel'
+ url = 'http://www.colm.net/open-source/ragel/'
aliases = ['ragel']
filenames = []
diff --git a/pygments/lexers/pascal.py b/pygments/lexers/pascal.py
index 3930f04c..eb3a9951 100644
--- a/pygments/lexers/pascal.py
+++ b/pygments/lexers/pascal.py
@@ -25,7 +25,7 @@ __all__ = ['DelphiLexer', 'AdaLexer']
class DelphiLexer(Lexer):
"""
- For `Delphi <http://www.borland.com/delphi/>`_ (Borland Object Pascal),
+ For Delphi (Borland Object Pascal),
Turbo Pascal and Free Pascal source code.
Additional options accepted:
diff --git a/pygments/lexers/perl.py b/pygments/lexers/perl.py
index 3609bc00..3689fc7a 100644
--- a/pygments/lexers/perl.py
+++ b/pygments/lexers/perl.py
@@ -21,10 +21,11 @@ __all__ = ['PerlLexer', 'Perl6Lexer']
class PerlLexer(RegexLexer):
"""
- For `Perl <https://www.perl.org>`_ source code.
+ For Perl source code.
"""
name = 'Perl'
+ url = 'https://www.perl.org'
aliases = ['perl', 'pl']
filenames = ['*.pl', '*.pm', '*.t', '*.perl']
mimetypes = ['text/x-perl', 'application/x-perl']
@@ -223,12 +224,13 @@ class PerlLexer(RegexLexer):
class Perl6Lexer(ExtendedRegexLexer):
"""
- For `Raku <https://www.raku.org>`_ (a.k.a. Perl 6) source code.
+ For Raku (a.k.a. Perl 6) source code.
.. versionadded:: 2.0
"""
name = 'Perl6'
+ url = 'https://www.raku.org'
aliases = ['perl6', 'pl6', 'raku']
filenames = ['*.pl', '*.pm', '*.nqp', '*.p6', '*.6pl', '*.p6l', '*.pl6',
'*.6pm', '*.p6m', '*.pm6', '*.t', '*.raku', '*.rakumod',
diff --git a/pygments/lexers/php.py b/pygments/lexers/php.py
index b3acbf79..5f2ac12a 100644
--- a/pygments/lexers/php.py
+++ b/pygments/lexers/php.py
@@ -23,7 +23,7 @@ line_re = re.compile('.*?\n')
class ZephirLexer(RegexLexer):
"""
- For `Zephir language <http://zephir-lang.com/>`_ source code.
+ For Zephir language source code.
Zephir is a compiled high level language aimed
to the creation of C-extensions for PHP.
@@ -32,6 +32,7 @@ class ZephirLexer(RegexLexer):
"""
name = 'Zephir'
+ url = 'http://zephir-lang.com/'
aliases = ['zephir']
filenames = ['*.zep']
@@ -88,7 +89,7 @@ class ZephirLexer(RegexLexer):
class PsyshConsoleLexer(Lexer):
"""
- For `PsySH`_ console output, such as:
+ For PsySH console output, such as:
.. sourcecode:: psysh
@@ -99,10 +100,10 @@ class PsyshConsoleLexer(Lexer):
>>> $greeting('World')
=> "Hello, World"
- .. _PsySH: https://psysh.org/
.. versionadded:: 2.7
"""
name = 'PsySH console session for PHP'
+ url = 'https://psysh.org/'
aliases = ['psysh']
def __init__(self, **options):
@@ -137,7 +138,7 @@ class PsyshConsoleLexer(Lexer):
class PhpLexer(RegexLexer):
"""
- For `PHP <http://www.php.net/>`_ source code.
+ For PHP source code.
For PHP embedded in HTML, use the `HtmlPhpLexer`.
Additional options accepted:
@@ -169,6 +170,7 @@ class PhpLexer(RegexLexer):
"""
name = 'PHP'
+ url = 'https://www.php.net/'
aliases = ['php', 'php3', 'php4', 'php5']
filenames = ['*.php', '*.php[345]', '*.inc']
mimetypes = ['text/x-php']
diff --git a/pygments/lexers/pointless.py b/pygments/lexers/pointless.py
index 7a4d79a5..9fea7ea3 100644
--- a/pygments/lexers/pointless.py
+++ b/pygments/lexers/pointless.py
@@ -17,12 +17,13 @@ __all__ = ['PointlessLexer']
class PointlessLexer(RegexLexer):
"""
- For `Pointless <https://ptls.dev>`_ source code.
+ For Pointless source code.
.. versionadded:: 2.7
"""
name = 'Pointless'
+ url = 'https://ptls.dev'
aliases = ['pointless']
filenames = ['*.ptls']
diff --git a/pygments/lexers/praat.py b/pygments/lexers/praat.py
index 3e445ce6..834f15b7 100644
--- a/pygments/lexers/praat.py
+++ b/pygments/lexers/praat.py
@@ -17,12 +17,13 @@ __all__ = ['PraatLexer']
class PraatLexer(RegexLexer):
"""
- For `Praat <http://www.praat.org>`_ scripts.
+ For Praat scripts.
.. versionadded:: 2.1
"""
name = 'Praat'
+ url = 'http://www.praat.org'
aliases = ['praat']
filenames = ['*.praat', '*.proc', '*.psc']
diff --git a/pygments/lexers/procfile.py b/pygments/lexers/procfile.py
index e458d614..72395cee 100644
--- a/pygments/lexers/procfile.py
+++ b/pygments/lexers/procfile.py
@@ -20,12 +20,11 @@ class ProcfileLexer(RegexLexer):
The format is used to run processes on Heroku or is used by Foreman or
Honcho tools.
- For more information about the definition of the format, see:
- https://devcenter.heroku.com/articles/procfile#procfile-format
.. versionadded:: 2.10
"""
name = 'Procfile'
+ url = 'https://devcenter.heroku.com/articles/procfile#procfile-format'
aliases = ['procfile']
filenames = ['Procfile']
diff --git a/pygments/lexers/prolog.py b/pygments/lexers/prolog.py
index 90031a8a..2cdceedd 100644
--- a/pygments/lexers/prolog.py
+++ b/pygments/lexers/prolog.py
@@ -83,12 +83,13 @@ class PrologLexer(RegexLexer):
class LogtalkLexer(RegexLexer):
"""
- For `Logtalk <http://logtalk.org/>`_ source code.
+ For Logtalk source code.
.. versionadded:: 0.10
"""
name = 'Logtalk'
+ url = 'http://logtalk.org/'
aliases = ['logtalk']
filenames = ['*.lgt', '*.logtalk']
mimetypes = ['text/x-logtalk']
diff --git a/pygments/lexers/promql.py b/pygments/lexers/promql.py
index f830f556..1c239a26 100644
--- a/pygments/lexers/promql.py
+++ b/pygments/lexers/promql.py
@@ -25,7 +25,7 @@ __all__ = ["PromQLLexer"]
class PromQLLexer(RegexLexer):
"""
- For `PromQL <https://prometheus.io/docs/prometheus/latest/querying/basics/>`_ queries.
+ For PromQL queries.
For details about the grammar see:
https://github.com/prometheus/prometheus/tree/master/promql/parser
@@ -34,6 +34,7 @@ class PromQLLexer(RegexLexer):
"""
name = "PromQL"
+ url = 'https://prometheus.io/docs/prometheus/latest/querying/basics/'
aliases = ["promql"]
filenames = ["*.promql"]
diff --git a/pygments/lexers/python.py b/pygments/lexers/python.py
index 3b647fc8..f0cd9d7c 100644
--- a/pygments/lexers/python.py
+++ b/pygments/lexers/python.py
@@ -27,7 +27,7 @@ line_re = re.compile('.*?\n')
class PythonLexer(RegexLexer):
"""
- For `Python <http://www.python.org>`_ source code (version 3.x).
+ For Python source code (version 3.x).
.. versionadded:: 0.10
@@ -37,6 +37,7 @@ class PythonLexer(RegexLexer):
"""
name = 'Python'
+ url = 'http://www.python.org'
aliases = ['python', 'py', 'sage', 'python3', 'py3']
filenames = [
'*.py',
@@ -401,7 +402,7 @@ Python3Lexer = PythonLexer
class Python2Lexer(RegexLexer):
"""
- For `Python 2.x <http://www.python.org>`_ source code.
+ For Python 2.x source code.
.. versionchanged:: 2.5
This class has been renamed from ``PythonLexer``. ``PythonLexer`` now
@@ -410,6 +411,7 @@ class Python2Lexer(RegexLexer):
"""
name = 'Python 2.x'
+ url = 'http://www.python.org'
aliases = ['python2', 'py2']
filenames = [] # now taken over by PythonLexer (3.x)
mimetypes = ['text/x-python2', 'application/x-python2']
@@ -814,12 +816,13 @@ class Python2TracebackLexer(RegexLexer):
class CythonLexer(RegexLexer):
"""
- For Pyrex and `Cython <http://cython.org>`_ source code.
+ For Pyrex and Cython source code.
.. versionadded:: 1.1
"""
name = 'Cython'
+ url = 'http://cython.org'
aliases = ['cython', 'pyx', 'pyrex']
filenames = ['*.pyx', '*.pxd', '*.pxi']
mimetypes = ['text/x-cython', 'application/x-cython']
@@ -993,7 +996,7 @@ class CythonLexer(RegexLexer):
class DgLexer(RegexLexer):
"""
- Lexer for `dg <http://pyos.github.com/dg>`_,
+ Lexer for dg,
a functional and object-oriented programming language
running on the CPython 3 VM.
@@ -1098,6 +1101,7 @@ class NumPyLexer(PythonLexer):
"""
name = 'NumPy'
+ url = 'https://numpy.org/'
aliases = ['numpy']
# override the mimetypes to not inherit them from python
diff --git a/pygments/lexers/rita.py b/pygments/lexers/rita.py
index bcb7f6d9..a8e4eca9 100644
--- a/pygments/lexers/rita.py
+++ b/pygments/lexers/rita.py
@@ -19,11 +19,12 @@ __all__ = ['RitaLexer']
class RitaLexer(RegexLexer):
"""
- Lexer for `RITA <https://github.com/zaibacu/rita-dsl>`_
+ Lexer for RITA.
.. versionadded:: 2.11
"""
name = 'Rita'
+ url = 'https://github.com/zaibacu/rita-dsl'
filenames = ['*.rita']
aliases = ['rita']
mimetypes = ['text/rita']
diff --git a/pygments/lexers/rnc.py b/pygments/lexers/rnc.py
index ce2ba934..fc1c9a89 100644
--- a/pygments/lexers/rnc.py
+++ b/pygments/lexers/rnc.py
@@ -17,12 +17,13 @@ __all__ = ['RNCCompactLexer']
class RNCCompactLexer(RegexLexer):
"""
- For `RelaxNG-compact <http://relaxng.org>`_ syntax.
+ For RelaxNG-compact syntax.
.. versionadded:: 2.2
"""
name = 'Relax-NG Compact'
+ url = 'http://relaxng.org'
aliases = ['rng-compact', 'rnc']
filenames = ['*.rnc']
diff --git a/pygments/lexers/roboconf.py b/pygments/lexers/roboconf.py
index 5b83f2e1..2d8e5ff4 100644
--- a/pygments/lexers/roboconf.py
+++ b/pygments/lexers/roboconf.py
@@ -16,7 +16,7 @@ __all__ = ['RoboconfGraphLexer', 'RoboconfInstancesLexer']
class RoboconfGraphLexer(RegexLexer):
"""
- Lexer for `Roboconf <http://roboconf.net/en/roboconf.html>`_ graph files.
+ Lexer for Roboconf graph files.
.. versionadded:: 2.1
"""
@@ -51,7 +51,7 @@ class RoboconfGraphLexer(RegexLexer):
class RoboconfInstancesLexer(RegexLexer):
"""
- Lexer for `Roboconf <http://roboconf.net/en/roboconf.html>`_ instances files.
+ Lexer for Roboconf instances files.
.. versionadded:: 2.1
"""
diff --git a/pygments/lexers/robotframework.py b/pygments/lexers/robotframework.py
index 096547ef..91794d0f 100644
--- a/pygments/lexers/robotframework.py
+++ b/pygments/lexers/robotframework.py
@@ -54,13 +54,14 @@ def normalize(string, remove=''):
class RobotFrameworkLexer(Lexer):
"""
- For `Robot Framework <http://robotframework.org>`_ test data.
+ For Robot Framework test data.
Supports both space and pipe separated plain text formats.
.. versionadded:: 1.6
"""
name = 'RobotFramework'
+ url = 'http://robotframework.org'
aliases = ['robotframework']
filenames = ['*.robot', '*.resource']
mimetypes = ['text/x-robotframework']
diff --git a/pygments/lexers/ruby.py b/pygments/lexers/ruby.py
index fa512d37..82aac360 100644
--- a/pygments/lexers/ruby.py
+++ b/pygments/lexers/ruby.py
@@ -29,10 +29,11 @@ RUBY_OPERATORS = (
class RubyLexer(ExtendedRegexLexer):
"""
- For `Ruby <http://www.ruby-lang.org>`_ source code.
+ For Ruby source code.
"""
name = 'Ruby'
+ url = 'http://www.ruby-lang.org'
aliases = ['ruby', 'rb', 'duby']
filenames = ['*.rb', '*.rbw', 'Rakefile', '*.rake', '*.gemspec',
'*.rbx', '*.duby', 'Gemfile', 'Vagrantfile']
@@ -439,7 +440,7 @@ class RubyConsoleLexer(Lexer):
class FancyLexer(RegexLexer):
"""
- Pygments Lexer For `Fancy <http://www.fancy-lang.org/>`_.
+ Pygments Lexer For Fancy.
Fancy is a self-hosted, pure object-oriented, dynamic,
class-based, concurrent general-purpose programming language
@@ -448,6 +449,7 @@ class FancyLexer(RegexLexer):
.. versionadded:: 1.5
"""
name = 'Fancy'
+ url = 'https://github.com/bakkdoor/fancy'
filenames = ['*.fy', '*.fancypack']
aliases = ['fancy', 'fy']
mimetypes = ['text/x-fancysrc']
diff --git a/pygments/lexers/rust.py b/pygments/lexers/rust.py
index d7a080fb..500c7a55 100644
--- a/pygments/lexers/rust.py
+++ b/pygments/lexers/rust.py
@@ -22,6 +22,7 @@ class RustLexer(RegexLexer):
.. versionadded:: 1.6
"""
name = 'Rust'
+ url = 'https://www.rust-lang.org/'
filenames = ['*.rs', '*.rs.in']
aliases = ['rust', 'rs']
mimetypes = ['text/rust', 'text/x-rust']
diff --git a/pygments/lexers/sas.py b/pygments/lexers/sas.py
index 5689f3e6..f2f408c6 100644
--- a/pygments/lexers/sas.py
+++ b/pygments/lexers/sas.py
@@ -18,7 +18,7 @@ __all__ = ['SASLexer']
class SASLexer(RegexLexer):
"""
- For `SAS <http://www.sas.com/>`_ files.
+ For SAS files.
.. versionadded:: 2.2
"""
diff --git a/pygments/lexers/savi.py b/pygments/lexers/savi.py
index 56954a59..5b557585 100644
--- a/pygments/lexers/savi.py
+++ b/pygments/lexers/savi.py
@@ -31,12 +31,13 @@ __all__ = ['SaviLexer']
class SaviLexer(RegexLexer):
"""
- For `Savi <https://github.com/savi-lang/savi>`_ source code.
+ For Savi source code.
.. versionadded: 2.10
"""
name = 'Savi'
+ url = 'https://github.com/savi-lang/savi'
aliases = ['savi']
filenames = ['*.savi']
diff --git a/pygments/lexers/scdoc.py b/pygments/lexers/scdoc.py
index 2d5ed483..cb602db9 100644
--- a/pygments/lexers/scdoc.py
+++ b/pygments/lexers/scdoc.py
@@ -22,11 +22,11 @@ __all__ = ['ScdocLexer']
class ScdocLexer(RegexLexer):
"""
`scdoc` is a simple man page generator for POSIX systems written in C99.
- https://git.sr.ht/~sircmpwn/scdoc
-
+
.. versionadded:: 2.5
"""
name = 'scdoc'
+ url = 'https://git.sr.ht/~sircmpwn/scdoc'
aliases = ['scdoc', 'scd']
filenames = ['*.scd', '*.scdoc']
flags = re.MULTILINE
diff --git a/pygments/lexers/scripting.py b/pygments/lexers/scripting.py
index bb78d9af..25cc406c 100644
--- a/pygments/lexers/scripting.py
+++ b/pygments/lexers/scripting.py
@@ -23,7 +23,7 @@ __all__ = ['LuaLexer', 'MoonScriptLexer', 'ChaiscriptLexer', 'LSLLexer',
class LuaLexer(RegexLexer):
"""
- For `Lua <http://www.lua.org>`_ source code.
+ For Lua source code.
Additional options accepted:
@@ -45,6 +45,7 @@ class LuaLexer(RegexLexer):
"""
name = 'Lua'
+ url = 'https://www.lua.org/'
aliases = ['lua']
filenames = ['*.lua', '*.wlua']
mimetypes = ['text/x-lua', 'application/x-lua']
@@ -163,12 +164,13 @@ class LuaLexer(RegexLexer):
class MoonScriptLexer(LuaLexer):
"""
- For `MoonScript <http://moonscript.org>`_ source code.
+ For MoonScript source code.
.. versionadded:: 1.5
"""
name = 'MoonScript'
+ url = 'http://moonscript.org'
aliases = ['moonscript', 'moon']
filenames = ['*.moon']
mimetypes = ['text/x-moonscript', 'application/x-moonscript']
@@ -231,12 +233,13 @@ class MoonScriptLexer(LuaLexer):
class ChaiscriptLexer(RegexLexer):
"""
- For `ChaiScript <http://chaiscript.com/>`_ source code.
+ For ChaiScript source code.
.. versionadded:: 2.0
"""
name = 'ChaiScript'
+ url = 'http://chaiscript.com/'
aliases = ['chaiscript', 'chai']
filenames = ['*.chai']
mimetypes = ['text/x-chaiscript', 'application/x-chaiscript']
@@ -381,9 +384,7 @@ class LSLLexer(RegexLexer):
class AppleScriptLexer(RegexLexer):
"""
- For `AppleScript source code
- <http://developer.apple.com/documentation/AppleScript/
- Conceptual/AppleScriptLangGuide>`_,
+ For AppleScript source code,
including `AppleScript Studio
<http://developer.apple.com/documentation/AppleScript/
Reference/StudioReference>`_.
@@ -393,6 +394,7 @@ class AppleScriptLexer(RegexLexer):
"""
name = 'AppleScript'
+ url = 'https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html'
aliases = ['applescript']
filenames = ['*.applescript']
@@ -704,7 +706,7 @@ class AppleScriptLexer(RegexLexer):
class RexxLexer(RegexLexer):
"""
- `Rexx <http://www.rexxinfo.org/>`_ is a scripting language available for
+ Rexx is a scripting language available for
a wide range of different platforms with its roots found on mainframe
systems. It is popular for I/O- and data based tasks and can act as glue
language to bind different applications together.
@@ -712,6 +714,7 @@ class RexxLexer(RegexLexer):
.. versionadded:: 2.0
"""
name = 'Rexx'
+ url = 'http://www.rexxinfo.org/'
aliases = ['rexx', 'arexx']
filenames = ['*.rexx', '*.rex', '*.rx', '*.arexx']
mimetypes = ['text/x-rexx']
@@ -817,12 +820,12 @@ class RexxLexer(RegexLexer):
class MOOCodeLexer(RegexLexer):
"""
- For `MOOCode <http://www.moo.mud.org/>`_ (the MOO scripting
- language).
+ For MOOCode (the MOO scripting language).
.. versionadded:: 0.9
"""
name = 'MOOCode'
+ url = 'http://www.moo.mud.org/'
filenames = ['*.moo']
aliases = ['moocode', 'moo']
mimetypes = ['text/x-moocode']
@@ -860,7 +863,7 @@ class MOOCodeLexer(RegexLexer):
class HybrisLexer(RegexLexer):
"""
- For `Hybris <http://www.hybris-lang.org>`_ source code.
+ For Hybris source code.
.. versionadded:: 1.4
"""
@@ -1147,8 +1150,7 @@ class EasytrieveLexer(RegexLexer):
class JclLexer(RegexLexer):
"""
- `Job Control Language (JCL)
- <http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B570/CCONTENTS>`_
+ Job Control Language (JCL)
is a scripting language used on mainframe platforms to instruct the system
on how to run a batch job or start a subsystem. It is somewhat
comparable to MS DOS batch and Unix shell scripts.
@@ -1231,12 +1233,13 @@ class JclLexer(RegexLexer):
class MiniScriptLexer(RegexLexer):
"""
- For `MiniScript <https://miniscript.org>`_ source code.
+ For MiniScript source code.
.. versionadded:: 2.6
"""
name = 'MiniScript'
+ url = 'https://miniscript.org'
aliases = ['miniscript', 'ms']
filenames = ['*.ms']
mimetypes = ['text/x-minicript', 'application/x-miniscript']
diff --git a/pygments/lexers/sgf.py b/pygments/lexers/sgf.py
index 8d09e1a3..1b066b1c 100644
--- a/pygments/lexers/sgf.py
+++ b/pygments/lexers/sgf.py
@@ -20,12 +20,11 @@ class SmartGameFormatLexer(RegexLexer):
The format is used to store game records of board games for two players
(mainly Go game).
- For more information about the definition of the format, see:
- https://www.red-bean.com/sgf/
.. versionadded:: 2.4
"""
name = 'SmartGameFormat'
+ url = 'https://www.red-bean.com/sgf/'
aliases = ['sgf']
filenames = ['*.sgf']
diff --git a/pygments/lexers/smalltalk.py b/pygments/lexers/smalltalk.py
index 4f5399a7..ca41c07b 100644
--- a/pygments/lexers/smalltalk.py
+++ b/pygments/lexers/smalltalk.py
@@ -17,13 +17,14 @@ __all__ = ['SmalltalkLexer', 'NewspeakLexer']
class SmalltalkLexer(RegexLexer):
"""
- For `Smalltalk <http://www.smalltalk.org/>`_ syntax.
+ For Smalltalk syntax.
Contributed by Stefan Matthias Aust.
Rewritten by Nils Winter.
.. versionadded:: 0.10
"""
name = 'Smalltalk'
+ url = 'http://www.smalltalk.org/'
filenames = ['*.st']
aliases = ['smalltalk', 'squeak', 'st']
mimetypes = ['text/x-smalltalk']
@@ -138,11 +139,12 @@ class SmalltalkLexer(RegexLexer):
class NewspeakLexer(RegexLexer):
"""
- For `Newspeak <http://newspeaklanguage.org/>`_ syntax.
+ For Newspeak syntax.
.. versionadded:: 1.1
"""
name = 'Newspeak'
+ url = 'http://newspeaklanguage.org/'
filenames = ['*.ns2']
aliases = ['newspeak', ]
mimetypes = ['text/x-newspeak']
diff --git a/pygments/lexers/smithy.py b/pygments/lexers/smithy.py
index a9b13ef8..08301d5e 100644
--- a/pygments/lexers/smithy.py
+++ b/pygments/lexers/smithy.py
@@ -24,6 +24,7 @@ class SmithyLexer(RegexLexer):
.. versionadded:: 2.10
"""
name = 'Smithy'
+ url = 'https://awslabs.github.io/smithy/'
filenames = ['*.smithy']
aliases = ['smithy']
diff --git a/pygments/lexers/sophia.py b/pygments/lexers/sophia.py
index df20ef70..fc901814 100644
--- a/pygments/lexers/sophia.py
+++ b/pygments/lexers/sophia.py
@@ -18,7 +18,7 @@ __all__ = ['SophiaLexer']
class SophiaLexer(RegexLexer):
"""
- A `Sophia <https://buildwithsophia.com/>`_ lexer.
+ A Sophia lexer.
.. versionadded:: 2.11
"""
diff --git a/pygments/lexers/spice.py b/pygments/lexers/spice.py
index c91cc979..59d59b44 100644
--- a/pygments/lexers/spice.py
+++ b/pygments/lexers/spice.py
@@ -19,11 +19,12 @@ __all__ = ['SpiceLexer']
class SpiceLexer(RegexLexer):
"""
- For `Spice <https://www.spicelang.com>`_ source.
+ For Spice source.
.. versionadded:: 2.11
"""
name = 'Spice'
+ url = 'https://www.spicelang.com'
filenames = ['*.spice']
aliases = ['spice', 'spicelang']
mimetypes = ['text/x-spice']
diff --git a/pygments/lexers/sql.py b/pygments/lexers/sql.py
index 18cd9c20..043a3d17 100644
--- a/pygments/lexers/sql.py
+++ b/pygments/lexers/sql.py
@@ -812,11 +812,10 @@ class RqlLexer(RegexLexer):
"""
Lexer for Relation Query Language.
- `RQL <http://www.logilab.org/project/rql>`_
-
.. versionadded:: 2.0
"""
name = 'RQL'
+ url = 'http://www.logilab.org/project/rql'
aliases = ['rql']
filenames = ['*.rql']
mimetypes = ['text/x-rql']
diff --git a/pygments/lexers/stata.py b/pygments/lexers/stata.py
index d5dbb14e..4fbe7736 100644
--- a/pygments/lexers/stata.py
+++ b/pygments/lexers/stata.py
@@ -20,7 +20,7 @@ __all__ = ['StataLexer']
class StataLexer(RegexLexer):
"""
- For `Stata <http://www.stata.com/>`_ do files.
+ For Stata do files.
.. versionadded:: 2.2
"""
@@ -29,7 +29,8 @@ class StataLexer(RegexLexer):
# - https://github.com/isagalaev/highlight.js/blob/master/src/languages/stata.js
# - https://github.com/jpitblado/vim-stata/blob/master/syntax/stata.vim
- name = 'Stata'
+ name = 'Stata'
+ url = 'http://www.stata.com/'
aliases = ['stata', 'do']
filenames = ['*.do', '*.ado']
mimetypes = ['text/x-stata', 'text/stata', 'application/x-stata']
diff --git a/pygments/lexers/supercollider.py b/pygments/lexers/supercollider.py
index 3c8eb18f..efa44b73 100644
--- a/pygments/lexers/supercollider.py
+++ b/pygments/lexers/supercollider.py
@@ -19,12 +19,13 @@ __all__ = ['SuperColliderLexer']
class SuperColliderLexer(RegexLexer):
"""
- For `SuperCollider <http://supercollider.github.io/>`_ source code.
+ For SuperCollider source code.
.. versionadded:: 2.1
"""
name = 'SuperCollider'
+ url = 'http://supercollider.github.io/'
aliases = ['supercollider', 'sc']
filenames = ['*.sc', '*.scd']
mimetypes = ['application/supercollider', 'text/supercollider', ]
diff --git a/pygments/lexers/tcl.py b/pygments/lexers/tcl.py
index 86908756..9c8b4842 100644
--- a/pygments/lexers/tcl.py
+++ b/pygments/lexers/tcl.py
@@ -41,6 +41,7 @@ class TclLexer(RegexLexer):
'subst', 'tell', 'time', 'tm', 'unknown', 'unload'), prefix=r'\b', suffix=r'\b')
name = 'Tcl'
+ url = 'https://www.tcl.tk/about/language.html'
aliases = ['tcl']
filenames = ['*.tcl', '*.rvt']
mimetypes = ['text/x-tcl', 'text/x-script.tcl', 'application/x-tcl']
diff --git a/pygments/lexers/teal.py b/pygments/lexers/teal.py
index 54f97f82..5676f2f2 100644
--- a/pygments/lexers/teal.py
+++ b/pygments/lexers/teal.py
@@ -15,8 +15,7 @@ __all__ = ['TealLexer']
class TealLexer(RegexLexer):
"""
- For the `Transaction Execution Approval Language (TEAL)
- <https://developer.algorand.org/docs/reference/teal/specification/>`
+ For the Transaction Execution Approval Language (TEAL)
For more information about the grammar, see:
https://github.com/algorand/go-algorand/blob/master/data/transactions/logic/assembler.go
@@ -24,6 +23,7 @@ class TealLexer(RegexLexer):
.. versionadded:: 2.9
"""
name = 'teal'
+ url = 'https://developer.algorand.org/docs/reference/teal/specification/'
aliases = ['teal']
filenames = ['*.teal']
diff --git a/pygments/lexers/templates.py b/pygments/lexers/templates.py
index 6f08c8a5..87cbf255 100644
--- a/pygments/lexers/templates.py
+++ b/pygments/lexers/templates.py
@@ -48,8 +48,7 @@ __all__ = ['HtmlPhpLexer', 'XmlPhpLexer', 'CssPhpLexer',
class ErbLexer(Lexer):
"""
- Generic `ERB <http://ruby-doc.org/core/classes/ERB.html>`_ (Ruby Templating)
- lexer.
+ Generic ERB (Ruby Templating) lexer.
Just highlights ruby code between the preprocessor directives, other data
is left untouched by the lexer.
@@ -58,6 +57,7 @@ class ErbLexer(Lexer):
"""
name = 'ERB'
+ url = 'https://github.com/ruby/erb'
aliases = ['erb']
mimetypes = ['application/x-ruby-templating']
@@ -143,13 +143,14 @@ class ErbLexer(Lexer):
class SmartyLexer(RegexLexer):
"""
- Generic `Smarty <http://smarty.php.net/>`_ template lexer.
+ Generic Smarty template lexer.
Just highlights smarty code between the preprocessor directives, other
data is left untouched by the lexer.
"""
name = 'Smarty'
+ url = 'https://www.smarty.net/'
aliases = ['smarty']
filenames = ['*.tpl']
mimetypes = ['application/x-smarty']
@@ -199,13 +200,14 @@ class SmartyLexer(RegexLexer):
class VelocityLexer(RegexLexer):
"""
- Generic `Velocity <http://velocity.apache.org/>`_ template lexer.
+ Generic Velocity template lexer.
Just highlights velocity directives and variable references, other
data is left untouched by the lexer.
"""
name = 'Velocity'
+ url = 'https://velocity.apache.org/'
aliases = ['velocity']
filenames = ['*.vm', '*.fhtml']
@@ -402,15 +404,14 @@ class DjangoLexer(RegexLexer):
class MyghtyLexer(RegexLexer):
"""
- Generic `myghty templates`_ lexer. Code that isn't Myghty
+ Generic myghty templates lexer. Code that isn't Myghty
markup is yielded as `Token.Other`.
.. versionadded:: 0.6
-
- .. _myghty templates: http://www.myghty.org/
"""
name = 'Myghty'
+ url = 'http://www.myghty.org/'
aliases = ['myghty']
filenames = ['*.myt', 'autodelegate']
mimetypes = ['application/x-myghty']
@@ -516,14 +517,13 @@ class MyghtyCssLexer(DelegatingLexer):
class MasonLexer(RegexLexer):
"""
- Generic `mason templates`_ lexer. Stolen from Myghty lexer. Code that isn't
+ Generic mason templates lexer. Stolen from Myghty lexer. Code that isn't
Mason markup is HTML.
- .. _mason templates: http://www.masonhq.com/
-
.. versionadded:: 1.4
"""
name = 'Mason'
+ url = 'http://www.masonhq.com/'
aliases = ['mason']
filenames = ['*.m', '*.mhtml', '*.mc', '*.mi', 'autohandler', 'dhandler']
mimetypes = ['application/x-mason']
@@ -572,15 +572,14 @@ class MasonLexer(RegexLexer):
class MakoLexer(RegexLexer):
"""
- Generic `mako templates`_ lexer. Code that isn't Mako
+ Generic mako templates lexer. Code that isn't Mako
markup is yielded as `Token.Other`.
.. versionadded:: 0.7
-
- .. _mako templates: http://www.makotemplates.org/
"""
name = 'Mako'
+ url = 'http://www.makotemplates.org/'
aliases = ['mako']
filenames = ['*.mao']
mimetypes = ['application/x-mako']
@@ -721,15 +720,15 @@ class CheetahPythonLexer(Lexer):
class CheetahLexer(RegexLexer):
"""
- Generic `cheetah templates`_ lexer. Code that isn't Cheetah
+ Generic cheetah templates lexer. Code that isn't Cheetah
markup is yielded as `Token.Other`. This also works for
`spitfire templates`_ which use the same syntax.
- .. _cheetah templates: http://www.cheetahtemplate.org/
.. _spitfire templates: http://code.google.com/p/spitfire/
"""
name = 'Cheetah'
+ url = 'http://www.cheetahtemplate.org/'
aliases = ['cheetah', 'spitfire']
filenames = ['*.tmpl', '*.spt']
mimetypes = ['application/x-cheetah', 'application/x-spitfire']
@@ -813,11 +812,11 @@ class CheetahJavascriptLexer(DelegatingLexer):
class GenshiTextLexer(RegexLexer):
"""
- A lexer that highlights `genshi <http://genshi.edgewall.org/>`_ text
- templates.
+ A lexer that highlights genshi text templates.
"""
name = 'Genshi Text'
+ url = 'http://genshi.edgewall.org/'
aliases = ['genshitext']
mimetypes = ['application/x-genshi-text', 'text/x-genshi']
@@ -1767,7 +1766,7 @@ class LassoJavascriptLexer(DelegatingLexer):
class HandlebarsLexer(RegexLexer):
"""
- Generic `handlebars <http://handlebarsjs.com/>` template lexer.
+ Generic handlebars template lexer.
Highlights only the Handlebars template tags (stuff between `{{` and `}}`).
Everything else is left for a delegating lexer.
@@ -1776,6 +1775,7 @@ class HandlebarsLexer(RegexLexer):
"""
name = "Handlebars"
+ url = 'https://handlebarsjs.com/'
aliases = ['handlebars']
tokens = {
@@ -1879,12 +1879,12 @@ class YamlJinjaLexer(DelegatingLexer):
class LiquidLexer(RegexLexer):
"""
- Lexer for `Liquid templates
- <http://www.rubydoc.info/github/Shopify/liquid>`_.
+ Lexer for Liquid templates.
.. versionadded:: 2.0
"""
name = 'liquid'
+ url = 'https://www.rubydoc.info/github/Shopify/liquid'
aliases = ['liquid']
filenames = ['*.liquid']
@@ -2085,7 +2085,7 @@ class LiquidLexer(RegexLexer):
class TwigLexer(RegexLexer):
"""
- `Twig <http://twig.sensiolabs.org/>`_ template lexer.
+ Twig template lexer.
It just highlights Twig code between the preprocessor directives,
other data is left untouched by the lexer.
@@ -2185,9 +2185,7 @@ class TwigHtmlLexer(DelegatingLexer):
class Angular2Lexer(RegexLexer):
"""
- Generic
- `angular2 <http://victorsavkin.com/post/119943127151/angular-2-template-syntax>`_
- template lexer.
+ Generic angular2 template lexer.
Highlights only the Angular template tags (stuff between `{{` and `}}` and
special attributes: '(event)=', '[property]=', '[(twoWayBinding)]=').
@@ -2197,6 +2195,7 @@ class Angular2Lexer(RegexLexer):
"""
name = "Angular2"
+ url = 'https://angular.io/guide/template-syntax'
aliases = ['ng2']
tokens = {
diff --git a/pygments/lexers/teraterm.py b/pygments/lexers/teraterm.py
index 05629aa3..5fada1d1 100644
--- a/pygments/lexers/teraterm.py
+++ b/pygments/lexers/teraterm.py
@@ -19,11 +19,12 @@ __all__ = ['TeraTermLexer']
class TeraTermLexer(RegexLexer):
"""
- For `Tera Term <https://ttssh2.osdn.jp/>`_ macro source code.
+ For Tera Term macro source code.
.. versionadded:: 2.4
"""
name = 'Tera Term macro'
+ url = 'https://ttssh2.osdn.jp/'
aliases = ['teratermmacro', 'teraterm', 'ttl']
filenames = ['*.ttl']
mimetypes = ['text/x-teratermmacro']
diff --git a/pygments/lexers/testing.py b/pygments/lexers/testing.py
index 893ec12b..e45fe521 100644
--- a/pygments/lexers/testing.py
+++ b/pygments/lexers/testing.py
@@ -16,7 +16,7 @@ __all__ = ['GherkinLexer', 'TAPLexer']
class GherkinLexer(RegexLexer):
"""
- For `Gherkin <https://github.com/aslakhellesoy/gherkin/>` syntax.
+ For Gherkin syntax.
.. versionadded:: 1.2
"""
@@ -140,6 +140,7 @@ class TAPLexer(RegexLexer):
.. versionadded:: 2.1
"""
name = 'TAP'
+ url = 'https://testanything.org/'
aliases = ['tap']
filenames = ['*.tap']
diff --git a/pygments/lexers/textfmts.py b/pygments/lexers/textfmts.py
index a84a12ec..e67410ac 100644
--- a/pygments/lexers/textfmts.py
+++ b/pygments/lexers/textfmts.py
@@ -200,12 +200,13 @@ class HttpLexer(RegexLexer):
class TodotxtLexer(RegexLexer):
"""
- Lexer for `Todo.txt <http://todotxt.com/>`_ todo list format.
+ Lexer for Todo.txt todo list format.
.. versionadded:: 2.0
"""
name = 'Todotxt'
+ url = 'http://todotxt.com/'
aliases = ['todotxt']
# *.todotxt is not a standard extension for Todo.txt files; including it
# makes testing easier, and also makes autodetecting file type easier.
@@ -300,7 +301,7 @@ class TodotxtLexer(RegexLexer):
class NotmuchLexer(RegexLexer):
"""
- For `Notmuch <https://notmuchmail.org/>`_ email text format.
+ For Notmuch email text format.
.. versionadded:: 2.5
@@ -312,6 +313,7 @@ class NotmuchLexer(RegexLexer):
"""
name = 'Notmuch'
+ url = 'https://notmuchmail.org/'
aliases = ['notmuch']
def _highlight_code(self, match):
diff --git a/pygments/lexers/theorem.py b/pygments/lexers/theorem.py
index f5096ef6..e4ed7539 100644
--- a/pygments/lexers/theorem.py
+++ b/pygments/lexers/theorem.py
@@ -19,12 +19,13 @@ __all__ = ['CoqLexer', 'IsabelleLexer', 'LeanLexer']
class CoqLexer(RegexLexer):
"""
- For the `Coq <http://coq.inria.fr/>`_ theorem prover.
+ For the Coq theorem prover.
.. versionadded:: 1.5
"""
name = 'Coq'
+ url = 'http://coq.inria.fr/'
aliases = ['coq']
filenames = ['*.v']
mimetypes = ['text/x-coq']
@@ -165,12 +166,13 @@ class CoqLexer(RegexLexer):
class IsabelleLexer(RegexLexer):
"""
- For the `Isabelle <http://isabelle.in.tum.de/>`_ proof assistant.
+ For the Isabelle proof assistant.
.. versionadded:: 2.0
"""
name = 'Isabelle'
+ url = 'http://isabelle.in.tum.de/'
aliases = ['isabelle']
filenames = ['*.thy']
mimetypes = ['text/x-isabelle']
@@ -381,12 +383,12 @@ class IsabelleLexer(RegexLexer):
class LeanLexer(RegexLexer):
"""
- For the `Lean <https://github.com/leanprover/lean>`_
- theorem prover.
+ For the Lean theorem prover.
.. versionadded:: 2.0
"""
name = 'Lean'
+ url = 'https://github.com/leanprover/lean'
aliases = ['lean']
filenames = ['*.lean']
mimetypes = ['text/x-lean']
diff --git a/pygments/lexers/tnt.py b/pygments/lexers/tnt.py
index 2edc6e3c..582b2a2f 100644
--- a/pygments/lexers/tnt.py
+++ b/pygments/lexers/tnt.py
@@ -20,14 +20,13 @@ __all__ = ['TNTLexer']
class TNTLexer(Lexer):
"""
Lexer for Typographic Number Theory, as described in the book
- Gödel, Escher, Bach, by Douglas R. Hofstadter,
- or as summarized here:
- https://github.com/Kenny2github/language-tnt/blob/master/README.md#summary-of-tnt
-
+ Gödel, Escher, Bach, by Douglas R. Hofstadter
+
.. versionadded:: 2.7
"""
name = 'Typographic Number Theory'
+ url = 'https://github.com/Kenny2github/language-tnt'
aliases = ['tnt']
filenames = ['*.tnt']
diff --git a/pygments/lexers/trafficscript.py b/pygments/lexers/trafficscript.py
index 6a6655e1..b8ef8243 100644
--- a/pygments/lexers/trafficscript.py
+++ b/pygments/lexers/trafficscript.py
@@ -16,7 +16,7 @@ __all__ = ['RtsLexer']
class RtsLexer(RegexLexer):
"""
- For `Riverbed Stingray Traffic Manager <http://www.riverbed.com/stingray>`_
+ For Riverbed Stingray Traffic Manager
.. versionadded:: 2.1
"""
diff --git a/pygments/lexers/typoscript.py b/pygments/lexers/typoscript.py
index e078471b..737169a9 100644
--- a/pygments/lexers/typoscript.py
+++ b/pygments/lexers/typoscript.py
@@ -100,12 +100,11 @@ class TypoScriptLexer(RegexLexer):
"""
Lexer for TypoScript code.
- http://docs.typo3.org/typo3cms/TyposcriptReference/
-
.. versionadded:: 2.2
"""
name = 'TypoScript'
+ url = 'http://docs.typo3.org/typo3cms/TyposcriptReference/'
aliases = ['typoscript']
filenames = ['*.typoscript']
mimetypes = ['text/x-typoscript']
diff --git a/pygments/lexers/usd.py b/pygments/lexers/usd.py
index 57601442..8c8e5a6b 100644
--- a/pygments/lexers/usd.py
+++ b/pygments/lexers/usd.py
@@ -35,6 +35,7 @@ class UsdLexer(RegexLexer):
"""
name = "USD"
+ url = 'https://graphics.pixar.com/usd/release/index.html'
aliases = ["usd", "usda"]
filenames = ["*.usd", "*.usda"]
diff --git a/pygments/lexers/verification.py b/pygments/lexers/verification.py
index e15ea22a..1721d779 100644
--- a/pygments/lexers/verification.py
+++ b/pygments/lexers/verification.py
@@ -17,11 +17,12 @@ __all__ = ['BoogieLexer', 'SilverLexer']
class BoogieLexer(RegexLexer):
"""
- For `Boogie <https://boogie.codeplex.com/>`_ source code.
+ For Boogie source code.
.. versionadded:: 2.1
"""
name = 'Boogie'
+ url = 'https://boogie-docs.readthedocs.io/en/latest/'
aliases = ['boogie']
filenames = ['*.bpl']
@@ -64,7 +65,7 @@ class BoogieLexer(RegexLexer):
class SilverLexer(RegexLexer):
"""
- For `Silver <https://bitbucket.org/viperproject/silver>`_ source code.
+ For Silver source code.
.. versionadded:: 2.2
"""
diff --git a/pygments/lexers/webassembly.py b/pygments/lexers/webassembly.py
index 34019df2..e10884f2 100644
--- a/pygments/lexers/webassembly.py
+++ b/pygments/lexers/webassembly.py
@@ -62,12 +62,13 @@ builtins = (
class WatLexer(RegexLexer):
- """Lexer for the `WebAssembly text format <https://webassembly.org/>`_.
+ """Lexer for the WebAssembly text format.
.. versionadded:: 2.9
"""
name = 'WebAssembly'
+ url = 'https://webassembly.org/'
aliases = ['wast', 'wat']
filenames = ['*.wat', '*.wast']
diff --git a/pygments/lexers/webidl.py b/pygments/lexers/webidl.py
index 2e459bab..3a8460d4 100644
--- a/pygments/lexers/webidl.py
+++ b/pygments/lexers/webidl.py
@@ -44,6 +44,7 @@ class WebIDLLexer(RegexLexer):
"""
name = 'Web IDL'
+ url = 'https://www.w3.org/wiki/Web_IDL'
aliases = ['webidl']
filenames = ['*.webidl']
diff --git a/pygments/lexers/webmisc.py b/pygments/lexers/webmisc.py
index 28ab9754..187d641e 100644
--- a/pygments/lexers/webmisc.py
+++ b/pygments/lexers/webmisc.py
@@ -26,13 +26,12 @@ __all__ = ['DuelLexer', 'SlimLexer', 'XQueryLexer', 'QmlLexer', 'CirruLexer']
class DuelLexer(RegexLexer):
"""
Lexer for Duel Views Engine (formerly JBST) markup with JavaScript code blocks.
- See http://duelengine.org/.
- See http://jsonml.org/jbst/.
-
+
.. versionadded:: 1.4
"""
name = 'Duel'
+ url = 'http://duelengine.org/'
aliases = ['duel', 'jbst', 'jsonml+bst']
filenames = ['*.duel', '*.jbst']
mimetypes = ['text/x-duel', 'text/x-jbst']
@@ -64,6 +63,7 @@ class XQueryLexer(ExtendedRegexLexer):
.. versionadded:: 1.4
"""
name = 'XQuery'
+ url = 'https://www.w3.org/XML/Query/'
aliases = ['xquery', 'xqy', 'xq', 'xql', 'xqm']
filenames = ['*.xqy', '*.xquery', '*.xq', '*.xql', '*.xqm']
mimetypes = ['text/xquery', 'application/xquery']
@@ -792,7 +792,7 @@ class XQueryLexer(ExtendedRegexLexer):
class QmlLexer(RegexLexer):
"""
- For QML files. See http://doc.qt.digia.com/4.7/qdeclarativeintroduction.html.
+ For QML files.
.. versionadded:: 1.6
"""
@@ -801,6 +801,7 @@ class QmlLexer(RegexLexer):
# JavascriptLexer above.
name = 'QML'
+ url = 'https://doc.qt.io/qt-6/qmlapplications.html'
aliases = ['qml', 'qbs']
filenames = ['*.qml', '*.qbs']
mimetypes = ['application/x-qml', 'application/x-qt.qbs+qml']
@@ -865,9 +866,6 @@ class QmlLexer(RegexLexer):
class CirruLexer(RegexLexer):
r"""
- Syntax rules of Cirru can be found at:
- http://cirru.org/
-
* using ``()`` for expressions, but restricted in a same line
* using ``""`` for strings, with ``\`` for escaping chars
* using ``$`` as folding operator
@@ -878,6 +876,7 @@ class CirruLexer(RegexLexer):
"""
name = 'Cirru'
+ url = 'http://cirru.org/'
aliases = ['cirru']
filenames = ['*.cirru']
mimetypes = ['text/x-cirru']
diff --git a/pygments/lexers/whiley.py b/pygments/lexers/whiley.py
index 5d29d401..ad9f2dc5 100644
--- a/pygments/lexers/whiley.py
+++ b/pygments/lexers/whiley.py
@@ -22,6 +22,7 @@ class WhileyLexer(RegexLexer):
.. versionadded:: 2.2
"""
name = 'Whiley'
+ url = 'http://whiley.org/'
filenames = ['*.whiley']
aliases = ['whiley']
mimetypes = ['text/x-whiley']
diff --git a/pygments/lexers/x10.py b/pygments/lexers/x10.py
index f4ae54d5..855b8ccb 100644
--- a/pygments/lexers/x10.py
+++ b/pygments/lexers/x10.py
@@ -21,6 +21,7 @@ class X10Lexer(RegexLexer):
"""
name = 'X10'
+ url = 'http://x10-lang.org/'
aliases = ['x10', 'xten']
filenames = ['*.x10']
mimetypes = ['text/x-x10']
diff --git a/pygments/lexers/xorg.py b/pygments/lexers/xorg.py
index cbc211e9..54f131fe 100644
--- a/pygments/lexers/xorg.py
+++ b/pygments/lexers/xorg.py
@@ -17,6 +17,7 @@ __all__ = ['XorgLexer']
class XorgLexer(RegexLexer):
"""Lexer for xorg.conf file."""
name = 'Xorg'
+ url = 'https://www.x.org/wiki/'
aliases = ['xorg.conf']
filenames = ['xorg.conf']
mimetypes = []
diff --git a/pygments/lexers/yang.py b/pygments/lexers/yang.py
index 8b0f83f4..0e68cb82 100644
--- a/pygments/lexers/yang.py
+++ b/pygments/lexers/yang.py
@@ -16,11 +16,12 @@ __all__ = ['YangLexer']
class YangLexer(RegexLexer):
"""
- Lexer for `YANG <https://tools.ietf.org/html/rfc7950/>`_, based on RFC7950
+ Lexer for YANG, based on RFC7950.
.. versionadded:: 2.7
"""
name = 'YANG'
+ url = 'https://tools.ietf.org/html/rfc7950/'
aliases = ['yang']
filenames = ['*.yang']
mimetypes = ['application/yang']
diff --git a/pygments/lexers/zig.py b/pygments/lexers/zig.py
index 246eccaf..3101154a 100644
--- a/pygments/lexers/zig.py
+++ b/pygments/lexers/zig.py
@@ -17,11 +17,10 @@ __all__ = ['ZigLexer']
class ZigLexer(RegexLexer):
"""
- For `Zig <http://www.ziglang.org>`_ source code.
-
grammar: https://ziglang.org/documentation/master/#Grammar
"""
name = 'Zig'
+ url = 'http://www.ziglang.org'
aliases = ['zig']
filenames = ['*.zig']
mimetypes = ['text/zig']