summaryrefslogtreecommitdiff
path: root/docs/src/lexers.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/src/lexers.txt')
-rw-r--r--docs/src/lexers.txt521
1 files changed, 521 insertions, 0 deletions
diff --git a/docs/src/lexers.txt b/docs/src/lexers.txt
new file mode 100644
index 00000000..5fd8b19e
--- /dev/null
+++ b/docs/src/lexers.txt
@@ -0,0 +1,521 @@
+.. -*- mode: rst -*-
+
+================
+Available lexers
+================
+
+This page lists all available builtin lexers and the options they take.
+
+Currently, **all lexers** support these options:
+
+`stripnl`
+ Strip leading and trailing newlines from the input (default: ``True``)
+
+`stripall`
+ Strip all leading and trailing whitespace from the input (default:
+ ``False``).
+
+`tabsize`
+ If given and greater than 0, expand tabs in the input (default: ``0``).
+
+
+These lexers are builtin and can be imported from
+`pygments.lexers`:
+
+
+Special lexers
+==============
+
+`TextLexer`
+
+ "Null" lexer, doesn't highlight anything.
+
+ :Aliases: ``text``
+ :Filename patterns: ``*.txt``
+
+
+`RawTokenLexer`
+
+ Recreates a token stream formatted with the `RawTokenFormatter`.
+
+ Additional option:
+
+ `compress`
+ If set to ``'gz'`` or ``'bz2'``, decompress the token stream with
+ the given compression algorithm before lexing (default: '').
+
+ :Aliases: ``raw``
+ :Filename patterns: ``*.raw``
+
+
+Agile languages
+===============
+
+`PythonLexer`
+
+ For `Python <http://www.python.org>`_ source code.
+
+ :Aliases: ``python``, ``py``
+ :Filename patterns: ``*.py``, ``*.pyw``
+
+
+`PythonConsoleLexer`
+
+ For Python console output or doctests, such as:
+
+ .. sourcecode:: pycon
+
+ >>> a = 'foo'
+ >>> print a
+ 'foo'
+ >>> 1/0
+ Traceback (most recent call last):
+ ...
+
+ :Aliases: ``pycon``
+ :Filename patterns: None
+
+
+`RubyLexer`
+
+ For `Ruby <http://www.ruby-lang.org>`_ source code.
+
+ :Aliases: ``ruby``, ``rb``
+ :Filename patterns: ``*.rb``
+
+
+`RubyConsoleLexer`
+
+ For Ruby interactive console (**irb**) output like:
+
+ .. sourcecode:: rbcon
+
+ irb(main):001:0> a = 1
+ => 1
+ irb(main):002:0> puts a
+ 1
+ => nil
+
+ :Aliases: ``rbcon``, ``irb``
+ :Filename patterns: None
+
+
+`PerlLexer`
+
+ For `Perl <http://www.perl.org>`_ source code.
+
+ :Aliases: ``perl``, ``pl``
+ :Filename patterns: ``*.pl``, ``*.pm``
+
+
+`LuaLexer`
+
+ For `Lua <http://www.lua.org>`_ source code.
+
+ Additional options:
+
+ `func_name_highlighting`
+ If given and ``True``, highlight builtin function names
+ (default: ``True``).
+ `disabled_modules`
+ If given, must be a list of module names whose function names
+ should not be highlighted. By default all modules are highlighted.
+
+ To get a list of allowed modules have a look into the
+ `_luabuiltins` module:
+
+ .. sourcecode:: pycon
+
+ >>> from pygments.lexers._luabuiltins import MODULES
+ >>> MODULES.keys()
+ ['string', 'coroutine', 'modules', 'io', 'basic', ...]
+
+ :Aliases: ``lua``
+ :Filename patterns: ``*.lua``
+
+
+Compiled languages
+==================
+
+`CLexer`
+
+ For C source code with preprocessor directives.
+
+ :Aliases: ``c``
+ :Filename patterns: ``*.c``, ``*.h``
+
+
+`CppLexer`
+
+ For C++ source code with preprocessor directives.
+
+ :Aliases: ``cpp``, ``c++``
+ :Filename patterns: ``*.cpp``, ``*.hpp``, ``*.c++``, ``*.h++``
+
+
+`DelphiLexer`
+
+ For `Delphi <http://www.borland.com/delphi/>`_
+ (Borland Object Pascal) source code.
+
+ :Aliases: ``delphi``, ``pas``, ``pascal``, ``objectpascal``
+ :Filename patterns: ``*.pas``
+
+
+`JavaLexer`
+
+ For `Java <http://www.sun.com/java/>`_ source code.
+
+ :Aliases: ``java``
+ :Filename patterns: ``*.java``
+
+
+.NET languages
+==============
+
+`CSharpLexer`
+
+ For `C# <http://msdn2.microsoft.com/en-us/vcsharp/default.aspx>`_
+ source code.
+
+ :Aliases: ``c#``, ``csharp``
+ :Filename patterns: ``*.cs``
+
+`BooLexer`
+
+ For `Boo <http://boo.codehaus.org/>`_ source code.
+
+ :Aliases: ``boo``
+ :Filename patterns: ``*.boo``
+
+`VbNetLexer`
+
+ For
+ `Visual Basic.NET <http://msdn2.microsoft.com/en-us/vbasic/default.aspx>`_
+ source code.
+
+ :Aliases: ``vbnet``, ``vb.net``
+ :Filename patterns: ``*.vb``, ``*.bas``
+
+
+Web-related languages
+=====================
+
+`JavascriptLexer`
+
+ For JavaScript source code.
+
+ :Aliases: ``js``, ``javascript``
+ :Filename patterns: ``*.js``
+
+
+`CssLexer`
+
+ For CSS (Cascading Style Sheets).
+
+ :Aliases: ``css``
+ :Filename patterns: ``*.css``
+
+
+`HtmlLexer`
+
+ For HTML 4 and XHTML 1 markup. Nested JavaScript and CSS is highlighted
+ by the appropriate lexer.
+
+ :Aliases: ``html``
+ :Filename patterns: ``*.html``, ``*.htm``, ``*.xhtml``
+
+
+`PhpLexer`
+
+ For `PHP <http://www.php.net/>`_ source code.
+ For PHP embedded in HTML, use the `HtmlPhpLexer`.
+
+ Additional options:
+
+ `startinline`
+ If given and ``True`` the lexer starts highlighting with
+ php code. (i.e.: no starting ``<?php`` required)
+ `funcnamehighlighting`
+ If given and ``True``, highlight builtin function names
+ (default: ``True``).
+ `disabledmodules`
+ If given, must be a list of module names whose function names
+ should not be highlighted. By default all modules are highlighted
+ except the special ``'unknown'`` module that includes functions
+ that are known to php but are undocumented.
+
+ To get a list of allowed modules have a look into the
+ `_phpbuiltins` module:
+
+ .. sourcecode:: pycon
+
+ >>> from pygments.lexers._phpbuiltins import MODULES
+ >>> MODULES.keys()
+ ['PHP Options/Info', 'Zip', 'dba', ...]
+
+ In fact the names of those modules match the module names from
+ the php documentation.
+
+ :Aliases: ``php``, ``php3``, ``php4``, ``php5``
+ :Filename patterns: ``*.php``, ``*.php[345]``
+
+
+`XmlLexer`
+
+ Generic lexer for XML (extensible markup language).
+
+ :Aliases: ``xml``
+ :Filename patterns: ``*.xml``
+
+
+Template languages
+==================
+
+`ErbLexer`
+
+ Generic `ERB <http://ruby-doc.org/core/classes/ERB.html>`_ (Ruby Templating)
+ lexer.
+
+ Just highlights ruby code between the preprocessor directives, other data
+ is left untouched by the lexer.
+
+ All options are also forwarded to the `RubyLexer`.
+
+ :Aliases: ``erb``
+ :Filename patterns: None
+
+
+`RhtmlLexer`
+
+ Subclass of the ERB lexer that highlights the unlexed data with the
+ html lexer.
+
+ Nested Javascript and CSS is highlighted too.
+
+ :Aliases: ``rhtml``, ``html+erb``, ``html+ruby``
+ :Filename patterns: ``*.rhtml``
+
+
+`XmlErbLexer`
+
+ Subclass of `ErbLexer` which highlights data outside preprocessor
+ directives with the `XmlLexer`.
+
+ :Aliases: ``xml+erb``, ``xml+ruby``
+ :Filename patterns: None
+
+
+`CssErbLexer`
+
+ Subclass of `ErbLexer` which highlights unlexed data with the `CssLexer`.
+
+ :Aliases: ``css+erb``, ``css+ruby``
+ :Filename patterns: None
+
+
+`JavascriptErbLexer`
+
+ Subclass of `ErbLexer` which highlights unlexed data with the
+ `JavascriptLexer`.
+
+ :Aliases: ``js+erb``, ``javascript+erb``, ``js+ruby``, ``javascript+ruby``
+ :Filename patterns: None
+
+
+`HtmlPhpLexer`
+
+ Subclass of `PhpLexer` that highlights unhandled data with the `HtmlLexer`.
+
+ Nested Javascript and CSS is highlighted too.
+
+ :Aliases: ``html+php``
+ :Filename patterns: ``*.phtml``
+
+
+`XmlPhpLexer`
+
+ Subclass of `PhpLexer` that higlights unhandled data with the `XmlLexer`.
+
+ :Aliases: ``xml+php``
+ :Filename patterns: None
+
+
+`CssPhpLexer`
+
+ Subclass of `PhpLexer` which highlights unmatched data with the `CssLexer`.
+
+ :Aliases: ``css+php``
+ :Filename patterns: None
+
+
+`JavascriptPhpLexer`
+
+ Subclass of `PhpLexer` which highlights unmatched data with the
+ `JavascriptLexer`.
+
+ :Aliases: ``js+php``, ``javascript+php``
+ :Filename patterns: None
+
+
+`DjangoLexer`
+
+ Generic `django <http://www.djangoproject.com/documentation/templates/>`_
+ template lexer.
+
+ It just highlights django code between the preprocessor directives, other
+ data is left untouched by the lexer.
+
+ :Aliases: ``django``
+ :Filename patterns: None
+
+
+`HtmlDjangoLexer`
+
+ Subclass of the `DjangoLexer` that highighlights unlexed data with the
+ `HtmlLexer`.
+
+ Nested Javascript and CSS is highlighted too.
+
+ :Aliases: ``html+django``
+ :Filename patterns: None
+
+
+`XmlDjangoLexer`
+
+ Subclass of the `DjangoLexer` that highlights unlexed data with the
+ `XmlLexer`.
+
+ :Aliases: ``xml+django``
+ :Filename patterns: None
+
+
+`CssDjangoLexer`
+
+ Subclass of the `DjangoLexer` that highlights unlexed data with the
+ `CssLexer`.
+
+ :Aliases: ``css+django``
+ :Filename patterns: None
+
+
+`JavascriptDjangoLexer`
+
+ Subclass of the `DjangoLexer` that highlights unlexed data with the
+ `JavascriptLexer`.
+
+ :Aliases: ``javascript+django``
+ :Filename patterns: None
+
+
+`SmartyLexer`
+
+ Generic `Smarty <http://smarty.php.net/>`_ template lexer.
+
+ Just highlights smarty code between the preprocessor directives, other
+ data is left untouched by the lexer.
+
+ :Aliases: ``smarty``
+ :Filename patterns: None
+
+
+`HtmlSmartyLexer`
+
+ Subclass of the `SmartyLexer` that highighlights unlexed data with the
+ `HtmlLexer`.
+
+ Nested Javascript and CSS is highlighted too.
+
+ :Aliases: ``html+smarty``
+ :Filename patterns: None
+
+
+`XmlSmartyLexer`
+
+ Subclass of the `SmartyLexer` that highlights unlexed data with the
+ `XmlLexer`.
+
+ :Aliases: ``xml+smarty``
+ :Filename patterns: None
+
+
+`CssSmartyLexer`
+
+ Subclass of the `SmartyLexer` that highlights unlexed data with the
+ `CssLexer`.
+
+ :Aliases: ``css+smarty``
+ :Filename patterns: None
+
+
+`JavascriptSmartyLexer`
+
+ Subclass of the `SmartyLexer` that highlights unlexed data with the
+ `JavascriptLexer`.
+
+ :Aliases: ``javascript+smarty``
+ :Filename patterns: None
+
+
+Other languages
+===============
+
+`SqlLexer`
+
+ Lexer for Structured Query Language. Currently, this lexer does
+ not recognize any special syntax except ANSI SQL.
+
+ :Aliases: ``sql``
+ :Filename patterns: ``*.sql``
+
+
+`BrainfuckLexer`
+
+ Lexer for the esoteric `BrainFuck <http://www.muppetlabs.com/~breadbox/bf/>`_
+ language.
+
+ :Aliases: ``brainfuck``
+ :Filename patterns: ``*.bf``, ``*.b``
+
+
+Text lexers
+===========
+
+`IniLexer`
+
+ Lexer for configuration files in INI style.
+
+ :Aliases: ``ini``, ``cfg``
+ :Filename patterns: ``*.ini``, ``*.cfg``
+
+
+`MakefileLexer`
+
+ Lexer for Makefiles.
+
+ :Aliases: ``make``, ``makefile``, ``mf``
+ :Filename patterns: ``*.mak``, ``Makefile``, ``makefile``
+
+
+`DiffLexer`
+
+ Lexer for unified or context-style diffs.
+
+ :Aliases: ``diff``
+ :Filename patterns: ``*.diff``, ``*.patch``
+
+
+`IrcLogsLexer`
+
+ Lexer for IRC logs in **irssi** or **xchat** style.
+
+ :Aliases: ``irc``
+ :Filename patterns: None
+
+
+`TexLexer`
+
+ Lexer for the TeX and LaTeX typesetting languages.
+
+ :Aliases: ``tex``, ``latex``
+ :Filename patterns: ``*.tex``, ``*.aux``, ``*.toc``