Gå til indhold

CLI

shikiphp indeholder et lille kommandolinjeværktøj i bin/shikiphp (installeret som vendor/bin/shikiphp i dit projekt). Det har tre kommandoer: highlight gengiver én fil til HTML, mens langs og themes viser pakkens indhold.

highlight

Fremhæv en fil til HTML, og skriv resultatet til stdout.

Shell
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
  • <file> — stien til filen, der skal læses. Filen skal findes; standardinput læses ikke.
  • --lang — sprog-ID'et eller aliaset. Hvis det udelades, bruges filtypen som ID, præcis som den er (eller txt, hvis der ikke er nogen filtype).
  • --theme — tema-ID'et. Standardværdien er github-dark.
Shell
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord

Outputtet er den samme blok med ét tema i <pre class="shiki …">, som codeToHtml returnerer, efterfulgt af et linjeskift, så det kan omdirigeres direkte til en fil:

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

Kommandoen accepterer ingen andre tilvalg. Ved dobbelte temaer, transformers eller andre tilvalg skal du i stedet kalde PHP API.

Valgmuligheder og argumenter

Valgmuligheder skal bruge formen --name=value. Andre argumenter, der begynder med --, ignoreres, og det sidste argument, der ikke begynder med --, bruges som filen. --lang php file.rs fremhæver derfor file.rs som Rust: --lang ignoreres, php erstattes af file.rs, og sproget bestemmes ud fra filtypenavnet .rs.

Sprogbestemmelse

Uden --lang bliver filtypenavnet uændret til sprog-id'et. Det fungerer, når filtypenavnet selv er et inkluderet id eller alias — php, js, ts, tsx, py, rs, go, md, yml, json, sh og mange flere (se Sprog). Det fungerer ikke for:

  • filer uden filtypenavn, såsom Makefile eller Dockerfile, som falder tilbage til txt;
  • filtypenavne, der ikke er et sprog-id, såsom .txt.

txt er ikke et inkluderet sprog, så begge tilfælde ender i øjeblikket med en Unknown language "txt"-fejl (#3). Angiv --lang for disse filer:

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

langs

Udskriv hvert id, som pakken accepterer som sprog, ét pr. linje.

Shell
vendor/bin/shikiphp langs

Listen har 350 linjer: de 253 inkluderede grammatik-id'er i pakkens rækkefølge (ikke alfabetisk), efterfulgt af deres 97 aliaser (js, cjs, mjs osv.). Grammatik-id'erne omfatter 18 hjælpegrammatikker, som andre grammatikker indlejrer, såsom vue-directives og es-tag-css; se Sprog for kataloget med navne og aliaser. Send listen gennem sort for at få den sorteret alfabetisk.

themes

Udskriv hvert inkluderet tema-id, ét pr. linje, i alfabetisk rækkefølge (65 temaer).

Shell
vendor/bin/shikiphp themes

Se Temaer for kataloget med navne og lyse/mørke typer.

Hjælp og afslutningsstatus

Kør uden kommando eller med -h / --help / help for at udskrive brugsvejledning.

Shell
vendor/bin/shikiphp --help
Situation Output Afslutningsstatus
Succes eller hjælp stdout 0
Ukendt kommando Unknown command: <name> på stderr 1
highlight uden en fil, eller filen findes ikke brugsvejledningen på stderr 1
Ukendt sprog eller tema en ikke-håndteret Shikiphp\Exceptions\Highlight (fatal PHP-fejl med stacktrace) 255