Hoppa till innehåll

CLI

shikiphp innehåller ett litet kommandoradsverktyg på bin/shikiphp (installeras som vendor/bin/shikiphp i ditt projekt). Det har tre kommandon: highlight renderar en fil till HTML, medan langs och themes listar vad paketet innehåller.

highlight

Markera en fil till HTML och skriv ut resultatet till stdout.

Shell
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
  • <file> — sökvägen som ska läsas. Det måste vara en befintlig fil; standardindata läses inte.
  • --lang — språk-id eller alias. Om det utelämnas används filändelsen som den är som id (om ingen finns används txt).
  • --theme — tema-id. Standardvärdet är github-dark.
Shell
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord

Resultatet är samma block med ett enda tema i <pre class="shiki …"> som codeToHtml returnerar, följt av en radbrytning, så att det kan omdirigeras direkt till en fil:

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

Kommandot tar inga andra alternativ. För två teman, transformatorer eller andra alternativ använder du i stället PHP API.

Alternativ och argument

Alternativ måste ha formen --name=value. Alla andra argument som börjar med -- ignoreras, och det sista argumentet som inte börjar med -- används som fil. Därför markerar --lang php file.rs file.rs som Rust: --lang ignoreras, php ersätts av file.rs och språket hämtas från ändelsen .rs.

Språkinferens

Utan --lang blir filändelsen språk-id:t oförändrat. Det fungerar när ändelsen själv är ett paketerat id eller alias — php, js, ts, tsx, py, rs, go, md, yml, json, sh och många fler (se Språk). Det fungerar inte för:

  • filer utan filändelse, till exempel Makefile eller Dockerfile, som använder txt som reservvärde;
  • filändelser som inte är språk-id:n, till exempel .txt.

txt är inte ett paketerat språk, så båda fallen avslutas för närvarande med ett Unknown language "txt"-fel (#3). Ange --lang för sådana filer:

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

langs

Skriv ut varje id som paketet godtar som språk, ett per rad.

Shell
vendor/bin/shikiphp langs

Listan har 350 rader: de 253 paketerade grammatik-id:na i paketordning (inte alfabetisk ordning), följda av deras 97 alias (js, cjs, mjs och så vidare). Grammatik-id:na omfattar 18 hjälpargrammatiker som bäddas in i andra grammatiker, till exempel vue-directives och es-tag-css. Se Språk för katalogen med namn och alias. Skicka listan genom sort för att sortera den alfabetiskt.

themes

Skriv ut varje paketerat tema-id, ett per rad, i alfabetisk ordning (65 teman).

Shell
vendor/bin/shikiphp themes

Se Teman för katalogen med namn och typerna ljus/mörk.

Hjälp och avslutningsstatus

Kör utan kommando eller med -h / --help / help för att skriva ut användningsinformation.

Shell
vendor/bin/shikiphp --help
Situation Resultat Avslutningsstatus
Lyckat eller hjälp stdout 0
Okänt kommando Unknown command: <name> till stderr 1
highlight utan fil, eller om filen inte finns användningsraden till stderr 1
Okänt språk eller tema ett ohanterat Shikiphp\Exceptions\Highlight (PHP allvarligt fel med stackspårning) 255