CLI
A shikiphp egy kis parancssori eszközt tartalmaz a bin/shikiphp útvonalon (a projektben vendor/bin/shikiphp néven települ). Három parancsa van: a highlight egy fájlt jelenít meg HTML formátumban, a langs és themes pedig felsorolja a csomag tartalmát.
highlight
Fájlt emel ki HTML formátumba, és a stdout kimenetére írja.
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
<file>— a beolvasandó útvonal. Létező fájlra kell mutatnia; a szabványos bemenetet nem olvassa be.--lang— a nyelvazonosító vagy alias. Ha nincs megadva, a fájlkiterjesztést változtatás nélkül használja azonosítóként (ha nincs kiterjesztés, akkortxtértékére vált).--theme— a témaazonosító. Alapértelmezése:github-dark.
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord
A kimenet ugyanaz az egytémás <pre class="shiki …"> blokk, amelyet a codeToHtml ad vissza, majd egy sortörés követi, így közvetlenül fájlba irányítható:
vendor/bin/shikiphp highlight src/App.php --theme=github-light > app.html
A parancs nem fogad el más kapcsolókat. Kéttémás módhoz, transzformátorokhoz vagy más beállítás használatához inkább a PHP API elemet hívja meg.
Kapcsolók és argumentumok
A kapcsolók --name=value formátumban adhatók meg. A -- jellel kezdődő egyéb argumentumokat a rendszer figyelmen kívül hagyja, a -- jellel nem kezdődő utolsó argumentum pedig a fájl lesz. Ezért a --lang php file.rs a file.rs fájlt Rust nyelvként emeli ki: a --lang figyelmen kívül marad, a php helyébe a file.rs lép, a nyelvet pedig a .rs kiterjesztés határozza meg.
Nyelv meghatározása
--lang nélkül a kiterjesztés változatlanul nyelvazonosítóvá válik. Ez akkor működik, ha a kiterjesztés maga is csomagolt azonosító vagy alias — php, js, ts, tsx, py, rs, go, md, yml, json, sh és még sok más esetben (lásd: Nyelvek). Az alábbi esetekben nem működik:
- kiterjesztés nélküli fájlok, például
MakefilevagyDockerfile, amelyeknél a rendszer visszaáll erre:txt; - olyan kiterjesztések, amelyek nem nyelvi azonosítók, például
.txt.
A txt nem beépített nyelv, ezért mindkét eset Unknown language "txt" hibával áll le (#3).
Ezekhez a fájlokhoz adja meg ezt: --lang:
vendor/bin/shikiphp highlight Dockerfile --lang=docker
vendor/bin/shikiphp highlight Makefile --lang=make
langs
Írja ki soronként a csomag által nyelvként elfogadott összes azonosítót.
vendor/bin/shikiphp langs
A lista 350 sort tartalmaz: először a beépített 253 nyelvtanazonosítókat a csomag szerinti sorrendben (nem ábécérendben), majd a hozzájuk tartozó 97 aliast (js, cjs, mjs és így tovább).
A nyelvtanazonosítók között 18 segédnyelvtan is van, amelyeket más nyelvtanok beágyaznak, például vue-directives és es-tag-css; a neveket és aliasokat tartalmazó katalógust lásd itt: Nyelvek. Ábécérendbe rendezett listához futtassa át a kimenetet ezen: sort.
themes
Írja ki soronként az összes beépített témát azonosítójuk szerint, ábécérendben (65 téma).
vendor/bin/shikiphp themes
A neveket és a világos/sötét típusokat tartalmazó katalógust lásd itt: Témák.
Súgó és kilépési állapot
Parancs nélkül, illetve -h / --help / help megadásával használati útmutatót ír ki.
vendor/bin/shikiphp --help
| Helyzet | Kimenet | Kilépési állapot |
|---|---|---|
| Siker vagy súgó | stdout | 0 |
| Ismeretlen parancs | Unknown command: <name> a stderr kimeneten |
1 |
highlight fájl nélkül, vagy ha a fájl nem létezik |
használati sor a stderr kimeneten | 1 |
| Ismeretlen nyelv vagy téma | nem kezelt Shikiphp\Exceptions\Highlight (PHP végzetes hiba veremnyommal) |
255 |