CLI
shikiphp bevat een klein opdrachtregelprogramma op bin/shikiphp (in uw project geïnstalleerd als vendor/bin/shikiphp). Het heeft drie opdrachten: highlight geeft één bestand weer naar HTML, en langs en themes geven de inhoud van de bundel weer.
highlight
Markeer een bestand naar HTML en schrijf de uitvoer naar stdout.
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
<file>— het pad om te lezen. Dit moet een bestaand bestand zijn; standaardinvoer wordt niet gelezen.--lang— de taal-ID of alias. Als deze ontbreekt, wordt de bestandsextensie ongewijzigd als ID gebruikt (en als die ontbreekt, wordt teruggevallen optxt).--theme— de thema-ID. Standaard is ditgithub-dark.
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord
De uitvoer is hetzelfde blok met één thema in <pre class="shiki …"> dat codeToHtml retourneert, gevolgd door een regeleinde, zodat u het rechtstreeks naar een bestand kunt omleiden:
vendor/bin/shikiphp highlight src/App.php --theme=github-light > app.html
De opdracht accepteert geen andere opties. Gebruik voor dubbele thema's, transformers of een andere optie de PHP API.
Opties en argumenten
Opties moeten de vorm --name=value gebruiken. Elk ander argument dat begint met -- wordt genegeerd; het laatste argument dat niet met -- begint, wordt als bestand gebruikt. --lang php file.rs markeert daarom file.rs als Rust: --lang wordt genegeerd, php wordt vervangen door file.rs en de taal wordt afgeleid van de extensie .rs.
Taal afleiden
Zonder --lang wordt de taal-id ongewijzigd gebruikt. Dat werkt
wanneer de extensie zelf een meegeleverde id of alias is — php, js, ts,
tsx, py, rs, go, md, yml, json, sh en vele andere (zie
Talen). Het werkt niet voor:
- bestanden zonder extensie, zoals
MakefileofDockerfile, die terugvallen optxt; - extensies die geen taal-id zijn, zoals
.txt.
txt is geen meegeleverde taal, dus beide gevallen eindigen momenteel met een
Unknown language "txt"-fout (#3).
Geef voor deze bestanden --lang mee:
vendor/bin/shikiphp highlight Dockerfile --lang=docker
vendor/bin/shikiphp highlight Makefile --lang=make
langs
Print elke id die de bundel als taal accepteert, één per regel.
vendor/bin/shikiphp langs
De lijst bevat 350 regels: de 253 meegeleverde grammatica-id's in bundelvolgorde (niet
alfabetisch), gevolgd door hun 97 aliassen (js, cjs, mjs enzovoort).
De grammatica-id's omvatten 18 hulpgrammatica's die door andere grammatica's worden ingesloten, zoals
vue-directives en es-tag-css; zie Talen voor de
catalogus met namen en aliassen. Leid de lijst door sort voor een alfabetische lijst.
themes
Print elke id van een meegeleverd thema, één per regel, in alfabetische volgorde (65 thema's).
vendor/bin/shikiphp themes
Zie Thema's voor de catalogus met namen en lichte/donkere typen.
Help en afsluitstatus
Voer de opdracht zonder argumenten uit, of gebruik -h / --help / help om de gebruiksinformatie weer te geven.
vendor/bin/shikiphp --help
| Situatie | Uitvoer | Afsluitstatus |
|---|---|---|
| Geslaagd of help | stdout | 0 |
| Onbekende opdracht | Unknown command: <name> op stderr |
1 |
highlight zonder bestand, of het bestand bestaat niet |
de gebruiksregel op stderr | 1 |
| Onbekende taal of thema | een niet-opgevangen Shikiphp\Exceptions\Highlight (PHP fatale fout met stacktrace) |
255 |