Kielet
shikiphp sisältää koko Shiki-kielivalikoiman: kaikki kieliopit lähteestä tm-grammars 1.31.15, joka on sama valikoima kuin kohteessa Shiki 3.23.0. Mukana on 235 kieltä sekä 18 niiden upottamaa apukielioppia, eli yhteensä 253 kielioppia. Nämä ovat samat TextMate-kieliopit, joilla VS Code ja Shiki pilkkovat koodia, joten tuetut kielet, aliakset ja laajuuksien nimet täsmäävät.
Kieleen viitataan sen tunnuksella tai aliaksella, esimerkiksi ts tai typescript, js tai javascript, php, rust, python, html, yaml, json ja niin edelleen. Tunnukset täsmäävät tarkasti, joten kirjoita ne alla luetellussa muodossa pienillä kirjaimilla. Jos paketti ei tunne tunnusta, se heittää poikkeuksen Shikiphp\Exceptions\Highlight ja näyttää viestin Unknown language "…".
Erikoistunnus 'ansi' ei ole kielioppi, vaan sillä korostetaan päätteen tulostetta. Katso kohta ANSI.
Shikin pelkkää tekstiä kuvaavia tunnuksia text, txt, plain ja plaintext ei vielä tueta, ja ne heittävät poikkeuksen Unknown language (#2).
Mukana toimitettujen kielten luettelointi
Pyydä korostimelta seuraavaa kohteessa PHP:
use Shikiphp\Shikiphp;
$highlighter = Shikiphp::highlighter();
$highlighter->bundledLanguages(); // list<string> — ids shipped in the box
$highlighter->loadedLanguages(); // list<string> — bundled plus any you registered
Molemmissa luetteloissa ovat kaikki tunnukset, jotka voidaan selvittää: 253 kieliopin tunnusta ja sen jälkeen 97 aliasta, eli paketissa on 350 tietuetta.
Tai komentoriviltä, yksi tunnus rivillä:
vendor/bin/shikiphp langs
Luettelo
Mukana toimitetut 235-kielet aakkosjärjestyksessä nimen mukaan. Rivin tunnuksella tai aliaksella valitaan sama kielioppi.
| Kieli | Tunnus | Aliakset |
|---|---|---|
| 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 |
Apu-kieliopit
Nämä 18 kielioppia ovat olemassa, jotta muut kieliopit voivat sisällyttää niitä tai lisätä ne koodiinsa (Angular,
Vue, C++-makrot, Jinja, Nix ja merkityt mallin litteraalit kielessä ts-tags). Ne
ladataan automaattisesti niitä tarvitsevan kielen mukana, ja niiden tunnukset
näkyvät myös tiedostoissa 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.
Oman lisääminen
Tarvitsetko kielen, jota ei toimiteta mukana, tai yksityisen kieliopin? Rekisteröi se palvelussa
loadGrammar. Katso Mukautetut kielet ja teemat.