Preskoči na vsebino

CLI

shikiphp vključuje majhno orodje ukazne vrstice na lokaciji bin/shikiphp (v projektu je nameščeno kot vendor/bin/shikiphp). Ima tri ukaze: highlight izriše eno datoteko v HTML, langs in themes pa izpišeta vsebino paketa.

highlight

Označite datoteko v HTML in jo izpišite v standardni izhod.

Lupina
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
  • <file> — pot do datoteke za branje. Datoteka mora obstajati; standardni vhod se ne bere.
  • --lang — ID ali vzdevek jezika. Če ga izpustite, se kot ID uporabi končnica datoteke nespremenjena (če je ni, se uporabi txt).
  • --theme — ID teme. Privzeta vrednost je github-dark.
Lupina
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord

Izhod je isti blok <pre class="shiki …"> z eno temo, ki ga vrne codeToHtml, temu pa sledi nova vrstica, zato ga lahko neposredno preusmerite v datoteko:

Lupina
vendor/bin/shikiphp highlight src/App.php --theme=github-light > app.html

Ukaz ne sprejema drugih možnosti. Za dve temi, pretvornike ali katero koli drugo možnost namesto tega pokličite PHP API.

Možnosti in argumenti

Možnosti morajo biti v obliki --name=value. Vsi drugi argumenti, ki se začnejo z --, so prezrti; zadnji argument, ki se ne začne z --, se uporabi kot datoteka. Zato --lang php file.rs označi file.rs kot Rust: --lang je prezrt, php zamenja file.rs, jezik pa se določi na podlagi končnice .rs.

Določanje jezika

Brez --lang se končnica nespremenjena uporabi kot ID jezika. To deluje, kadar je končnica hkrati vgrajen ID ali vzdevek — php, js, ts, tsx, py, rs, go, md, yml, json, sh in številne druge (glejte Jezike). Ne deluje pa za:

  • datoteke brez končnice, kot sta Makefile ali Dockerfile, za katere se uporabi txt;
  • končnice, ki niso ID jezika, kot je .txt.

txt ni vgrajen jezik, zato se oba primera trenutno končata z neobdelano napako Unknown language "txt" (usodna napaka #3 s sledjo sklada). Za te datoteke podajte --lang:

Lupina
vendor/bin/shikiphp highlight Dockerfile --lang=docker
vendor/bin/shikiphp highlight Makefile --lang=make

langs

Izpišite vsak ID jezika, ki ga sprejema paket, vsakega v svoji vrstici.

Lupina
vendor/bin/shikiphp langs

Seznam ima 350 vrstic: najprej so ID-ji 253 vgrajenih slovnic v vrstnem redu paketa (ne po abecedi), nato pa njihovih 97 vzdevkov (js, cjs, mjs itd.). Med ID-ji slovnic je tudi 18 pomožnih slovnic, ki jih vdelujejo druge slovnice, na primer vue-directives in es-tag-css; za katalog z imeni in vzdevki glejte Jezike. Za abecedni seznam uporabite sort.

themes

Izpišite vsak ID vgrajene teme v svoji vrstici, po abecednem vrstnem redu (65 tem).

Lupina
vendor/bin/shikiphp themes

Za katalog z imeni in oznakami svetlih/temnih tem glejte Teme.

Pomoč in izhodna koda

Za izpis navodil za uporabo zaženite brez ukaza ali z -h / --help / help.

Lupina
vendor/bin/shikiphp --help
Primer Izhod Izhodna koda
Uspeh ali pomoč standardni izhod 0
Neznan ukaz Unknown command: <name> na standardnem izhodu za napake 1
highlight brez datoteke ali datoteka ne obstaja vrstica z navodili za uporabo na standardnem izhodu za napake 1
Neznan jezik ali tema neujeta izjema Shikiphp\Exceptions\Highlight (usodna napaka PHP s sledjo sklada) 255