
# Jeziki

shikiphp vključuje **celoten nabor jezikov Shiki**: vse slovnice iz
[`tm-grammars`](https://github.com/shikijs/textmate-grammars-themes) 1.31.15,
nabor, ki ga vključuje Shiki 3.23.0. To pomeni 235 jezikov in 18 pomožnih slovnic, ki jih ti
vključujejo, skupaj torej 253 slovnic. To so iste slovnice TextMate, s katerimi tokenizirata VS Code in
Shiki, zato so pokritost jezikov, vzdevki in imena obsegov enaki.

Na jezik se sklicujete z njegovim ID-jem ali enim od vzdevkov — na primer `ts` ali
`typescript`, `js` ali `javascript`, `php`, `rust`, `python`, `html`, `yaml`,
`json` in tako dalje. ID-ji se ujemajo natančno, zato jih uporabite z malimi črkami, kot so navedeni spodaj; če sveženj ID-ja ne pozna, sproži
`Shikiphp\Exceptions\Highlight` s sporočilom `Unknown language "…"`.

Posebni ID `'ansi'` ni slovnica; poudari izhod terminala. Glejte
[ANSI](https://shikiphp.inline0.dev/sl/docs/ansi).

Navadno besedilni ID-ji `text`, `txt`, `plain` in `plaintext` v Shiki še niso
podprti in sprožijo `Unknown language`
([#2](https://github.com/inline0/shikiphp/issues/2)).

## Izpis vključenih jezikov

Iz PHP zahtevajte seznam od označevalnika sintakse:

```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
```

Oba seznama vsebujeta vse ID-je, ki se razrešijo: ID-je slovnic 253, ki jim sledi 97
vzdevkov; 350 vnosov za sveženj.

Ali pa iz ukazne vrstice, po en ID v vsaki vrstici:

```bash
vendor/bin/shikiphp langs
```

## Katalog

Vključeni jeziki 235, razvrščeni po imenu. Vsak ID ali vzdevek v vrstici izbere isto
slovnico.

| Jezik | ID | Vzdevki |
| --- | --- | --- |
| 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` |  |

### Pomožne slovnice

Teh 18 slovnic obstaja zato, da jih lahko druge slovnice vključijo ali vstavijo (Angular,
Vue, makri C++, Jinja, Nix in označene predloge v `ts-tags`). Naložijo se samodejno skupaj z jezikom, ki jih potrebuje, njihovi ID-ji pa se pojavijo tudi v `bundledLanguages()` in `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`.

## Dodajanje lastnih

Potrebujete jezik, ki ni vključen, ali zasebno slovnico? Registrirajte jo z
`loadGrammar`. Glejte [Jeziki in teme po meri](https://shikiphp.inline0.dev/sl/docs/custom-languages-themes).
