Skip to content

JavaScript RegExp Engine Compatibility References

Compatibility reference of all built-in grammars with the JavaScript RegExp engine.

Genreated on Sunday, September 29, 2024

Version 1.20.0

Runtime: Node.js v20.12.2

Report Summary

Count
Total Languages213
Supported175
Mismatched23
Unsupported15

Supported Languages

Languages that works with the JavaScript RegExp engine, and will produce the same result as the WASM engine (with the sample snippets in the registry). In some edge cases, it's not guaranteed that the the highlight will be 100% the same. If that happens, please create an issue with the sample snippet.

LanguageHighlight MatchPatterns ParsablePatterns FailedDiff
abap✅ OK51-
actionscript-3✅ OK57-
angular-ts✅ OK779-
apache✅ OK60-
apl✅ OK917-
applescript✅ OK152-
ara✅ OK54-
asciidoc✅ OK262-
asm✅ OK297-
astro✅ OK613-
awk✅ OK36-
ballerina✅ OK230-
bat✅ OK58-
berry✅ OK18-
bibtex✅ OK19-
bicep✅ OK27-
cadence✅ OK71-
clarity✅ OK43-
clj✅ OK38-
clojure✅ OK38-
cmake✅ OK23-
cobol✅ OK864-
codeowners✅ OK4-
codeql✅ OK151-
coffee✅ OK469-
common-lisp✅ OK60-
coq✅ OK25-
css✅ OK141-
csv✅ OK1-
cue✅ OK85-
cypher✅ OK39-
d✅ OK270-
dart✅ OK72-
dax✅ OK23-
desktop✅ OK16-
diff✅ OK16-
docker✅ OK7-
dotenv✅ OK9-
dream-maker✅ OK56-
edge✅ OK632-
elm✅ OK244-
emacs-lisp✅ OK153-
erb✅ OK1312-
fennel✅ OK31-
fish✅ OK25-
fluent✅ OK23-
fortran-fixed-form✅ OK332-
fortran-free-form✅ OK328-
fsharp✅ OK239-
fsl✅ OK30-
gdresource✅ OK157-
gdscript✅ OK93-
gdshader✅ OK39-
genie✅ OK20-
gherkin✅ OK19-
gleam✅ OK26-
glimmer-js✅ OK676-
glimmer-ts✅ OK676-
gnuplot✅ OK82-
go✅ OK123-
graphql✅ OK448-
groovy✅ OK133-
hack✅ OK948-
haml✅ OK562-
handlebars✅ OK699-
haxe✅ OK174-
hcl✅ OK67-
hjson✅ OK57-
hlsl✅ OK52-
html✅ OK611-
http✅ OK753-
hxml✅ OK182-
hy✅ OK9-
imba✅ OK516-
ini✅ OK11-
java✅ OK142-
javascript✅ OK376-
jinja✅ OK642-
jison✅ OK421-
json✅ OK19-
json5✅ OK23-
jsonc✅ OK19-
jsonl✅ OK19-
jsonnet✅ OK33-
jssm✅ OK30-
jsx✅ OK376-
lean✅ OK32-
less✅ OK280-
liquid✅ OK684-
log✅ OK30-
logo✅ OK9-
lua✅ OK278-
luau✅ OK88-
make✅ OK51-
marko✅ OK926-
matlab✅ OK88-
mdc✅ OK784-
mojo✅ OK213-
move✅ OK120-
narrat✅ OK34-
nextflow✅ OK17-
nim✅ OK1126-
nix✅ OK80-
nushell✅ OK81-
objective-c✅ OK223-
ocaml✅ OK178-
pascal✅ OK23-
perl✅ OK941-
plsql✅ OK45-
postcss✅ OK49-
powerquery✅ OK30-
prisma✅ OK26-
prolog✅ OK26-
proto✅ OK33-
puppet✅ OK61-
python✅ OK218-
qml✅ OK408-
qmldir✅ OK7-
qss✅ OK31-
r✅ OK71-
racket✅ OK69-
raku✅ OK52-
reg✅ OK9-
regexp✅ OK34-
rel✅ OK17-
riscv✅ OK36-
rust✅ OK89-
sas✅ OK101-
sass✅ OK69-
scala✅ OK112-
scheme✅ OK34-
scss✅ OK234-
shaderlab✅ OK87-
shellsession✅ OK150-
solidity✅ OK102-
soy✅ OK649-
sparql✅ OK19-
sql✅ OK67-
ssh-config✅ OK12-
stylus✅ OK107-
svelte✅ OK636-
system-verilog✅ OK102-
systemd✅ OK32-
tasl✅ OK23-
tcl✅ OK34-
templ✅ OK673-
terraform✅ OK68-
tex✅ OK106-
toml✅ OK44-
ts-tags✅ OK997-
tsv✅ OK1-
tsx✅ OK376-
turtle✅ OK15-
twig✅ OK1984-
typescript✅ OK363-
typespec✅ OK80-
typst✅ OK78-
v✅ OK80-
vala✅ OK20-
vb✅ OK34-
verilog✅ OK33-
vhdl✅ OK82-
viml✅ OK72-
vue✅ OK692-
vue-html✅ OK716-
vyper✅ OK238-
wasm✅ OK78-
wenyan✅ OK18-
wgsl✅ OK44-
wikitext✅ OK104-
xml✅ OK169-
xsl✅ OK171-
yaml✅ OK48-
zenscript✅ OK21-
zig✅ OK51-
Table Field Explanations
  • Highlight Match: Highlight results match with the WASM engine with the sample snippets.
  • Patterns Parsable: Number of regex patterns that can be parsed by the JavaScript RegExp engine.
  • Patterns Failed: Number of regex patterns that can't be parsed by the JavaScript RegExp engine (throws error).
  • Diff: Length of characters that are different between the highlight result of two engines.

Mismatched Languages

Languages that does not throw with the JavaScript RegExp engine, but will produce different result than the WASM engine. Please use with caution.

LanguageHighlight MatchPatterns ParsablePatterns FailedDiff
angular-html🚧 Mismatch670-330
bash🚧 Mismatch148-56
beancount🚧 Mismatch39-171
c🚧 Mismatch177-209
crystal🚧 Mismatch1067-40
elixir🚧 Mismatch708-179
erlang🚧 Mismatch147-470
glsl🚧 Mismatch186-306
kusto🚧 Mismatch60-40
latex🚧 Mismatch283-25
markdown🚧 Mismatch118-78
mermaid🚧 Mismatch129-38
nginx🚧 Mismatch378-4
objective-cpp🚧 Mismatch309-172
php🚧 Mismatch1131-605
po🚧 Mismatch23-336
pug🚧 Mismatch686-164
ruby🚧 Mismatch1307-1
shellscript🚧 Mismatch148-56
smalltalk🚧 Mismatch35-40
splunk🚧 Mismatch17-8
stata🚧 Mismatch253-32
zsh🚧 Mismatch148-117

Unsupported Languages

Languages that throws with the JavaScript RegExp engine (contains syntaxes that we can't polyfill yet). If you need to use these languages, please use the Oniguruma engine.

LanguageHighlight MatchPatterns ParsablePatterns FailedDiff
ada✅ OK2011
blade🚧 Mismatch11242
rst🚧 Mismatch18352262
powershell❌ Error871
wolfram❌ Error500112
mdx❌ Error1934
swift❌ Error325418
kotlin❌ Error5262986
purescript❌ Error6761488
apex❌ Error17314242
haskell❌ Error1362112
cpp❌ Error4902225
julia❌ Error11412749
csharp❌ Error27633232
razor❌ Error9223526

Released under the MIT License.