Skip to content

Instantly share code, notes, and snippets.

@ttscoff
Last active April 29, 2023 19:16
Embed
What would you like to do?
Find the perfect lexer to highlight your fenced code blocks and other fancy stuff. If you know the common name of a language or a common file extension for it, this script will tell you exactly what most syntax highlighters will recoghize.
#!/usr/bin/env ruby
# frozen_string_literal: true
require 'optparse'
# Have you ever been adding code to a Markdown post and
# wondered what syntax label would give you the right
# highlighting for your fenced code block? This script can
# take either a file extension or a common name of a language
# and let you know what lexers are supported for it, as well
# as what extensions are commonly used with a language. (Also
# helpful for identifying code you don't recognize!)
#
# Usage:
# To get a language based on a known file extension
#
# $ lexers.rb --lang-for rs
# Rust
# lexers: rust, rs
# extensions: *.rs, *.rs.in
#
# # Also accepts the short flag:
#
# $ lexers.rb -l ts
# TypeScript
# lexers: typescript, ts
# extension: *.ts
#
# To get a list of extensions for a language, use:
#
# $ lexers.rb --ext-for typescript
# TypeScript extensions: ts
#
# # Can use the short flag:
# $ lexers.rb -e elixir
# Elixir extensions: ex, eex, exs, leex
#
# Lastly, if you run the script with arguments instead of
# either of the flags, it will do a search that works pretty
# well in both directions. Give it an extension or a partial
# lexer and it will probably find what you're looking for.
# Multiple arguments get processed in sequence.
#
# This script was created by parsing the output of `pygmentize
# -L lexers`. Pygmentize is pretty common and the lexer names
# are fairly standard, so what you get from this script
# should work on GitHub or your blog or anywhere. I also added some
# definitions from the `skylighting` lexers. Let me know
# if you have trouble! Find me on Mastodon
# @ttscoff@nojack.easydns.ca
@lexers = []
def build_lexers
DATA.read.split(/\n/).each do |line|
next if line.empty?
lxr = line.match(/(?mi)^((, )?[^,]+?)+?(?=<)/)[0]
lxrs = lxr.split(/,/).map(&:strip)
title = line.match(/<(.*?)>/)[1]
ext = line.match(/\[(.*?)\]/)[1]
exts = ext.split(/,/).map(&:strip)
@lexers << {
title: title,
lexer: lxrs.shift,
aliases: lxrs,
extensions: exts
}
end
end
class ::String
def normalize
downcase.gsub(/[^a-z0-9]/i, '')
end
end
def lang_for_ext(ext)
matches = @lexers.select do |lex|
lex[:extensions].map(&:normalize).include?(ext.normalize) ||
lex[:lexer].normalize == ext.normalize ||
lex[:aliases].map(&:normalize).include?(ext.normalize)
end
matches.map do |lex|
o = "#{lex[:title]}\n"
o += "lexers: #{lex[:lexer]}"
o += ", #{lex[:aliases].join(', ')}" if lex[:aliases].count.positive?
o += "\n"
o += lex[:extensions].count > 1 ? "extensions: #{lex[:extensions].map { |x| "*.#{x}"}.join(', ')}" : "extension: *.#{lex[:extensions][0]}"
o
end.join("\n\n")
end
def ext_for_lang(lexer)
matches = @lexers.select do |lex|
lex[:title].normalize =~ /\b#{lexer.normalize}/i ||
lex[:lexer].normalize =~ /\b#{lexer.normalize}/i ||
lex[:aliases].map(&:normalize).include?(lexer.normalize)
end
matches.map { |lex| "#{lex[:title]} extensions: #{lex[:extensions].join(', ')}" }.join("\n")
end
build_lexers
optparse = OptionParser.new do |opts|
opts.banner = "Usage: #{File.basename(__FILE__)} [-l EXTENSION|-e LANGUAGE|ARGUMENTS]"
opts.on('-e', '--ext-for=LANGUAGE', 'Get the most common extensions for a langauge') do |lang|
puts ext_for_lang(lang)
Process.exit 0
end
opts.on('-l', '--lang-for=EXTENSION', 'Get a language key for an extension') do |ext|
puts lang_for_ext(ext)
Process.exit 0
end
opts.on('-h', '--help', 'Display this screen') do
puts optparse
Process.exit 0
end
end
optparse.parse!
ARGV.each do |arg|
headline = "Results(s) for #{arg}"
puts headline
puts '-' * headline.length
puts lang_for_ext(arg)
puts
end
__END__
abap <ABAP> [abap, ABAP]
abc <ABC> []
abnf <ABNF> [abnf]
actionscript, as <ActionScript> [as]
actionscript3, as3 <ActionScript 3> [as]
ada, ada95, ada2005 <Ada> [adb, ads, ada]
adl <ADL> [adl, adls, adlf, adlx]
agda <Agda> [agda]
aheui <Aheui> [aheui]
alert <Alerts> []
alloy <Alloy> [als]
ambienttalk, ambienttalk/2, at <AmbientTalk> [at]
amdgpu <AMDGPU> [isa]
ampl <Ampl> [run]
ansys, apdl <ANSYS parametric design language> [ans]
antlr <ANTLR> []
antlr-actionscript, antlr-as <ANTLR With ActionScript Target> [G, g]
antlr-cpp <ANTLR With CPP Target> [G, g]
antlr-csharp, antlr-c# <ANTLR With C# Target> [G, g]
antlr-java <ANTLR With Java Target> [G, g]
antlr-objc <ANTLR With ObjectiveC Target> [G, g]
antlr-perl <ANTLR With Perl Target> [G, g]
antlr-python <ANTLR With Python Target> [G, g]
antlr-ruby, antlr-rb <ANTLR With Ruby Target> [G, g]
apacheconf, aconf, apache <ApacheConf> [.htaccess, apache.conf, apache2.conf]
apl <APL> [apl, aplf, aplo, apln, aplc, apli, dyalog]
applescript <AppleScript> [applescript]
arduino <Arduino> [ino]
arrow <Arrow> [arw]
asc, pem <ASCII armored> [asc, pem, id_dsa, id_ecdsa, id_ecdsa_sk, id_ed25519, id_ed25519_sk, id_rsa]
asn1 <ASN.1> []
asp <ASP> []
aspectj <AspectJ> [aj]
aspx-cs <aspx-cs> [aspx, asax, ascx, ashx, asmx, axd]
aspx-vb <aspx-vb> [aspx, asax, ascx, ashx, asmx, axd]
asymptote, asy <Asymptote> [asy]
ats <ATS> []
augeas <Augeas> [aug]
autohotkey, ahk <autohotkey> [ahk, ahkl]
autoit <AutoIt> [au3]
awk, gawk, mawk, nawk <Awk> [awk]
bare <BARE> [bare]
basemake <Base Makefile> []
bash, sh, ksh, zsh, shell <Bash> [sh, ksh, bash, ebuild, eclass, exheres-0, exlib, zsh, .bashrc, bashrc, .bash_*, bash_*, zshrc, .zshrc, PKGBUILD]
batch, bat, dosbatch, winbatch <Batchfile> [bat, cmd]
bbcbasic <BBC Basic> [bbc]
bbcode <BBCode> []
bc <BC> [bc]
befunge <Befunge> [befunge]
bibtex, bib <BibTeX> [bib]
blitzbasic, b3d, bplus <BlitzBasic> [bb, decls]
blitzmax, bmax <BlitzMax> [bmx]
bnf <BNF> [bnf]
boa <Boa> [boa]
boo <Boo> [boo]
boogie <Boogie> [bpl]
brainfuck, bf <Brainfuck> [bf, b]
bst, bst-pybtex <BST> [bst]
bugs, winbugs, openbugs <BUGS> [bug]
c <C> [c, h, idc]
c-objdump <c-objdump> [c-objdump]
ca65 <ca65 assembler> [s]
cadl <cADL> [cadl]
camkes, idl4 <CAmkES> [camkes, idl4]
capdl <CapDL> [cdl]
capnp <Cap'n Proto> [capnp]
cbmbas <CBM BASIC V2> [bas]
cddl <CDDL> [cddl]
ceylon <Ceylon> [ceylon]
cfc <Coldfusion CFC> [cfc]
cfengine3, cf3 <CFEngine3> [cf]
cfm <Coldfusion HTML> [cfm, cfml]
cfs <cfstatement> []
chaiscript, chai <ChaiScript> [chai]
changelog <ChangeLog> []
chapel, chpl <Chapel> [chpl]
charmci <Charmci> [ci]
cheetah, spitfire <Cheetah> [tmpl, spt]
cirru <Cirru> [cirru]
clay <Clay> [clay]
clean <Clean> [icl, dcl]
clojure, clj <Clojure> [clj]
clojurescript, cljs <ClojureScript> [cljs]
cmake <CMake> [cmake, CMakeLists.txt]
cobol <COBOL> [cob, COB, cpy, CPY]
cobolfree <COBOLFree> [cbl, CBL]
coffeescript, coffee-script, coffee <CoffeeScript> [coffee]
coldfusion <ColdFusion> []
comments <Comments> []
common-lisp, commonlisp, cl, lisp <Common Lisp> [cl, lisp]
componentpascal, cp <Component Pascal> [cp, cps]
console, shell-session <Bash Session> [sh-session, shell-session]
coq <Coq> [v]
cpp, c++ <C++> [cpp, hpp, c++, h++, cc, hh, cxx, hxx, C, H, cp, CPP]
cpp-objdump, c++-objdumb, cxx-objdump <cpp-objdump> [cpp-objdump, c++-objdump, cxx-objdump]
cpsa <CPSA> [cpsa]
cr, crystal <Crystal> [cr]
crmsh, pcmk <Crmsh> [crmsh, pcmk]
croc <Croc> [croc]
cryptol, cry <Cryptol> [cry]
csharp, c#, cs <C#> [cs]
csound, csound-orc <Csound Orchestra> [orc, udo]
csound-document, csound-csd <Csound Document> [csd]
csound-score, csound-sco <Csound Score> [sco]
css <CSS> [css]
css+django, css+jinja <CSS+Django/Jinja> []
css+genshitext, css+genshi <CSS+Genshi Text> []
css+lasso <CSS+Lasso> []
css+mako <CSS+Mako> []
css+mozpreproc <CSS+mozpreproc> [css.in]
css+myghty <CSS+Myghty> []
css+php <CSS+PHP> []
css+ruby, css+erb <CSS+Ruby> []
css+smarty <CSS+Smarty> []
cuda, cu <CUDA> [cu, cuh]
curry <Curry> []
cypher <Cypher> [cyp, cypher]
cython, pyx, pyrex <Cython> [pyx, pxd, pxi]
d <D> [d, di]
d-objdump <d-objdump> [d-objdump]
dart <Dart> [dart]
dasm16 <DASM16> [dasm16, dasm]
debcontrol, control <Debian Control file> [control]
debsources, sourceslist, sources.list <Debian Sourcelist> [sources.list]
default <Default> []
delphi, pas, pascal, objectpascal <Delphi> [pas, dpr]
devicetree, dts <Devicetree> [dts, dtsi]
dg <dg> [dg]
diff, udiff <Diff> [diff, patch]
django, jinja <Django/Jinja> []
djangotemplate <Django HTML Template> []
docker, dockerfile <Docker> [Dockerfile, docker]
doscon <MSDOS Session> []
dot <dot> []
doxygen <Doxygen> []
doxygenlua <DoxygenLua> []
dpatch <Darcs Patch> [dpatch, darcspatch]
dtd <DTD> [dtd]
duel, jbst, jsonml+bst <Duel> [duel, jbst]
dylan <Dylan> [dylan, dyl, intr]
dylan-console, dylan-repl <Dylan session> [dylan-console]
dylan-lid, lid <DylanLID> [lid, hdp]
earl-grey, earlgrey, eg <Earl Grey> [eg]
easytrieve <Easytrieve> [ezt, mac]
ebnf <EBNF> [ebnf]
ec <eC> [ec, eh]
ecl <ECL> [ecl]
eiffel <Eiffel> [e]
elixir, ex, exs <Elixir> [ex, eex, exs, leex]
elm <Elm> [elm]
emacs-lisp, elisp, emacs <EmacsLisp> [el]
email, eml <E-mail> [eml]
erb <ERB> [erb]
erl <Erlang erl session> [erl-sh]
erlang <Erlang> [erl, hrl, es, escript]
evoque <Evoque> [evoque]
execline <execline> [exec]
extempore <xtlang> [xtm]
ezhil <Ezhil> [n]
factor <Factor> [factor]
fan <Fantom> [fan]
fancy, fy <Fancy> [fy, fancypack]
fasm <Intel x86 (FASM> [])
felix, flx <Felix> [flx, flxh]
fennel, fnl <Fennel> [fnl]
fish, fishshell <Fish> [fish, load]
flatline <Flatline> []
floscript, flo <FloScript> [flo]
forth <Forth> [frt, fs]
fortran <Fortran> [f03, f90, F03, F90]
fortranfixed <FortranFixed> [f, F]
fortranfree <Fortran (Free Format)> []
foxpro, vfp, clipper, xbase <FoxPro> [PRG, prg]
freefem <Freefem> [edp]
fsharp, f# <F#> [fs, fsi]
fstar <FStar> [fst, fsti]
futhark <Futhark> [fut]
gap <GAP> [g, gd, gi, gap]
gas, asm <GAS> [s, S]
gcc <GCCExtensions> []
gcode <g-code> [gcode]
gdscript, gd <GDScript> [gd]
genshi, kid, xml+genshi, xml+kid <Genshi> [kid]
genshitext <Genshi Text> []
gherkin, cucumber <Gherkin> [feature]
glsl <GLSL> [vert, frag, geo]
gnuassembler <GNU Assembler> []
gnuplot <Gnuplot> [plot, plt]
go, golang <Go> [go]
golo <Golo> [golo]
gooddata-cl <GoodData-CL> [gdc]
gosu <Gosu> [gs, gsx, gsp, vark]
graphql <GraphQL> []
graphviz, dot <Graphviz> [gv, dot]
groff, nroff, man <Groff> [[1234567], man]
groovy <Groovy> [groovy, gradle]
gsql <GSQL> [gsql]
gst <Gosu Template> [gst]
haml <Haml> [haml]
hamlet <Hamlet> []
handlebars <Handlebars> []
haskell, hs <Haskell> [hs]
haxe, hxsl, hx <Haxe> [hx, hxsl]
haxeml, hxml <Hxml> [hxml]
hexdump <Hexdump> []
hlsl <HLSL> [hlsl, hlsli]
hsail, hsa <HSAIL> [hsail]
hspec <Hspec> []
html <HTML> [html, htm, xhtml, xslt]
html+cheetah, html+spitfire, htmlcheetah <HTML+Cheetah> []
html+django, html+jinja, htmldjango <HTML+Django/Jinja> []
html+evoque <HTML+Evoque> [html]
html+genshi, html+kid <HTML+Genshi> []
html+handlebars <HTML+Handlebars> [handlebars, hbs]
html+lasso <HTML+Lasso> []
html+mako <HTML+Mako> []
html+myghty <HTML+Myghty> []
html+ng2 <HTML + Angular2> [ng2]
html+php <HTML+PHP> [phtml]
html+smarty <HTML+Smarty> []
html+twig <HTML+Twig> [twig]
html+velocity <HTML+Velocity> []
http <HTTP> []
hybris, hy <Hybris> [hy, hyb]
hylang <Hy> [hy]
i6t <Inform 6 template> [i6t]
icon <Icon> [icon, ICON]
idl <IDL> [pro]
idris, idr <Idris> [idr]
iex <Elixir iex session> []
igor, igorpro <Igor> [ipf]
inform6, i6 <Inform 6> [inf]
inform7, i7 <Inform 7> [ni, i7x]
ini, cfg, dosini <INI> [ini, cfg, inf, service, socket, device, mount, automount, swap, target, path, timer, slice, scope]
io <Io> [io]
ioke, ik <Ioke> [ik]
irc <IRC logs> [weechatlog]
isabelle <Isabelle> [thy]
isocpp <ISO C++> []
j <J> [ijs]
jags <JAGS> [jag, bug]
jasmin, jasminxt <Jasmin> [j]
java <Java> [java]
javadoc <Javadoc> []
javascript+cheetah, js+cheetah, javascript+spitfire, js+spitfire <JavaScript+Cheetah> []
javascript+django, js+django, javascript+jinja, js+jinja <JavaScript+Django/Jinja> []
javascript+lasso, js+lasso <JavaScript+Lasso> []
javascript+mako, js+mako <JavaScript+Mako> []
javascript+mozpreproc <Javascript+mozpreproc> [js.in]
javascript+myghty, js+myghty <JavaScript+Myghty> []
javascript+php, js+php <JavaScript+PHP> []
javascript+ruby, js+ruby, javascript+erb, js+erb <JavaScript+Ruby> []
javascript+smarty, js+smarty <JavaScript+Smarty> []
javascript, js <JavaScript> [js, jsm, mjs, cjs]
javascriptreact <JavaScript React (JSX> [])
jcl <JCL> [jcl]
jlcon, julia-repl <Julia console> []
js+genshitext, js+genshi, javascript+genshitext, javascript+genshi <JavaScript+Genshi Text> []
jsgf <JSGF> [jsgf]
jslt <JSLT> [jslt]
json, json-object <JSON> [json, Pipfile.lock]
jsonld, json-ld <JSON-LD> [jsonld]
jsp <Java Server Page> [jsp]
julia, jl <Julia> [jl]
juttle <Juttle> [juttle]
kal <Kal> [kal]
kconfig, menuconfig, linux-config, kernel-config <Kconfig> [Kconfig*, *Config.in*, external.in*, standard-modules.in]
kmsg, dmesg <Kernel log> [kmsg, dmesg]
koka <Koka> [kk, kki]
kotlin <Kotlin> [kt, kts]
kuin <Kuin> [kn]
lasso, lassoscript <Lasso> [lasso, lasso[89]]
latex <LaTeX> []
lean <Lean> [lean]
less <LessCss> [less]
lex <Lex/Flex> []
lighttpd, lighty <Lighttpd configuration file> [lighttpd.conf]
lilypond <LilyPond> []
limbo <Limbo> [b]
liquid <liquid> [liquid]
literate-agda, lagda <Literate Agda> [lagda]
literate-cryptol, lcryptol, lcry <Literate Cryptol> [lcry]
literate-haskell, lhaskell, lhs <Literate Haskell> [lhs]
literate-idris, lidris, lidr <Literate Idris> [lidr]
literatecurry <Literate Curry> []
literatehaskell <Literate Haskell> []
livescript, live-script <LiveScript> [ls]
llvm <LLVM> [ll]
llvm-mir <LLVM-MIR> [mir]
llvm-mir-body <LLVM-MIR Body> []
logos <Logos> [x, xi, xm, xmi]
logtalk <Logtalk> [lgt, logtalk]
lsl <LSL> [lsl]
lua <Lua> [lua, wlua]
m4 <GNU M4> []
make, makefile, mf, bsdmake <Makefile> [mak, mk, Makefile, makefile, Makefile.*, GNUmakefile]
makefile <Makefile> []
mako <Mako> [mao]
mandoc <Troff Mandoc> []
maql <MAQL> [maql]
markdown, md <Markdown> [md, markdown, mmd]
mask <Mask> [mask]
mason <Mason> [m, mhtml, mc, mi, autohandler, dhandler]
mathematica, mma, nb <Mathematica> [nb, cdf, nbp, ma]
matlab <Matlab> [m]
matlabsession <Matlab session> []
maxima <Maxima> []
mediawiki <MediaWiki> []
meson, meson.build <Meson> [meson.build, meson_options.txt]
metafont <Metapost/Metafont> []
mime <MIME> []
minid <MiniD> []
miniscript, ms <MiniScript> [ms]
mips <MIPS Assembler> []
modelica <Modelica> [mo]
modelines <Modelines> []
modula2, m2 <Modula-2> [def, mod]
modula3 <Modula-3> []
monkey <Monkey> [monkey]
monobasic <MonoBasic> []
monte <Monte> [mt]
moocode, moo <MOOCode> [moo]
moonscript, moon <MoonScript> [moon]
mosel <Mosel> [mos]
mozhashpreproc <mozhashpreproc> []
mozpercentpreproc <mozpercentpreproc> []
mql, mq4, mq5, mql4, mql5 <MQL> [mq4, mq5, mqh]
mscgen, msc <Mscgen> [msc]
mupad <MuPAD> [mu]
mustache <Mustache/Handlebars (HTML)> []
mxml <MXML> [mxml]
myghty <Myghty> [myt, autodelegate]
mysql <MySQL> [sql]
nasm <NASM> [asm, ASM]
ncl <NCL> [ncl]
nemerle <Nemerle> [n]
nesc <nesC> [nc]
nestedtext, nt <NestedText> [nt]
newlisp <NewLisp> [lsp, nl, kif]
newspeak <Newspeak> [ns2]
ng2 <Angular2> []
nginx <Nginx configuration file> [nginx.conf]
nimrod, nim <Nimrod> [nim, nimrod]
nit <Nit> [nit]
nixos, nix <Nix> [nix]
nodejsrepl <Node.js REPL console session> []
notmuch <Notmuch> []
noweb <noweb> []
nsis, nsi, nsh <NSIS> [nsi, nsh]
numpy <NumPy> []
nusmv <NuSMV> [smv]
objdump <objdump> [objdump]
objdump-nasm <objdump-nasm> [objdump-intel]
objective-c++, objectivec++, obj-c++, objc++ <Objective-C++> [mm, hh]
objective-c, objectivec, obj-c, objc <Objective-C> [m, h]
objective-j, objectivej, obj-j, objj <Objective-J> [j]
ocaml <OCaml> [ml, mli, mll, mly]
octave <Octave> [m]
odin <ODIN> [odin]
omg-idl <OMG Interface Definition Language> [idl, pidl]
ooc <Ooc> [ooc]
opa <Opa> [opa]
opencl <OpenCL> []
openedge, abl, progress <OpenEdge ABL> [p, cls]
orgmode <Org Mode> []
output <Text output> []
pacmanconf <PacmanConf> [pacman.conf]
pan <Pan> [pan]
parasail <ParaSail> [psi, psl]
pascal <Pascal> []
pawn <Pawn> [p, pwn, inc]
peg <PEG> [peg]
perl, pl <Perl> [pl, pm, t, perl]
perl6, pl6, raku <Perl6> [pl, pm, nqp, p6, 6pl, p6l, pl6, 6pm, p6m, pm6, t, raku, rakumod, rakutest, rakudoc]
php, php3, php4, php5 <PHP> [php, php[345], inc]
pig <Pig> [pig]
pike <Pike> [pike, pmod]
pkgconfig <PkgConfig> [pc]
plpgsql <PL/pgSQL> []
pointless <Pointless> [ptls]
pony <Pony> [pony]
postgresql, postgres <PostgreSQL SQL dialect> []
postscript <PostScript> []
postscript, postscr <PostScript> [ps, eps]
pot, po <Gettext Catalog> [pot, po]
pov, povray <POVRay> [pov, inc]
powershell <PowerShell> []
powershell, pwsh, posh, ps1, psm1 <PowerShell> [ps1, psm1]
praat <Praat> [praat, proc, psc]
procfile <Procfile> [Procfile]
prolog <Prolog> [ecl, prolog, pro, pl]
promql <PromQL> [promql]
properties, jproperties <Properties> [properties]
protobuf, proto <Protocol Buffer> [proto]
psql, postgresql-console, postgres-console <PostgreSQL console (psql)> []
psysh <PsySH console session for PHP> []
pug, jade <Pug> [pug, jade]
puppet <Puppet> [pp]
pure <Pure> []
purebasic <PureBasic> []
pwsh-session, ps1con <PowerShell Session> []
py2tb <Python 2.x Traceback> [py2tb]
pycon <Python console session> []
pypylog, pypy <PyPy Log> [pypylog]
pytb, py3tb <Python Traceback> [pytb, py3tb]
python, py, sage, python3, py3 <Python> [py, pyw, jy, sage, sc, SConstruct, SConscript, bzl, BUCK, BUILD, BUILD.bazel, WORKSPACE, tac]
python2, py2 <Python 2.x> [py, py2]
qbasic, basic <QBasic> [BAS, bas]
qml, qbs <QML> [qml, qbs]
qvto, qvt <QVTO> [qvto]
r <R Script> []
racket, rkt <Racket> [rkt, rktd, rktl]
ragel <Ragel> []
ragel-c <Ragel in C Host> [rl]
ragel-cpp <Ragel in CPP Host> [rl]
ragel-d <Ragel in D Host> [rl]
ragel-em <Embedded Ragel> [rl]
ragel-java <Ragel in Java Host> [rl]
ragel-objc <Ragel in Objective C Host> [rl]
ragel-ruby, ragel-rb <Ragel in Ruby Host> [rl]
raku <Raku> []
rbcon, irb <Ruby irb session> []
rconsole, rout <RConsole> [Rout]
rd <Rd> [Rd]
reasonml, reason <ReasonML> [re, rei]
rebol <REBOL> [r, r3, reb]
red, red/system <Red> [red, reds]
redcode <Redcode> [cw]
registry <reg> [reg]
relaxng <RELAX NG> []
relaxngcompact <RelaxNG-Compact> []
resourcebundle, resource <ResourceBundle> []
restructuredtext, rst, rest <reStructuredText> [rst, rest]
rexx, arexx <Rexx> [rexx, rex, rx, arexx]
rhtml, html+erb, html+ruby <RHTML> [rhtml]
ride <Ride> [ride]
rng-compact, rnc <Relax-NG Compact> [rnc]
roboconf-graph <Roboconf Graph> [graph]
roboconf-instances <Roboconf Instances> [instances]
robotframework <RobotFramework> [robot]
roff <Roff> []
rql <RQL> [rql]
rsl <RSL> [rsl]
ruby, rb, duby <Ruby> [rb, rbw, Rakefile, rake, gemspec, rbx, duby, Gemfile]
rust, rs <Rust> [rs, rs.in]
sarl <SARL> [sarl]
sas <SAS> [SAS, sas]
sass <Sass> [sass]
scala <Scala> [scala]
scaml <Scaml> [scaml]
scdoc, scd <scdoc> [scd, scdoc]
scheme, scm <Scheme> [scm, ss]
scilab, sci <Scilab> [sci, sce, tst]
scss <SCSS> [scss]
sed <sed> []
sgf <SmartGameFormat> [sgf]
sgml <SGML> []
shen <Shen> [shen]
shexc, shex <ShExC> [shex]
sieve <Sieve> [siv, sieve]
silver <Silver> [sil, vpr]
singularity <Singularity> [def, Singularity]
slash <Slash> [sla]
slim <Slim> [slim]
slurm, sbatch <Slurm> [sl]
smali <Smali> [smali]
smalltalk, squeak, st <Smalltalk> [st]
smarty <Smarty> [tpl]
smithy <Smithy> [smithy]
sml <Standard ML> [sml, sig, fun]
snobol <Snobol> [snobol]
snowball <Snowball> [sbl]
solidity <Solidity> [sol]
sp <SourcePawn> [sp]
sparql <SPARQL> [rq, sparql]
spdxcomments <SPDX-Comments> []
spec <RPMSpec> [spec]
splus, s, r <S> [S, R, .Rhistory, .Rprofile, .Renviron]
sql <SQL> [sql]
sqlite3 <sqlite3con> [sqlite3-console]
sqlmysql <SQL (MySQL)> []
sqlpostgresql <SQL (PostgreSQL)> []
squidconf, squid.conf, squid <SquidConf> [squid.conf]
ssp <Scalate Server Page> [ssp]
stan <Stan> [stan]
stata, do <Stata> [do, ado]
supercollider, sc <SuperCollider> [sc, scd]
swift <Swift> [swift]
swig <SWIG> [swg, i]
systemverilog, sv <systemverilog> [sv, svh]
tads3 <TADS 3> [t]
tap <TAP> [tap]
tasm <TASM> [asm, ASM, tasm]
tcl <Tcl> [tcl, rvt]
tcsh, csh <Tcsh> [tcsh, csh]
tcshcon <Tcsh Session> []
tea <Tea> [tea]
teal <teal> [teal]
teratermmacro, teraterm, ttl <Tera Term macro> [ttl]
termcap <Termcap> [termcap, termcap.src]
terminfo <Terminfo> [terminfo, terminfo.src]
terraform, tf <Terraform> [tf]
tex, latex <TeX> [tex, aux, toc]
texinfo <Texinfo> []
text <Text only> [txt]
thrift <Thrift> [thrift]
ti, thingsdb <ThingsDB> [ti]
tid <tiddler> [tid]
tnt <Typographic Number Theory> [tnt]
todotxt <Todotxt> [todo.txt, todotxt]
toml <TOML> [toml, Pipfile, poetry.lock]
trac-wiki, moin <MoinMoin/Trac Wiki markup> []
trafficscript, rts <TrafficScript> [rts]
treetop <Treetop> [treetop, tt]
tsql, t-sql <Transact-SQL> [sql]
turtle <Turtle> [ttl]
twig <Twig> []
typescript, ts <TypeScript> [ts]
typoscript <TypoScript> [typoscript]
typoscriptcssdata <TypoScriptCssData> []
typoscripthtmldata <TypoScriptHtmlData> []
ucode <ucode> [u, u1, u2]
unicon <Unicon> [icn]
urbiscript <UrbiScript> [u]
usd, usda <USD> [usd, usda]
vala, vapi <Vala> [vala, vapi]
vb.net, vbnet <VB.net> [vb, bas]
vbscript <VBScript> [vbs, VBS]
vcl <VCL> [vcl]
vclsnippets, vclsnippet <VCLSnippets> []
vctreestatus <VCTreeStatus> []
velocity <Velocity> [vm, fhtml]
verilog, v <verilog> [v]
vgl <VGL> [rpf]
vhdl <vhdl> [vhdl, vhd]
vim <VimL> [vim, .vimrc, .exrc, .gvimrc, _vimrc, _exrc, _gvimrc, vimrc, gvimrc]
wast, wat <WebAssembly> [wat, wast]
wdiff <WDiff> [wdiff]
webidl <Web IDL> [webidl]
whiley <Whiley> [whiley]
x10, xten <X10> [x10]
xml <XML> [xml, xsl, rss, xslt, xsd, wsdl, wsf]
xml+cheetah, xml+spitfire <XML+Cheetah> []
xml+django, xml+jinja <XML+Django/Jinja> []
xml+evoque <XML+Evoque> [xml]
xml+lasso <XML+Lasso> []
xml+mako <XML+Mako> []
xml+myghty <XML+Myghty> []
xml+php <XML+PHP> []
xml+ruby, xml+erb <XML+Ruby> []
xml+smarty <XML+Smarty> []
xml+velocity <XML+Velocity> []
xorg, xorg.conf <Xorg> [xorg.conf]
xquery, xqy, xq, xql, xqm <XQuery> [xqy, xquery, xq, xql, xqm]
xslt <XSLT> [xsl, xslt, xpl]
xtend <Xtend> [xtend]
xul <XUL> []
xul+mozpreproc <XUL+mozpreproc> [xul.in]
yacc <Yacc/Bison> []
yaml <YAML> [yaml, yml]
yaml+jinja, salt, sls <YAML+Jinja> [sls]
yang <YANG> [yang]
zeek, bro <Zeek> [zeek, bro]
zephir <Zephir> [zep]
zig <Zig> [zig]
zsh <Zsh> [zsh]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment