Keeled
shikiphp sisaldab kogu Shiki keeltevalikut: kõiki projektis tm-grammars 1.31.15 leiduvaid grammatikaid, mida komplekt Shiki 3.23.0 sisaldab. Kokku on 235 keelt ja 18 abigrammatikat, mis on neisse põimitud — kokku 253 grammatikat. Need on samad TextMate grammatikad, mida kasutavad tokeniseerimiseks VS Code ja Shiki, seega langevad keelte katvus, aliased ja ulatuste nimed kokku.
Keelele viidatakse selle ID või mõne aliase kaudu, näiteks ts või typescript, js või javascript, php, rust, python, html, yaml, json jne. ID-sid võrreldakse täpselt, seega kasutage neid allpool loetletud kujul, väiketähtedega; kui komplekt ID-d ei tunne, viskab see Shikiphp\Exceptions\Highlight veateatega Unknown language "…".
Eriline ID 'ansi' ei tähista grammatikat, vaid tõstab esile terminali väljundi. Vt ANSI.
Shiki-i lihtteksti ID-d text, txt, plain ja plaintext pole veel toetatud ning põhjustavad vea Unknown language (#2).
Kaasasolevate keelte loetlemine
Küsige süntaksi esiletõstjalt PHP kaudu:
use Shikiphp\Shikiphp;
$highlighter = Shikiphp::highlighter();
$highlighter->bundledLanguages(); // list<string> — ids shipped in the box
$highlighter->loadedLanguages(); // list<string> — bundled plus any you registered
Mõlemad loendid sisaldavad kõiki toimivaid ID-sid: 253 grammatika ID-d, millele järgnevad 97 aliast — komplektis kokku 350 kirjet.
Või käsurealt, üks ID rea kohta:
vendor/bin/shikiphp langs
Kataloog
235 kaasasolevat keelt, nime järgi järjestatuna. Iga rea ID või alias valib sama grammatika.
| Keel | ID | Aliased |
|---|---|---|
| 1C (Enterprise) | bsl |
1c |
| 1C (Query) | sdbl |
1c-query |
| ABAP | abap |
|
| ActionScript | actionscript-3 |
|
| Ada | ada |
|
| Angular HTML | angular-html |
|
| Angular TypeScript | angular-ts |
|
| Apache Conf | apache |
|
| Apex | apex |
|
| APL | apl |
|
| AppleScript | applescript |
|
| Ara | ara |
|
| AsciiDoc | asciidoc |
adoc |
| ASP.NET Razor | razor |
|
| Assembly | asm |
|
| Astro | astro |
|
| AWK | awk |
|
| Ballerina | ballerina |
|
| Batch File | bat |
batch |
| Beancount | beancount |
|
| Berry | berry |
be |
| BibTeX | bibtex |
|
| Bicep | bicep |
|
| BIRD2 Configuration | bird2 |
bird |
| Blade | blade |
|
| C | c |
|
| C# | csharp |
c#, cs |
| C++ | cpp |
c++ |
| C3 | c3 |
|
| Cadence | cadence |
cdc |
| Cairo | cairo |
|
| Clarity | clarity |
|
| Clojure | clojure |
clj |
| Closure Templates | soy |
closure-templates |
| CMake | cmake |
|
| COBOL | cobol |
|
| CODEOWNERS | codeowners |
|
| CodeQL | codeql |
ql |
| CoffeeScript | coffee |
coffeescript |
| Common Lisp | common-lisp |
lisp |
| Coq | coq |
|
| Crystal | crystal |
|
| CSS | css |
|
| CSV | csv |
|
| CUE | cue |
|
| Cypher | cypher |
cql |
| D | d |
|
| Dart | dart |
|
| DAX | dax |
|
| Desktop | desktop |
|
| Diff | diff |
|
| Dockerfile | docker |
dockerfile |
| dotEnv | dotenv |
|
| Dream Maker | dream-maker |
|
| Edge | edge |
|
| Elixir | elixir |
|
| Elm | elm |
|
| Emacs Lisp | emacs-lisp |
elisp |
| ERB | erb |
|
| Erlang | erlang |
erl |
| F# | fsharp |
f#, fs |
| Fennel | fennel |
|
| Fish | fish |
|
| Fluent | fluent |
ftl |
| Fortran (Fixed Form) | fortran-fixed-form |
f, for, f77 |
| Fortran (Free Form) | fortran-free-form |
f90, f95, f03, f08, f18 |
| GDResource | gdresource |
tscn, tres |
| GDScript | gdscript |
gd |
| GDShader | gdshader |
|
| Genie | genie |
|
| Gettext PO | po |
pot, potx |
| Gherkin | gherkin |
|
| Git Commit Message | git-commit |
|
| Git Rebase Message | git-rebase |
|
| Gleam | gleam |
|
| Glimmer JS | glimmer-js |
gjs |
| Glimmer TS | glimmer-ts |
gts |
| GLSL | glsl |
|
| GN | gn |
|
| Gnuplot | gnuplot |
|
| Go | go |
|
| GraphQL | graphql |
gql |
| Groovy | groovy |
|
| Hack | hack |
|
| Handlebars | handlebars |
hbs |
| HashiCorp HCL | hcl |
|
| Haskell | haskell |
hs |
| Haxe | haxe |
|
| Hjson | hjson |
|
| HLSL | hlsl |
|
| HTML | html |
|
| HTML (Derivative) | html-derivative |
|
| HTTP | http |
|
| Hurl | hurl |
|
| HXML | hxml |
|
| Hy | hy |
|
| Imba | imba |
|
| INI | ini |
properties |
| Java | java |
|
| JavaScript | javascript |
js, cjs, mjs |
| Jinja | jinja |
|
| Jison | jison |
|
| JSON | json |
|
| JSON Lines | jsonl |
|
| JSON with Comments | jsonc |
|
| JSON5 | json5 |
|
| Jsonnet | jsonnet |
|
| JSSM | jssm |
fsl |
| JSX | jsx |
|
| Julia | julia |
jl |
| Just | just |
|
| KDL | kdl |
|
| Kotlin | kotlin |
kt, kts |
| Kusto | kusto |
kql |
| LaTeX | latex |
|
| Lean 4 | lean |
lean4 |
| Less | less |
|
| Liquid | liquid |
|
| LLVM IR | llvm |
|
| Log file | log |
|
| Logo | logo |
|
| Lua | lua |
|
| Luau | luau |
|
| Makefile | make |
makefile |
| Markdown | markdown |
md |
| Marko | marko |
|
| MATLAB | matlab |
|
| MDC | mdc |
|
| MDX | mdx |
|
| Mermaid | mermaid |
mmd |
| MIPS Assembly | mipsasm |
mips |
| Mojo | mojo |
|
| MoonBit | moonbit |
mbt, mbti |
| Move | move |
|
| Narrat Language | narrat |
nar |
| Nextflow | nextflow |
nf |
| Nextflow Groovy | nextflow-groovy |
|
| Nginx | nginx |
|
| Nim | nim |
|
| Nix | nix |
|
| nushell | nushell |
nu |
| Objective-C | objective-c |
objc |
| Objective-C++ | objective-cpp |
|
| OCaml | ocaml |
|
| Odin | odin |
|
| OpenSCAD | openscad |
scad |
| Pascal | pascal |
|
| Perl | perl |
|
| PHP | php |
|
| Pkl | pkl |
|
| PL/SQL | plsql |
|
| Polar | polar |
|
| PostCSS | postcss |
|
| PowerQuery | powerquery |
|
| PowerShell | powershell |
ps, ps1 |
| Prisma | prisma |
|
| Prolog | prolog |
|
| Protocol Buffer 3 | proto |
protobuf |
| Pug | pug |
jade |
| Puppet | puppet |
|
| PureScript | purescript |
|
| Python | python |
py |
| QML | qml |
|
| QML Directory | qmldir |
|
| Qt Style Sheets | qss |
|
| R | r |
|
| Racket | racket |
|
| Raku | raku |
perl6 |
| RegExp | regexp |
regex |
| Rel | rel |
|
| reStructuredText | rst |
|
| RISC-V | riscv |
|
| RON | ron |
|
| ROS Interface | rosmsg |
|
| Ruby | ruby |
rb |
| Ruby Haml | haml |
|
| Rust | rust |
rs |
| SAS | sas |
|
| Sass | sass |
|
| Scala | scala |
|
| Scheme | scheme |
|
| SCSS | scss |
|
| ShaderLab | shaderlab |
shader |
| Shell | shellscript |
bash, sh, shell, zsh |
| Shell Session | shellsession |
console |
| Smalltalk | smalltalk |
|
| Solidity | solidity |
|
| SPARQL | sparql |
|
| Splunk Query Language | splunk |
spl |
| SQL | sql |
|
| SSH Config | ssh-config |
|
| Stata | stata |
|
| Stylus | stylus |
styl |
| SurrealQL | surrealql |
surql |
| Svelte | svelte |
|
| Swift | swift |
|
| Systemd Units | systemd |
|
| SystemVerilog | system-verilog |
|
| TalonScript | talonscript |
talon |
| Tasl | tasl |
|
| Tcl | tcl |
|
| Templ | templ |
|
| Terraform | terraform |
tf, tfvars |
| TeX | tex |
|
| TOML | toml |
|
| TSV | tsv |
|
| TSX | tsx |
|
| Turtle | turtle |
|
| Twig | twig |
|
| TypeScript | typescript |
ts, cts, mts |
| TypeScript with Tags | ts-tags |
lit |
| TypeSpec | typespec |
tsp |
| Typst | typst |
typ |
| V | v |
|
| Vala | vala |
|
| Verilog | verilog |
|
| VHDL | vhdl |
|
| Vim Script | viml |
vim, vimscript |
| Visual Basic | vb |
cmd |
| Vue | vue |
|
| Vue HTML | vue-html |
|
| Vue Vine | vue-vine |
|
| Vyper | vyper |
vy |
| WebAssembly | wasm |
|
| WebAssembly Interface Types | wit |
|
| Wenyan | wenyan |
文言 |
| WGSL | wgsl |
|
| Wikitext | wikitext |
mediawiki, wiki |
| Windows Registry Script | reg |
|
| Wolfram | wolfram |
wl |
| XML | xml |
|
| XSL | xsl |
|
| YAML | yaml |
yml |
| ZenScript | zenscript |
|
| Zig | zig |
Abigrammatikad
Need 18 grammatika on olemas selleks, et teised grammatikad saaksid neid põimida või sisestada (Angular, Vue, C++ makrod, Jinja, Nix ja märgenditega malliliteraalid keeles ts-tags). Need laaditakse automaatselt koos neid vajava keelega ning nende ID-d on samuti loendites bundledLanguages() ja shikiphp langs:
angular-expression, angular-let-declaration, angular-template, angular-template-blocks, angular-inline-style, angular-inline-template, cpp-macro, jinja-html, markdown-nix, es-tag-css, es-tag-glsl, es-tag-html, es-tag-sql, es-tag-xml, markdown-vue, vue-directives, vue-interpolations, vue-sfc-style-variable-injection.
Lisa enda omad
Kui vajad keelt, mida komplektis pole, või privaatset grammatikat, registreeri see funktsiooniga loadGrammar. Vt Kohandatud keeled ja teemad.