Preskočiť na obsah

CLI

shikiphp obsahuje malý nástroj príkazového riadka v bin/shikiphp (v projekte sa nainštaluje ako vendor/bin/shikiphp). Má tri príkazy: highlight vykreslí jeden súbor do HTML a príkazy langs a themes vypíšu obsah balíka.

highlight

Zvýrazní súbor do HTML a vypíše ho na štandardný výstup.

Shell
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
  • <file> — cesta k súboru na načítanie. Súbor musí existovať; štandardný vstup sa nenačítava.
  • --lang — ID jazyka alebo alias. Ak nie je zadaný, ako ID sa bez úprav použije prípona súboru (ak prípona chýba, použije sa txt).
  • --theme — ID témy. Predvolené je github-dark.
Shell
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord

Výstupom je ten istý blok <pre class="shiki …"> pre jednu tému, ktorý vracia codeToHtml, za ktorým nasleduje nový riadok, takže ho možno priamo presmerovať do súboru:

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

Príkaz neprijíma žiadne ďalšie možnosti. Pri použití dvoch tém, transformátorov alebo akejkoľvek inej možnosti namiesto neho zavolajte PHP API.

Možnosti a argumenty

Možnosti musia mať tvar --name=value. Ostatné argumenty začínajúce na -- sa ignorujú a za súbor sa považuje posledný argument, ktorý sa nezačína na --. Príkaz --lang php file.rs preto zvýrazní súbor file.rs ako Rust: --lang sa ignoruje, php nahradí hodnota file.rs a jazyk sa určí podľa prípony .rs.

Určenie jazyka

Bez možnosti --lang sa prípona bez úprav použije ako ID jazyka. Funguje to vždy, keď je samotná prípona ID alebo alias pribaleného jazyka — php, js, ts, tsx, py, rs, go, md, yml, json, sh a mnohé ďalšie (pozrite si Jazyky). Nefunguje to v týchto prípadoch:

  • súbory bez prípony, napríklad Makefile alebo Dockerfile, pri ktorých sa použije txt;
  • prípony, ktoré nie sú ID jazyka, napríklad .txt.

txt nie je pribalený jazyk, preto sa obe situácie momentálne končia chybou Unknown language "txt" (fatálnou chybou #3 so zásobníkom volaní). Pre tieto súbory zadajte --lang:

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

langs

Vypíše všetky ID, ktoré balík prijíma ako jazyk, každé na samostatný riadok.

Shell
vendor/bin/shikiphp langs

Zoznam má 350 riadkov: najprv sú uvedené 253 ID pribalených gramatík v poradí balíka (nie abecedne) a potom ich 97 aliasov (js, cjs, mjs atď.). ID gramatík zahŕňajú 18 pomocných gramatík, ktoré vkladajú iné gramatiky, napríklad vue-directives a es-tag-css; katalóg s názvami a aliasmi nájdete v časti Jazyky. Abecedný zoznam získate pomocou sort.

themes

Vypíše všetky ID pribalených tém, každé na samostatný riadok v abecednom poradí (65 tém).

Shell
vendor/bin/shikiphp themes

Katalóg s názvami a typmi (svetlý/tmavý) nájdete v časti Témy.

Pomocník a návratový stav

Ak chcete zobraziť návod na použitie, spustite príkaz bez príkazu alebo so zadaním -h / --help / help.

Shell
vendor/bin/shikiphp --help
Situácia Výstup Návratový stav
Úspech alebo pomoc stdout 0
Neznámy príkaz Unknown command: <name> na stderr 1
highlight bez súboru alebo neexistujúci súbor riadok s návodom na použitie na stderr 1
Neznámy jazyk alebo téma nezachytená chyba Shikiphp\Exceptions\Highlight (fatálna chyba PHP so zásobníkom volaní) 255