Warning
This repository is no longer relevant as Phiki has a new tokenizer that doesn't rely on the PCRE2 engine.
This repository contains a table that covers how compatible TextMate grammars provided by tm-grammars are with PHP's regular expression engine PCRE2.
Compatibility statistics are updated daily using a GitHub Actions workflow and displayed in a readable table format below.
The goal of this repository is to improve how accurate Phiki's RegEx translation layer is, ensuring grammar files work flawlessly with PHP and Phiki.
The table below lists all grammar files provided by tm-grammars and a breakdown of how many patterns there are, how many of those patterns are compatible and how many are incompatible.
You can view the compatibility data for each grammar file inside of the compatibility directory.
| Name | No. patterns | No. compatible patterns | No. incompatible patterns |
|---|---|---|---|
| shaderlab | 39 | 39 | 0 |
| clojure | 44 | 44 | 0 |
| http | 24 | 24 | 0 |
| rst | 79 | 79 | 0 |
| hcl | 80 | 80 | 0 |
| gdshader | 44 | 44 | 0 |
| xsl | 7 | 7 | 0 |
| vue-directives | 0 | 0 | 0 |
| coq | 32 | 32 | 0 |
| hy | 12 | 9 | 3 |
| fortran-fixed-form | 7 | 7 | 0 |
| es-tag-glsl | 11 | 11 | 0 |
| wolfram | 509 | 507 | 2 |
| jsonl | 23 | 23 | 0 |
| jinja | 37 | 36 | 1 |
| tex | 41 | 38 | 3 |
| splunk | 21 | 21 | 0 |
| v | 93 | 93 | 0 |
| apex | 277 | 276 | 1 |
| erlang | 193 | 193 | 0 |
| angular-expression | 108 | 108 | 0 |
| javascript | 534 | 530 | 4 |
| codeql | 183 | 183 | 0 |
| julia | 104 | 103 | 1 |
| astro | 96 | 96 | 0 |
| rust | 94 | 93 | 1 |
| nextflow | 39 | 39 | 0 |
| jinja-html | 0 | 0 | 0 |
| d | 377 | 377 | 0 |
| fsharp | 161 | 161 | 0 |
| ada | 388 | 388 | 0 |
| powershell | 96 | 92 | 4 |
| pascal | 25 | 25 | 0 |
| jison | 95 | 95 | 0 |
| go | 336 | 308 | 28 |
| cairo | 23 | 23 | 0 |
| csharp | 520 | 516 | 4 |
| angular-let-declaration | 4 | 4 | 0 |
| vue-sfc-style-variable-injection | 4 | 4 | 0 |
| puppet | 79 | 75 | 4 |
| gdscript | 105 | 104 | 1 |
| powerquery | 32 | 32 | 0 |
| css | 198 | 197 | 1 |
| jsx | 534 | 530 | 4 |
| elixir | 130 | 130 | 0 |
| lua | 149 | 149 | 0 |
| csv | 1 | 1 | 0 |
| angular-inline-template | 6 | 6 | 0 |
| git-rebase | 4 | 4 | 0 |
| html-derivative | 3 | 3 | 0 |
| wikitext | 249 | 249 | 0 |
| system-verilog | 112 | 110 | 2 |
| mermaid | 192 | 192 | 0 |
| git-commit | 11 | 11 | 0 |
| haskell | 192 | 192 | 0 |
| ara | 58 | 58 | 0 |
| plsql | 45 | 45 | 0 |
| objective-cpp | 720 | 719 | 1 |
| qss | 35 | 35 | 0 |
| marko | 169 | 168 | 1 |
| sparql | 4 | 4 | 0 |
| cue | 121 | 121 | 0 |
| emacs-lisp | 169 | 169 | 0 |
| purescript | 107 | 105 | 2 |
| edge | 11 | 11 | 0 |
| awk | 43 | 43 | 0 |
| nim | 190 | 190 | 0 |
| cobol | 161 | 161 | 0 |
| proto | 41 | 41 | 0 |
| wgsl | 45 | 45 | 0 |
| matlab | 132 | 132 | 0 |
| haml | 83 | 83 | 0 |
| llvm | 26 | 26 | 0 |
| abap | 57 | 57 | 0 |
| vhdl | 95 | 95 | 0 |
| json5 | 28 | 28 | 0 |
| es-tag-css | 11 | 11 | 0 |
| jssm | 30 | 30 | 0 |
| templ | 113 | 113 | 0 |
| genie | 27 | 26 | 1 |
| rel | 20 | 20 | 0 |
| markdown | 291 | 290 | 1 |
| apache | 60 | 59 | 1 |
| qml | 52 | 52 | 0 |
| svelte | 161 | 152 | 9 |
| dotenv | 9 | 9 | 0 |
| dart | 88 | 88 | 0 |
| cpp-macro | 561 | 506 | 55 |
| zenscript | 24 | 24 | 0 |
| fennel | 32 | 32 | 0 |
| es-tag-html | 13 | 13 | 0 |
| vala | 27 | 26 | 1 |
| fish | 24 | 24 | 0 |
| apl | 191 | 191 | 0 |
| prisma | 34 | 34 | 0 |
| glsl | 7 | 7 | 0 |
| handlebars | 82 | 80 | 2 |
| bsl | 90 | 90 | 0 |
| mojo | 350 | 340 | 10 |
| stylus | 130 | 130 | 0 |
| tcl | 37 | 37 | 0 |
| vue | 151 | 151 | 0 |
| bibtex | 28 | 28 | 0 |
| ruby | 336 | 334 | 2 |
| erb | 12 | 12 | 0 |
| ini | 15 | 15 | 0 |
| vue-vine | 576 | 573 | 3 |
| ocaml | 350 | 277 | 73 |
| racket | 155 | 154 | 1 |
| sas | 34 | 34 | 0 |
| beancount | 52 | 52 | 0 |
| haxe | 248 | 248 | 0 |
| shellsession | 2 | 2 | 0 |
| raku | 63 | 61 | 2 |
| common-lisp | 62 | 42 | 20 |
| vue-interpolations | 0 | 0 | 0 |
| typescript | 515 | 511 | 4 |
| glimmer-ts | 118 | 118 | 0 |
| java | 214 | 214 | 0 |
| move | 176 | 176 | 0 |
| gnuplot | 99 | 99 | 0 |
| sql | 73 | 72 | 1 |
| gherkin | 17 | 17 | 0 |
| groovy | 184 | 184 | 0 |
| diff | 16 | 16 | 0 |
| angular-html | 3 | 3 | 0 |
| c | 356 | 356 | 0 |
| typst | 87 | 82 | 5 |
| es-tag-sql | 12 | 12 | 0 |
| wit | 114 | 114 | 0 |
| verilog | 35 | 35 | 0 |
| codeowners | 4 | 4 | 0 |
| hxml | 6 | 6 | 0 |
| wenyan | 21 | 21 | 0 |
| vyper | 372 | 361 | 11 |
| terraform | 82 | 82 | 0 |
| nix | 160 | 160 | 0 |
| markdown-vue | 2 | 2 | 0 |
| toml | 54 | 54 | 0 |
| vb | 36 | 36 | 0 |
| smalltalk | 51 | 51 | 0 |
| turtle | 21 | 21 | 0 |
| fortran-free-form | 536 | 536 | 0 |
| swift | 439 | 436 | 3 |
| actionscript-3 | 71 | 70 | 1 |
| angular-inline-style | 8 | 8 | 0 |
| soy | 57 | 57 | 0 |
| gleam | 27 | 22 | 5 |
| make | 75 | 75 | 0 |
| mipsasm | 18 | 18 | 0 |
| razor | 121 | 119 | 2 |
| logo | 9 | 9 | 0 |
| ts-tags | 0 | 0 | 0 |
| viml | 75 | 74 | 1 |
| fluent | 23 | 23 | 0 |
| perl | 276 | 276 | 0 |
| jsonnet | 37 | 37 | 0 |
| clarity | 71 | 71 | 0 |
| narrat | 35 | 35 | 0 |
| regexp | 42 | 39 | 3 |
| twig | 110 | 107 | 3 |
| mdc | 39 | 39 | 0 |
| typespec | 122 | 122 | 0 |
| shellscript | 195 | 194 | 1 |
| angular-ts | 515 | 511 | 4 |
| glimmer-js | 118 | 118 | 0 |
| cpp | 937 | 864 | 73 |
| imba | 293 | 292 | 1 |
| es-tag-xml | 9 | 9 | 0 |
| yaml | 62 | 61 | 1 |
| elm | 93 | 93 | 0 |
| scheme | 38 | 34 | 4 |
| sass | 78 | 78 | 0 |
| bicep | 28 | 28 | 0 |
| mdx | 508 | 508 | 0 |
| hjson | 74 | 74 | 0 |
| pug | 136 | 136 | 0 |
| ballerina | 338 | 338 | 0 |
| kusto | 60 | 59 | 1 |
| cypher | 41 | 41 | 0 |
| dax | 29 | 29 | 0 |
| angular-template-blocks | 13 | 13 | 0 |
| php | 474 | 474 | 0 |
| scala | 155 | 155 | 0 |
| less | 591 | 590 | 1 |
| postcss | 53 | 53 | 0 |
| luau | 113 | 113 | 0 |
| jsonc | 23 | 23 | 0 |
| po | 35 | 35 | 0 |
| python | 352 | 341 | 11 |
| objective-c | 387 | 386 | 1 |
| cmake | 29 | 29 | 0 |
| latex | 448 | 447 | 1 |
| coffee | 143 | 143 | 0 |
| riscv | 47 | 47 | 0 |
| desktop | 17 | 12 | 5 |
| crystal | 193 | 191 | 2 |
| docker | 9 | 9 | 0 |
| liquid | 108 | 108 | 0 |
| json | 23 | 23 | 0 |
| html | 227 | 227 | 0 |
| solidity | 125 | 125 | 0 |
| asciidoc | 1324 | 1101 | 223 |
| reg | 9 | 9 | 0 |
| tsx | 534 | 530 | 4 |
| dream-maker | 77 | 77 | 0 |
| applescript | 191 | 190 | 1 |
| log | 31 | 25 | 6 |
| scss | 168 | 168 | 0 |
| prolog | 29 | 29 | 0 |
| hlsl | 53 | 49 | 4 |
| polar | 49 | 49 | 0 |
| nushell | 103 | 102 | 1 |
| tsv | 1 | 1 | 0 |
| wasm | 79 | 79 | 0 |
| zig | 56 | 56 | 0 |
| gdresource | 41 | 41 | 0 |
| lean | 41 | 41 | 0 |
| blade | 454 | 454 | 0 |
| nginx | 183 | 183 | 0 |
| vue-html | 53 | 53 | 0 |
| xml | 32 | 32 | 0 |
| qmldir | 7 | 7 | 0 |
| hack | 350 | 350 | 0 |
| berry | 20 | 20 | 0 |
| angular-template | 2 | 2 | 0 |
| graphql | 89 | 89 | 0 |
| ssh-config | 14 | 14 | 0 |
| systemd | 40 | 40 | 0 |
| kotlin | 65 | 65 | 0 |
| talonscript | 51 | 51 | 0 |
| r | 107 | 107 | 0 |
| tasl | 30 | 30 | 0 |
| bat | 79 | 79 | 0 |
| cadence | 86 | 86 | 0 |
| asm | 309 | 309 | 0 |
| sdbl | 23 | 23 | 0 |
| stata | 268 | 268 | 0 |
- Ryan Chandler
- The Shiki team and tm-grammars contributors.