: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>`_ * `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/>`_ * `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/>`_ * `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/>`_ * `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) * `QBasic <https://en.wikipedia.org/wiki/QBasic>`_ * `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/>`_ * `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) * `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 * `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>`_. Note: the languages listed here are supported in the development version. The latest release may lack a few of them.