- Home
- Languages
- Styles
- FAQ
- Get it
- Docs

# Languages

Name | Extension(s) | Short name(s) | Lexer class
--- | --- | --- | ---
ABAP | *.abap, *.ABAP | abap | `ABAPLexer`
ABNF | *.abnf | abnf | `AbnfLexer`
ActionScript | *.as | actionscript, as | `ActionScriptLexer`
ActionScript 3 | *.as | actionscript3, as3 | `ActionScript3Lexer`
Ada | *.adb, *.ads, *.ada | ada, ada95, ada2005 | `AdaLexer`
ADL | *.adl, *.adls, *.adlf, *.adlx | adl | `AdlLexer`
Agda | *.agda | agda | `AgdaLexer`
Aheui | *.aheui | aheui | `AheuiLexer`
Alloy | *.als | alloy | `AlloyLexer`
AmbientTalk | *.at | ambienttalk, ambienttalk/2, at | `AmbientTalkLexer`
AMDGPU | *.isa | amdgpu | `AMDGPULexer`
Ampl | *.run | ampl | `AmplLexer`
Angular2 | None | ng2 | `Angular2Lexer`
ANSYS parametric design language | *.ans | ansys, apdl | `apdlexer`
ANTLR | None | antlr | `AntlrLexer`
ANTLR With ActionScript Target | *.G, *.g | antlr-actionscript, antlr-as | `AntlrActionScriptLexer`
ANTLR With C# Target | *.G, *.g | antlr-csharp, antlr-c# | `AntlrCSharpLexer`
ANTLR With CPP Target | *.G, *.g | antlr-cpp | `AntlrCppLexer`
ANTLR With Java Target | *.G, *.g | antlr-java | `AntlrJavaLexer`
ANTLR With ObjectiveC Target | *.G, *.g | antlr-objc | `AntlrObjectiveCLexer`
ANTLR With Perl Target | *.G, *.g | antlr-perl | `AntlrPerlLexer`
ANTLR With Python Target | *.G, *.g | antlr-python | `AntlrPythonLexer`
ANTLR With Ruby Target | *.G, *.g | antlr-ruby, antlr-rb | `AntlrRubyLexer`
ApacheConf | .htaccess, apache.conf, apache2.conf | apacheconf, aconf, apache | `ApacheConfLexer`
APL | *.apl, *.aplf, *.aplo, *.apln, *.aplc, *.apli, *.dyalog | apl | `APLLexer`
AppleScript | *.applescript | applescript | `AppleScriptLexer`
Arduino | *.ino | arduino | `ArduinoLexer`
Arrow | *.arw | arrow | `ArrowLexer`
Arturo | *.art | arturo, art | `ArturoLexer`
ASCII armored | *.asc, *.pem, iddsa, idecdsa, idecdsask, ided25519, ided25519sk, idrsa | asc, pem | `AscLexer`
ASN.1 | *.asn1 | asn1 | `Asn1Lexer`
AspectJ | *.aj | aspectj | `AspectJLexer`
aspx-cs | *.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd | aspx-cs | `CSharpAspxLexer`
aspx-vb | *.aspx, *.asax, *.ascx, *.ashx, *.asmx, *.axd | aspx-vb | `VbNetAspxLexer`
Asymptote | *.asy | asymptote, asy | `AsymptoteLexer`
Augeas | *.aug | augeas | `AugeasLexer`
autohotkey | *.ahk, *.ahkl | autohotkey, ahk | `AutohotkeyLexer`
AutoIt | *.au3 | autoit | `AutoItLexer`
Awk | *.awk | awk, gawk, mawk, nawk | `AwkLexer`
BARE | *.bare | bare | `BareLexer`
Base Makefile | None | basemake | `BaseMakefileLexer`
Bash | *.sh, *.ksh, *.bash, *.ebuild, *.eclass, *.exheres-0, *.exlib, *.zsh, .bashrc, bashrc, .bash\*, bash\*, zshrc, .zshrc, .kshrc, kshrc, PKGBUILD | bash, sh, ksh, zsh, shell, openrc | `BashLexer`
Bash Session | *.sh-session, *.shell-session | console, shell-session | `BashSessionLexer`
Batchfile | *.bat, *.cmd | batch, bat, dosbatch, winbatch | `BatchLexer`
BBC Basic | *.bbc | bbcbasic | `BBCBasicLexer`
BBCode | None | bbcode | `BBCodeLexer`
BC | *.bc | bc | `BCLexer`
Bdd | *.feature | bdd | `BddLexer`
Befunge | *.befunge | befunge | `BefungeLexer`
Berry | *.be | berry, be | `BerryLexer`
BibTeX | *.bib | bibtex, bib | `BibTeXLexer`
BlitzBasic | *.bb, *.decls | blitzbasic, b3d, bplus | `BlitzBasicLexer`
BlitzMax | *.bmx | blitzmax, bmax | `BlitzMaxLexer`
Blueprint | *.blp | blueprint | `BlueprintLexer`
BNF | *.bnf | bnf | `BnfLexer`
Boa | *.boa | boa | `BoaLexer`
Boo | *.boo | boo | `BooLexer`
Boogie | *.bpl | boogie | `BoogieLexer`
BQN | *.bqn | bqn | `BQNLexer`
Brainfuck | *.bf, *.b | brainfuck, bf | `BrainfuckLexer`
BST | *.bst | bst, bst-pybtex | `BSTLexer`
BUGS | *.bug | bugs, winbugs, openbugs | `BugsLexer`
C | *.c, *.h, *.idc, *.x[bp]m | c | `CLexer`
C# | *.cs | csharp, c#, cs | `CSharpLexer`
C++ | *.cpp, *.hpp, *.c++, *.h++, *.cc, *.hh, *.cxx, *.hxx, *.C, *.H, *.cp, *.CPP, *.tpp | cpp, c++ | `CppLexer`
c-objdump | *.c-objdump | c-objdump | `CObjdumpLexer`
ca65 assembler | *.s | ca65 | `Ca65Lexer`
cADL | *.cadl | cadl | `CadlLexer`
CAmkES | *.camkes, *.idl4 | camkes, idl4 | `CAmkESLexer`
Cap’n Proto | *.capnp | capnp | `CapnProtoLexer`
CapDL | *.cdl | capdl | `CapDLLexer`
Carbon | *.carbon | carbon | `CarbonLexer`
CBM BASIC V2 | *.bas | cbmbas | `CbmBasicV2Lexer`
CDDL | *.cddl | cddl | `CddlLexer`
Ceylon | *.ceylon | ceylon | `CeylonLexer`
CFEngine3 | *.cf | cfengine3, cf3 | `Cfengine3Lexer`
cfstatement | None | cfs | `ColdfusionLexer`
ChaiScript | *.chai | chaiscript, chai | `ChaiscriptLexer`
Chapel | *.chpl | chapel, chpl | `ChapelLexer`
Charmci | *.ci | charmci | `CharmciLexer`
Cheetah | *.tmpl, *.spt | cheetah, spitfire | `CheetahLexer`
Cirru | *.cirru | cirru | `CirruLexer`
Clay | *.clay | clay | `ClayLexer`
Clean | *.icl, *.dcl | clean | `CleanLexer`
Clojure | *.clj, *.cljc | clojure, clj | `ClojureLexer`
ClojureScript | *.cljs | clojurescript, cljs | `ClojureScriptLexer`
CMake | *.cmake, CMakeLists.txt | cmake | `CMakeLexer`
COBOL | *.cob, *.COB, *.cpy, *.CPY | cobol | `CobolLexer`
COBOLFree | *.cbl, *.CBL | cobolfree | `CobolFreeformatLexer`
CodeQL | *.ql, *.qll | codeql, ql | `CodeQLLexer`
CoffeeScript | *.coffee | coffeescript, coffee-script, coffee | `CoffeeScriptLexer`
Coldfusion CFC | *.cfc | cfc | `ColdfusionCFCLexer`
Coldfusion HTML | *.cfm, *.cfml | cfm | `ColdfusionHtmlLexer`
COMAL-80 | *.cml, *.comal | comal, comal80 | `Comal80Lexer`
Common Lisp | *.cl, *.lisp | common-lisp, cl, lisp | `CommonLispLexer`
Component Pascal | *.cp, *.cps | componentpascal, cp | `ComponentPascalLexer`
Coq | *.v | coq | `CoqLexer`
cplint | *.ecl, *.prolog, *.pro, *.pl, *.P, *.lpad, *.cpl | cplint | `CplintLexer`
cpp-objdump | *.cpp-objdump, *.c++-objdump, *.cxx-objdump | cpp-objdump, c++-objdumb, cxx-objdump | `CppObjdumpLexer`
CPSA | *.cpsa | cpsa | `CPSALexer`
Crmsh | *.crmsh, *.pcmk | crmsh, pcmk | `CrmshLexer`
Croc | *.croc | croc | `CrocLexer`
Cryptol | *.cry | cryptol, cry | `CryptolLexer`
Crystal | *.cr | cr, crystal | `CrystalLexer`
Csound Document | *.csd | csound-document, csound-csd | `CsoundDocumentLexer`
Csound Orchestra | *.orc, *.udo | csound, csound-orc | `CsoundOrchestraLexer`
Csound Score | *.sco | csound-score, csound-sco | `CsoundScoreLexer`
CSS | *.css | css | `CssLexer`
CSS+Django/Jinja | *.css.j2, *.css.jinja2, *.css | css+django, css+jinja | `CssDjangoLexer`
CSS+Genshi Text | *.css | css+genshitext, css+genshi | `CssGenshiLexer`
CSS+Lasso | *.css | css+lasso | `LassoCssLexer`
CSS+Mako | None | css+mako | `MakoCssLexer`
CSS+mozpreproc | *.css.in | css+mozpreproc | `MozPreprocCssLexer`
CSS+Myghty | None | css+myghty | `MyghtyCssLexer`
CSS+PHP | *.css | css+php | `CssPhpLexer`
CSS+Ruby | *.css | css+ruby, css+erb | `CssErbLexer`
CSS+Smarty | *.css, *.tpl | css+smarty | `CssSmartyLexer`
CSS+UL4 | *.cssul4 | css+ul4 | `CSSUL4Lexer`
CUDA | *.cu, *.cuh | cuda, cu | `CudaLexer`
Cypher | *.cyp, *.cypher | cypher | `CypherLexer`
Cython | *.pyx, *.pxd, *.pxi | cython, pyx, pyrex | `CythonLexer`
D | *.d, *.di | d | `DLexer`
d-objdump | *.d-objdump | d-objdump | `DObjdumpLexer`
Darcs Patch | *.dpatch, *.darcspatch | dpatch | `DarcsPatchLexer`
Dart | *.dart | dart | `DartLexer`
DASM16 | *.dasm16, *.dasm | dasm16 | `Dasm16Lexer`
Dax | *.dax | dax | `DaxLexer`
Debian Control file | control | debcontrol, control | `DebianControlLexer`
Debian Sourcelist | sources.list | debsources, sourceslist, sources.list | `SourcesListLexer`
Debian Sources file | *.sources | debian.sources | `DebianSourcesLexer`
Delphi | *.pas, *.dpr | delphi, pas, pascal, objectpascal | `DelphiLexer`
Desktop file | *.desktop | desktop | `DesktopLexer`
Devicetree | *.dts, *.dtsi | devicetree, dts | `DevicetreeLexer`
dg | *.dg | dg | `DgLexer`
Diff | *.diff, *.patch | diff, udiff | `DiffLexer`
Django/Jinja | None | django, jinja | `DjangoLexer`
Docker | Dockerfile, *.docker | docker, dockerfile | `DockerLexer`
DTD | *.dtd | dtd | `DtdLexer`
Duel | *.duel, *.jbst | duel, jbst, jsonml+bst | `DuelLexer`
Dylan | *.dylan, *.dyl, *.intr | dylan | `DylanLexer`
Dylan session | *.dylan-console | dylan-console, dylan-repl | `DylanConsoleLexer`
DylanLID | *.lid, *.hdp | dylan-lid, lid | `DylanLidLexer`
E-mail | *.eml | email, eml | `EmailLexer`
Earl Grey | *.eg | earl-grey, earlgrey, eg | `EarlGreyLexer`
Easytrieve | *.ezt, *.mac | easytrieve | `EasytrieveLexer`
EBNF | *.ebnf | ebnf | `EbnfLexer`
eC | *.ec, *.eh | ec | `ECLexer`
ECL | *.ecl | ecl | `ECLLexer`
Eiffel | *.e | eiffel | `EiffelLexer`
Elixir | *.ex, *.eex, *.exs, *.leex | elixir, ex, exs | `ElixirLexer`
Elixir iex session | None | iex | `ElixirConsoleLexer`
Elm | *.elm | elm | `ElmLexer`
Elpi | *.elpi | elpi | `ElpiLexer`
EmacsLisp | *.el | emacs-lisp, elisp, emacs | `EmacsLispLexer`
Embedded Ragel | *.rl | ragel-em | `RagelEmbeddedLexer`
ERB | None | erb | `ErbLexer`
Erlang | *.erl, *.hrl, *.es, *.escript | erlang | `ErlangLexer`
Erlang erl session | *.erl-sh | erl | `ErlangShellLexer`
Evoque | *.evoque | evoque | `EvoqueLexer`
execline | *.exec | execline | `ExeclineLexer`
Ezhil | *.n | ezhil | `EzhilLexer`
F# | *.fs, *.fsi, *.fsx | fsharp, f# | `FSharpLexer`
Factor | *.factor | factor | `FactorLexer`
Fancy | *.fy, *.fancypack | fancy, fy | `FancyLexer`
Fantom | *.fan | fan | `FantomLexer`
Felix | *.flx, *.flxh | felix, flx | `FelixLexer`
Fennel | *.fnl | fennel, fnl | `FennelLexer`
Fift | *.fif | fift, fif | `FiftLexer`
Fish | *.fish, *.load | fish, fishshell | `FishShellLexer`
Flatline | None | flatline | `FlatlineLexer`
FloScript | *.flo | floscript, flo | `FloScriptLexer`
Forth | *.frt, *.fs | forth | `ForthLexer`
Fortran | *.f03, *.f90, *.F03, *.F90 | fortran, f90 | `FortranLexer`
FortranFixed | *.f, *.F | fortranfixed | `FortranFixedLexer`
FoxPro | *.PRG, *.prg | foxpro, vfp, clipper, xbase | `FoxProLexer`
Freefem | *.edp | freefem | `FreeFemLexer`
FStar | *.fst, *.fsti | fstar | `FStarLexer`
FunC | *.fc, *.func | func, fc | `FuncLexer`
Futhark | *.fut | futhark | `FutharkLexer`
g-code | *.gcode | gcode | `GcodeLexer`
GAP | *.g, *.gd, *.gi, *.gap | gap | `GAPLexer`
GAP session | *.tst | gap-console, gap-repl | `GAPConsoleLexer`
GAS | *.s, *.S | gas, asm | `GasLexer`
GDScript | *.gd | gdscript, gd | `GDScriptLexer`
Genshi | *.kid, *.xml | genshi, kid, xml+genshi, xml+kid | `GenshiLexer`
Genshi Text | None | genshitext | `GenshiTextLexer`
Gettext Catalog | *.pot, *.po | pot, po | `GettextLexer`
Gherkin | *.feature | gherkin, cucumber | `GherkinLexer`
Gleam | *.gleam | gleam | `GleamLexer`
GLSL | *.vert, *.frag, *.geo | glsl | `GLShaderLexer`
Gnuplot | *.plot, *.plt | gnuplot | `GnuplotLexer`
Go | *.go | go, golang | `GoLexer`
Golo | *.golo | golo | `GoloLexer`
GoodData-CL | *.gdc | gooddata-cl | `GoodDataCLLexer`
GoogleSQL | *.googlesql, *.googlesql.sql | googlesql, zetasql | `GoogleSqlLexer`
Gosu | *.gs, *.gsx, *.gsp, *.vark | gosu | `GosuLexer`
Gosu Template | *.gst | gst | `GosuTemplateLexer`
GraphQL | *.graphql | graphql | `GraphQLLexer`
Graphviz | *.gv, *.dot | graphviz, dot | `GraphvizLexer`
Groff | *.[1-9], *.man, *.1p, *.3pm | groff, nroff, man | `GroffLexer`
Groovy | *.groovy, *.gradle | groovy | `GroovyLexer`
GSQL | *.gsql | gsql | `GSQLLexer`
Haml | *.haml | haml | `HamlLexer`
Handlebars | None | handlebars | `HandlebarsLexer`
Hare | *.ha | hare | `HareLexer`
Haskell | *.hs | haskell, hs | `HaskellLexer`
Haxe | *.hx, *.hxsl | haxe, hxsl, hx | `HaxeLexer`
Hexdump | None | hexdump | `HexdumpLexer`
HLSL | *.hlsl, *.hlsli | hlsl | `HLSLShaderLexer`
HSAIL | *.hsail | hsail, hsa | `HsailLexer`
Hspec | *Spec.hs | hspec | `HspecLexer`
HTML | *.html, *.htm, *.xhtml, *.xslt | html | `HtmlLexer`
HTML + Angular2 | *.ng2 | html+ng2 | `Angular2HtmlLexer`
HTML+Cheetah | None | html+cheetah, html+spitfire, htmlcheetah | `CheetahHtmlLexer`
HTML+Django/Jinja | *.html.j2, *.htm.j2, *.xhtml.j2, *.html.jinja2, *.htm.jinja2, *.xhtml.jinja2, *.html, *.htm, *.xhtml | html+django, html+jinja, htmldjango | `HtmlDjangoLexer`
HTML+Evoque | *.html | html+evoque | `EvoqueHtmlLexer`
HTML+Genshi | *.html, *.htm, *.xhtml | html+genshi, html+kid | `HtmlGenshiLexer`
HTML+Handlebars | *.handlebars, *.hbs | html+handlebars | `HandlebarsHtmlLexer`
HTML+Lasso | *.html, *.htm, *.xhtml, *.lasso, *.lasso[89], *.incl, *.inc, *.las | html+lasso | `LassoHtmlLexer`
HTML+Mako | None | html+mako | `MakoHtmlLexer`
HTML+Myghty | None | html+myghty | `MyghtyHtmlLexer`
HTML+PHP | *.phtml, *.php, *.html, *.htm, *.xhtml, *.php[345] | html+php | `HtmlPhpLexer`
HTML+Smarty | *.html, *.htm, *.xhtml, *.tpl | html+smarty | `HtmlSmartyLexer`
HTML+Twig | *.twig | html+twig | `TwigHtmlLexer`
HTML+UL4 | *.htmlul4 | html+ul4 | `HTMLUL4Lexer`
HTML+Velocity | *.html, *.fhtml | html+velocity | `VelocityHtmlLexer`
HTTP | None | http | `HttpLexer`
Hxml | *.hxml | haxeml, hxml | `HxmlLexer`
Hy | *.hy | hylang, hy | `HyLexer`
Hybris | *.hyb | hybris | `HybrisLexer`
Icon | *.icon, *.ICON | icon | `IconLexer`
IDL | *.pro | idl | `IDLLexer`
Idris | *.idr | idris, idr | `IdrisLexer`
Igor | *.ipf | igor, igorpro | `IgorLexer`
Inform 6 | *.inf | inform6, i6 | `Inform6Lexer`
Inform 6 template | *.i6t | i6t | `Inform6TemplateLexer`
Inform 7 | *.ni, *.i7x | inform7, i7 | `Inform7Lexer`
INI | *.ini, *.cfg, *.inf, .editorconfig | ini, cfg, dosini | `IniLexer`
Io | *.io | io | `IoLexer`
Ioke | *.ik | ioke, ik | `IokeLexer`
IRC logs | *.weechatlog | irc | `IrcLogsLexer`
Isabelle | *.thy | isabelle | `IsabelleLexer`
J | *.ijs | j | `JLexer`
JAGS | *.jag, *.bug | jags | `JagsLexer`
Janet | *.janet, *.jdn | janet | `JanetLexer`
Jasmin | *.j | jasmin, jasminxt | `JasminLexer`
Java | *.java | java | `JavaLexer`
Java Server Page | *.jsp | jsp | `JspLexer`
JavaScript | *.js, *.jsm, *.mjs, *.cjs | javascript, js | `JavascriptLexer`
JavaScript+Cheetah | None | javascript+cheetah, js+cheetah, javascript+spitfire, js+spitfire | `CheetahJavascriptLexer`
JavaScript+Django/Jinja | *.js.j2, *.js.jinja2, *.js | javascript+django, js+django, javascript+jinja, js+jinja | `JavascriptDjangoLexer`
JavaScript+Genshi Text | *.js | js+genshitext, js+genshi, javascript+genshitext, javascript+genshi | `JavascriptGenshiLexer`
JavaScript+Lasso | *.js | javascript+lasso, js+lasso | `LassoJavascriptLexer`
JavaScript+Mako | None | javascript+mako, js+mako | `MakoJavascriptLexer`
Javascript+mozpreproc | *.js.in | javascript+mozpreproc | `MozPreprocJavascriptLexer`
JavaScript+Myghty | None | javascript+myghty, js+myghty | `MyghtyJavascriptLexer`
JavaScript+PHP | *.js | javascript+php, js+php | `JavascriptPhpLexer`
JavaScript+Ruby | *.js | javascript+ruby, js+ruby, javascript+erb, js+erb | `JavascriptErbLexer`
JavaScript+Smarty | *.js, *.tpl | javascript+smarty, js+smarty | `JavascriptSmartyLexer`
Javascript+UL4 | *.jsul4 | js+ul4 | `JavascriptUL4Lexer`
JCL | *.jcl | jcl | `JclLexer`
JMESPath | *.jp | jmespath, jp | `JMESPathLexer`
JSGF | *.jsgf | jsgf | `JsgfLexer`
JSLT | *.jslt | jslt | `JSLTLexer`
JSON | *.json, *.jsonl, *.ndjson, Pipfile.lock | json, json-object | `JsonLexer`
JSON-LD | *.jsonld | jsonld, json-ld | `JsonLdLexer`
JSON5 | *.json5 | json5 | `Json5Lexer`
JSONBareObject | None |  | `JsonBareObjectLexer`
Jsonnet | *.jsonnet, *.libsonnet | jsonnet | `JsonnetLexer`
JSX | *.jsx, *.react | jsx, react | `JsxLexer`
Julia | *.jl | julia, jl | `JuliaLexer`
Julia console | None | jlcon, julia-repl | `JuliaConsoleLexer`
Juttle | *.juttle | juttle | `JuttleLexer`
K | *.k | k | `KLexer`
Kal | *.kal | kal | `KalLexer`
Kconfig | Kconfig*, *Config.in*, external.in*, standard-modules.in | kconfig, menuconfig, linux-config, kernel-config | `KconfigLexer`
Kernel log | *.kmsg, *.dmesg | kmsg, dmesg | `KernelLogLexer`
Koka | *.kk, *.kki | koka | `KokaLexer`
Kotlin | *.kt, *.kts | kotlin | `KotlinLexer`
Kuin | *.kn | kuin | `KuinLexer`
Kusto | *.kql, *.kusto, .csl | kql, kusto | `KustoLexer`
Lasso | *.lasso, *.lasso[89], *.incl, *.inc, *.las | lasso, lassoscript | `LassoLexer`
LDAP configuration file | .ldaprc, ldaprc, ldap.conf | ldapconf, ldaprc | `LdaprcLexer`
LDIF | *.ldif | ldif | `LdifLexer`
Lean | *.lean | lean, lean3 | `Lean3Lexer`
Lean4 | *.lean | lean4 | `Lean4Lexer`
LessCss | *.less | less | `LessCssLexer`
Lighttpd configuration file | lighttpd.conf | lighttpd, lighty | `LighttpdConfLexer`
LilyPond | *.ly | lilypond | `LilyPondLexer`
Limbo | *.b | limbo | `LimboLexer`
liquid | *.liquid | liquid | `LiquidLexer`
Literate Agda | *.lagda | literate-agda, lagda | `LiterateAgdaLexer`
Literate Cryptol | *.lcry | literate-cryptol, lcryptol, lcry | `LiterateCryptolLexer`
Literate Haskell | *.lhs | literate-haskell, lhaskell, lhs | `LiterateHaskellLexer`
Literate Idris | *.lidr | literate-idris, lidris, lidr | `LiterateIdrisLexer`
LiveScript | *.ls | livescript, live-script | `LiveScriptLexer`
LLVM | *.ll | llvm | `LlvmLexer`
LLVM-MIR | *.mir | llvm-mir | `LlvmMirLexer`
LLVM-MIR Body | None | llvm-mir-body | `LlvmMirBodyLexer`
Logos | *.x, *.xi, *.xm, *.xmi | logos | `LogosLexer`
Logtalk | *.lgt, *.logtalk | logtalk | `LogtalkLexer`
LSL | *.lsl | lsl | `LSLLexer`
Lua | *.lua, *.wlua | lua | `LuaLexer`
Luau | *.luau | luau | `LuauLexer`
Macaulay2 | *.m2 | macaulay2 | `Macaulay2Lexer`
Makefile | *.mak, *.mk, Makefile, makefile, Makefile.*, GNUmakefile | make, makefile, mf, bsdmake | `MakefileLexer`
Mako | *.mao | mako | `MakoLexer`
Maple | *.mpl, *.mi, *.mm | maple | `MapleLexer`
MAQL | *.maql | maql | `MaqlLexer`
Markdown | *.md, *.markdown | markdown, md | `MarkdownLexer`
Mask | *.mask | mask | `MaskLexer`
Mason | *.m, *.mhtml, *.mc, *.mi, autohandler, dhandler | mason | `MasonLexer`
Mathematica | *.nb, *.cdf, *.nbp, *.ma | mathematica, mma, nb | `MathematicaLexer`
Matlab | *.m | matlab | `MatlabLexer`
Matlab session | None | matlabsession | `MatlabSessionLexer`
Maxima | *.mac, *.max | maxima, macsyma | `MaximaLexer`
MCFunction | *.mcfunction | mcfunction, mcf | `MCFunctionLexer`
MCSchema | *.mcschema | mcschema | `MCSchemaLexer`
Meson | meson.build, mesonoptions.txt | meson, meson.build | `MesonLexer`
MIME | None | mime | `MIMELexer`
MiniD | None | minid | `MiniDLexer`
MiniScript | *.ms | miniscript, ms | `MiniScriptLexer`
MIPS | *.mips, *.MIPS | mips | `MIPSLexer`
Modelica | *.mo | modelica | `ModelicaLexer`
Modula-2 | *.def, *.mod | modula2, m2 | `Modula2Lexer`
MoinMoin/Trac Wiki markup | None | trac-wiki, moin | `MoinWikiLexer`
Mojo | *.mojo, *.🔥 | mojo, 🔥 | `MojoLexer`
Monkey | *.monkey | monkey | `MonkeyLexer`
Monte | *.mt | monte | `MonteLexer`
MOOCode | *.moo | moocode, moo | `MOOCodeLexer`
MoonScript | *.moon | moonscript, moon | `MoonScriptLexer`
Mosel | *.mos | mosel | `MoselLexer`
mozhashpreproc | None | mozhashpreproc | `MozPreprocHashLexer`
mozpercentpreproc | None | mozpercentpreproc | `MozPreprocPercentLexer`
MQL | *.mq4, *.mq5, *.mqh | mql, mq4, mq5, mql4, mql5 | `MqlLexer`
Mscgen | *.msc | mscgen, msc | `MscgenLexer`
MSDOS Session | None | doscon | `MSDOSSessionLexer`
MuPAD | *.mu | mupad | `MuPADLexer`
MXML | *.mxml | mxml | `MxmlLexer`
Myghty | *.myt, autodelegate | myghty | `MyghtyLexer`
MySQL | None | mysql | `MySqlLexer`
NASM | *.asm, *.ASM, *.nasm | nasm | `NasmLexer`
NCL | *.ncl | ncl | `NCLLexer`
Nemerle | *.n | nemerle | `NemerleLexer`
nesC | *.nc | nesc | `NesCLexer`
NestedText | *.nt | nestedtext, nt | `NestedTextLexer`
NewLisp | *.lsp, *.nl, *.kif | newlisp | `NewLispLexer`
Newspeak | *.ns2 | newspeak | `NewspeakLexer`
Nginx configuration file | nginx.conf | nginx | `NginxConfLexer`
Nimrod | *.nim, *.nimrod | nimrod, nim | `NimrodLexer`
Nit | *.nit | nit | `NitLexer`
Nix | *.nix | nixos, nix | `NixLexer`
Node.js REPL console session | None | nodejsrepl | `NodeConsoleLexer`
Notmuch | None | notmuch | `NotmuchLexer`
NSIS | *.nsi, *.nsh | nsis, nsi, nsh | `NSISLexer`
Numba_IR | *.numbair | numba_ir, numbair | `NumbaIRLexer`
NumPy | None | numpy | `NumPyLexer`
NuSMV | *.smv | nusmv | `NuSMVLexer`
objdump | *.objdump | objdump | `ObjdumpLexer`
objdump-nasm | *.objdump-intel | objdump-nasm | `NasmObjdumpLexer`
Objective-C | *.m, *.h | objective-c, objectivec, obj-c, objc | `ObjectiveCLexer`
Objective-C++ | *.mm, *.hh | objective-c++, objectivec++, obj-c++, objc++ | `ObjectiveCppLexer`
Objective-J | *.j | objective-j, objectivej, obj-j, objj | `ObjectiveJLexer`
OCaml | *.ml, *.mli, *.mll, *.mly | ocaml | `OcamlLexer`
Octave | *.m | octave | `OctaveLexer`
ODIN | *.odin | odin | `OdinLexer`
OMG Interface Definition Language | *.idl, *.pidl | omg-idl | `OmgIdlLexer`
Ooc | *.ooc | ooc | `OocLexer`
Opa | *.opa | opa | `OpaLexer`
OpenEdge ABL | *.p, *.cls | openedge, abl, progress | `OpenEdgeLexer`
OpenSCAD | *.scad | openscad | `OpenScadLexer`
Org Mode | *.org | org, orgmode, org-mode | `OrgLexer`
PacmanConf | pacman.conf | pacmanconf | `PacmanConfLexer`
Pan | *.pan | pan | `PanLexer`
ParaSail | *.psi, *.psl | parasail | `ParaSailLexer`
Pawn | *.p, *.pwn, *.inc | pawn | `PawnLexer`
PDDL | *.pddl | pddl | `PddlLexer`
PEG | *.peg | peg | `PegLexer`
Perl | *.pl, *.pm, *.t, *.perl | perl, pl | `PerlLexer`
Perl6 | *.pl, *.pm, *.nqp, *.p6, *.6pl, *.p6l, *.pl6, *.6pm, *.p6m, *.pm6, *.t, *.raku, *.rakumod, *.rakutest, *.rakudoc | perl6, pl6, raku | `Perl6Lexer`
Phix | *.exw | phix | `PhixLexer`
PHP | *.php, *.php[345], *.inc | php, php3, php4, php5 | `PhpLexer`
Pig | *.pig | pig | `PigLexer`
Pike | *.pike, *.pmod | pike | `PikeLexer`
PkgConfig | *.pc | pkgconfig | `PkgConfigLexer`
PL/pgSQL | None | plpgsql | `PlPgsqlLexer`
Pointless | *.ptls | pointless | `PointlessLexer`
Pony | *.pony | pony | `PonyLexer`
Portugol | *.alg, *.portugol | portugol | `PortugolLexer`
PostgreSQL console (psql) | None | psql, postgresql-console, postgres-console | `PostgresConsoleLexer`
PostgreSQL EXPLAIN dialect | *.explain | postgres-explain | `PostgresExplainLexer`
PostgreSQL SQL dialect | None | postgresql, postgres | `PostgresLexer`
PostScript | *.ps, *.eps | postscript, postscr | `PostScriptLexer`
POVRay | *.pov, *.inc | pov | `PovrayLexer`
PowerShell | *.ps1, *.psm1 | powershell, pwsh, posh, ps1, psm1 | `PowerShellLexer`
PowerShell Session | None | pwsh-session, ps1con | `PowerShellSessionLexer`
Praat | *.praat, *.proc, *.psc | praat | `PraatLexer`
Procfile | Procfile | procfile | `ProcfileLexer`
Prolog | *.ecl, *.prolog, *.pro, *.pl | prolog | `PrologLexer`
Promela | *.pml, *.prom, *.prm, *.promela, *.pr, *.pm | promela | `PromelaLexer`
PromQL | *.promql | promql | `PromQLLexer`
Properties | *.properties | properties, jproperties | `PropertiesLexer`
Protocol Buffer | *.proto | protobuf, proto | `ProtoBufLexer`
PRQL | *.prql | prql | `PrqlLexer`
PsySH console session for PHP | None | psysh | `PsyshConsoleLexer`
PTX | *.ptx | ptx | `PtxLexer`
Pug | *.pug, *.jade | pug, jade | `PugLexer`
Puppet | *.pp | puppet | `PuppetLexer`
PyPy Log | *.pypylog | pypylog, pypy | `PyPyLogLexer`
Python | *.py, *.pyw, *.pyi, *.jy, *.sage, *.sc, SConstruct, SConscript, *.bzl, BUCK, BUILD, BUILD.bazel, WORKSPACE, *.tac | python, py, sage, python3, py3, bazel, starlark, pyi | `PythonLexer`
Python 2.x | None | python2, py2 | `Python2Lexer`
Python 2.x Traceback | *.py2tb | py2tb | `Python2TracebackLexer`
Python console session | None | pycon, python-console | `PythonConsoleLexer`
Python Traceback | *.pytb, *.py3tb | pytb, py3tb | `PythonTracebackLexer`
Python+UL4 | *.pyul4 | py+ul4 | `PythonUL4Lexer`
Q | *.q | q | `QLexer`
QBasic | *.BAS, *.bas | qbasic, basic | `QBasicLexer`
Qlik | *.qvs, *.qvw | qlik, qlikview, qliksense, qlikscript | `QlikLexer`
QML | *.qml, *.qbs | qml, qbs | `QmlLexer`
QVTO | *.qvto | qvto, qvt | `QVToLexer`
Racket | *.rkt, *.rktd, *.rktl | racket, rkt | `RacketLexer`
Ragel | None | ragel | `RagelLexer`
Ragel in C Host | *.rl | ragel-c | `RagelCLexer`
Ragel in CPP Host | *.rl | ragel-cpp | `RagelCppLexer`
Ragel in D Host | *.rl | ragel-d | `RagelDLexer`
Ragel in Java Host | *.rl | ragel-java | `RagelJavaLexer`
Ragel in Objective C Host | *.rl | ragel-objc | `RagelObjectiveCLexer`
Ragel in Ruby Host | *.rl | ragel-ruby, ragel-rb | `RagelRubyLexer`
Raw token data | None |  | `RawTokenLexer`
RConsole | *.Rout | rconsole, rout | `RConsoleLexer`
Rd | *.Rd | rd | `RdLexer`
ReasonML | *.re, *.rei | reasonml, reason | `ReasonLexer`
REBOL | *.r, *.r3, *.reb | rebol | `RebolLexer`
Red | *.red, *.reds | red, red/system | `RedLexer`
Redcode | *.cw | redcode | `RedcodeLexer`
reg | *.reg | registry | `RegeditLexer`
Rego | *.rego | rego | `RegoLexer`
Relax-NG Compact | *.rnc | rng-compact, rnc | `RNCCompactLexer`
ResourceBundle | None | resourcebundle, resource | `ResourceLexer`
reStructuredText | *.rst, *.rest | restructuredtext, rst, rest | `RstLexer`
Rexx | *.rexx, *.rex, *.rx, *.arexx | rexx, arexx | `RexxLexer`
RHTML | *.rhtml, *.html, *.htm, *.xhtml | rhtml, html+erb, html+ruby | `RhtmlLexer`
Ride | *.ride | ride | `RideLexer`
Rita | *.rita | rita | `RitaLexer`
Roboconf Graph | *.graph | roboconf-graph | `RoboconfGraphLexer`
Roboconf Instances | *.instances | roboconf-instances | `RoboconfInstancesLexer`
RobotFramework | *.robot, *.resource | robotframework | `RobotFrameworkLexer`
RPMSpec | *.spec | spec | `RPMSpecLexer`
RQL | *.rql | rql | `RqlLexer`
RSL | *.rsl | rsl | `RslLexer`
Ruby | *.rb, *.rbw, Rakefile, *.rake, *.gemspec, *.rbx, *.duby, Gemfile, Vagrantfile | ruby, rb, duby | `RubyLexer`
Ruby irb session | None | rbcon, irb | `RubyConsoleLexer`
Rust | *.rs, *.rs.in | rust, rs | `RustLexer`
S | *.S, *.R, .Rhistory, .Rprofile, .Renviron | splus, s, r | `SLexer`
SARL | *.sarl | sarl | `SarlLexer`
SAS | *.SAS, *.sas | sas | `SASLexer`
Sass | *.sass | sass | `SassLexer`
Savi | *.savi | savi | `SaviLexer`
Scala | *.scala | scala | `ScalaLexer`
Scalate Server Page | *.ssp | ssp | `SspLexer`
Scaml | *.scaml | scaml | `ScamlLexer`
scdoc | *.scd, *.scdoc | scdoc, scd | `ScdocLexer`
Scheme | *.scm, *.ss | scheme, scm | `SchemeLexer`
Scilab | *.sci, *.sce, *.tst | scilab | `ScilabLexer`
SCSS | *.scss | scss | `ScssLexer`
Sed | *.sed, *.[gs]sed | sed, gsed, ssed | `SedLexer`
Shen | *.shen | shen | `ShenLexer`
ShExC | *.shex | shexc, shex | `ShExCLexer`
Sieve | *.siv, *.sieve | sieve | `SieveLexer`
Silver | *.sil, *.vpr | silver | `SilverLexer`
Singularity | *.def, Singularity | singularity | `SingularityLexer`
Slash | *.sla | slash | `SlashLexer`
Slim | *.slim | slim | `SlimLexer`
Slurm | *.sl | slurm, sbatch | `SlurmBashLexer`
Smali | *.smali | smali | `SmaliLexer`
Smalltalk | *.st | smalltalk, squeak, st | `SmalltalkLexer`
SmartGameFormat | *.sgf | sgf | `SmartGameFormatLexer`
Smarty | *.tpl | smarty | `SmartyLexer`
Smithy | *.smithy | smithy | `SmithyLexer`
SNBT | *.snbt | snbt | `SNBTLexer`
Snobol | *.snobol | snobol | `SnobolLexer`
Snowball | *.sbl | snowball | `SnowballLexer`
Solidity | *.sol | solidity | `SolidityLexer`
Soong | Android.bp | androidbp, bp, soong | `SoongLexer`
Sophia | *.aes | sophia | `SophiaLexer`
SourcePawn | *.sp | sp | `SourcePawnLexer`
SPARQL | *.rq, *.sparql | sparql | `SparqlLexer`
Spice | *.spice | spice, spicelang | `SpiceLexer`
SQL | *.sql | sql | `SqlLexer`
SQL+Jinja | *.sql, *.sql.j2, *.sql.jinja2 | sql+jinja | `SqlJinjaLexer`
sqlite3con | *.sqlite3-console | sqlite3 | `SqliteConsoleLexer`
SquidConf | squid.conf | squidconf, squid.conf, squid | `SquidConfLexer`
Srcinfo | .SRCINFO | srcinfo | `SrcinfoLexer`
Stan | *.stan | stan | `StanLexer`
Standard ML | *.sml, *.sig, *.fun | sml | `SMLLexer`
Stata | *.do, *.ado | stata, do | `StataLexer`
SuperCollider | *.sc, *.scd | supercollider, sc | `SuperColliderLexer`
Swift | *.swift | swift | `SwiftLexer`
SWIG | *.swg, *.i | swig | `SwigLexer`
Systemd | *.service, *.socket, *.device, *.mount, *.automount, *.swap, *.target, *.path, *.timer, *.slice, *.scope | systemd | `SystemdLexer`
systemverilog | *.sv, *.svh | systemverilog, sv | `SystemVerilogLexer`
TableGen | *.td | tablegen, td | `TableGenLexer`
Tact | *.tact | tact | `TactLexer`
TADS 3 | *.t | tads3 | `Tads3Lexer`
Tal | *.tal | tal, uxntal | `TalLexer`
TAP | *.tap | tap | `TAPLexer`
TASM | *.asm, *.ASM, *.tasm | tasm | `TasmLexer`
Tcl | *.tcl, *.rvt | tcl | `TclLexer`
Tcsh | *.tcsh, *.csh | tcsh, csh | `TcshLexer`
Tcsh Session | None | tcshcon | `TcshSessionLexer`
Tea | *.tea | tea | `TeaTemplateLexer`
teal | *.teal | teal | `TealLexer`
Tera Term macro | *.ttl | teratermmacro, teraterm, ttl | `TeraTermLexer`
Termcap | termcap, termcap.src | termcap | `TermcapLexer`
Terminfo | terminfo, terminfo.src | terminfo | `TerminfoLexer`
Terraform | *.tf, *.hcl | terraform, tf, hcl | `TerraformLexer`
TeX | *.tex, *.aux, *.toc | tex, latex | `TexLexer`
Text only | *.txt | text | `TextLexer`
Text output | None | output | `OutputLexer`
ThingsDB | *.ti | ti, thingsdb | `ThingsDBLexer`
Thrift | *.thrift | thrift | `ThriftLexer`
tiddler | *.tid | tid | `TiddlyWiki5Lexer`
Tl-b | *.tlb | tlb | `TlbLexer`
TLS Presentation Language | None | tls | `TlsLexer`
Todotxt | todo.txt, *.todotxt | todotxt | `TodotxtLexer`
TOML | *.toml, Pipfile, poetry.lock | toml | `TOMLLexer`
TrafficScript | *.rts | trafficscript, rts | `RtsLexer`
Transact-SQL | *.sql | tsql, t-sql | `TransactSqlLexer`
Treetop | *.treetop, *.tt | treetop | `TreetopLexer`
TSX | *.tsx | tsx | `TsxLexer`
Turtle | *.ttl | turtle | `TurtleLexer`
Twig | None | twig | `TwigLexer`
TypeScript | *.ts | typescript, ts | `TypeScriptLexer`
Typographic Number Theory | *.tnt | tnt | `TNTLexer`
TypoScript | *.typoscript | typoscript | `TypoScriptLexer`
TypoScriptCssData | None | typoscriptcssdata | `TypoScriptCssDataLexer`
TypoScriptHtmlData | None | typoscripthtmldata | `TypoScriptHtmlDataLexer`
Typst | *.typ | typst | `TypstLexer`
ucode | *.u, *.u1, *.u2 | ucode | `UcodeLexer`
UL4 | *.ul4 | ul4 | `UL4Lexer`
Unicon | *.icn | unicon | `UniconLexer`
Unix/Linux config files | None | unixconfig, linuxconfig | `UnixConfigLexer`
UrbiScript | *.u | urbiscript | `UrbiscriptLexer`
urlencoded | None | urlencoded | `UrlEncodedLexer`
USD | *.usd, *.usda | usd, usda | `UsdLexer`
Vala | *.vala, *.vapi | vala, vapi | `ValaLexer`
VB.net | *.vb, *.bas | vb.net, vbnet, lobas, oobas, sobas, visual-basic, visualbasic | `VbNetLexer`
VBScript | *.vbs, *.VBS | vbscript | `VBScriptLexer`
VCL | *.vcl | vcl | `VCLLexer`
VCLSnippets | None | vclsnippets, vclsnippet | `VCLSnippetLexer`
VCTreeStatus | None | vctreestatus | `VCTreeStatusLexer`
Velocity | *.vm, *.fhtml | velocity | `VelocityLexer`
Verifpal | *.vp | verifpal | `VerifpalLexer`
verilog | *.v | verilog, v | `VerilogLexer`
VGL | *.rpf | vgl | `VGLLexer`
vhdl | *.vhdl, *.vhd | vhdl | `VhdlLexer`
VimL | *.vim, .vimrc, .exrc, .gvimrc, vimrc, exrc, gvimrc, vimrc, gvimrc | vim | `VimLexer`
Visual Prolog | *.pro, *.cl, *.i, *.pack, *.ph | visualprolog | `VisualPrologLexer`
Visual Prolog Grammar | *.vipgrm | visualprologgrammar | `VisualPrologGrammarLexer`
Vue | *.vue | vue | `VueLexer`
Vyper | *.vy | vyper | `VyperLexer`
WDiff | *.wdiff | wdiff | `WDiffLexer`
Web IDL | *.webidl | webidl | `WebIDLLexer`
WebAssembly | *.wat, *.wast | wast, wat | `WatLexer`
WebGPU Shading Language | *.wgsl | wgsl | `WgslLexer`
Whiley | *.whiley | whiley | `WhileyLexer`
Wikitext | None | wikitext, mediawiki | `WikitextLexer`
World of Warcraft TOC | *.toc | wowtoc | `WoWTocLexer`
Wren | *.wren | wren | `WrenLexer`
X++ | *.xpp | xpp, x++ | `XppLexer`
X10 | *.x10 | x10, xten | `X10Lexer`
XML | *.xml, *.xsl, *.rss, *.xslt, *.xsd, *.wsdl, *.wsf | xml | `XmlLexer`
XML+Cheetah | None | xml+cheetah, xml+spitfire | `CheetahXmlLexer`
XML+Django/Jinja | *.xml.j2, *.xml.jinja2, *.xml | xml+django, xml+jinja | `XmlDjangoLexer`
XML+Evoque | *.xml | xml+evoque | `EvoqueXmlLexer`
XML+Lasso | *.xml, *.lasso, *.lasso[89], *.incl, *.inc, *.las | xml+lasso | `LassoXmlLexer`
XML+Mako | None | xml+mako | `MakoXmlLexer`
XML+Myghty | None | xml+myghty | `MyghtyXmlLexer`
XML+PHP | *.xml, *.php, *.php[345] | xml+php | `XmlPhpLexer`
XML+Ruby | *.xml | xml+ruby, xml+erb | `XmlErbLexer`
XML+Smarty | *.xml, *.tpl | xml+smarty | `XmlSmartyLexer`
XML+UL4 | *.xmlul4 | xml+ul4 | `XMLUL4Lexer`
XML+Velocity | *.xml, *.vm | xml+velocity | `VelocityXmlLexer`
Xorg | xorg.conf | xorg.conf | `XorgLexer`
XQuery | *.xqy, *.xquery, *.xq, *.xql, *.xqm | xquery, xqy, xq, xql, xqm | `XQueryLexer`
XSLT | *.xsl, *.xslt, *.xpl | xslt | `XsltLexer`
Xtend | *.xtend | xtend | `XtendLexer`
xtlang | *.xtm | extempore | `XtlangLexer`
XUL+mozpreproc | *.xul.in | xul+mozpreproc | `MozPreprocXulLexer`
YAML | *.yaml, *.yml | yaml | `YamlLexer`
YAML+Jinja | *.sls, *.yaml.j2, *.yml.j2, *.yaml.jinja2, *.yml.jinja2 | yaml+jinja, salt, sls | `YamlJinjaLexer`
YANG | *.yang | yang | `YangLexer`
YARA | *.yar | yara, yar | `YaraLexer`
Zeek | *.zeek, *.bro | zeek, bro | `ZeekLexer`
Zephir | *.zep | zephir | `ZephirLexer`
Zig | *.zig | zig | `ZigLexer`
Zone | *.zone | zone | `DnsZoneLexer`

## … that’s all?

Well, why not write your own? Contributing to Pygments is easy and fun. Take a look at the docs on lexer development. Pull requests are welcome on GitHub.

Note

The languages listed here are supported in the development version. The latest release may lack a few of them.