CLI
shikiphp zawiera niewielkie narzędzie wiersza poleceń pod adresem bin/shikiphp (instalowane w projekcie jako
vendor/bin/shikiphp). Udostępnia trzy polecenia: highlight
rendruje pojedynczy plik do HTML, a langs i themes wyświetlają zawartość pakietu.
highlight
Podświetl plik do HTML i wypisz wynik na stdout.
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
<file>— ścieżka do odczytu. Plik musi istnieć; dane ze standardowego wejścia nie są odczytywane.--lang— identyfikator języka lub alias. Jeśli go pominięto, rozszerzenie pliku jest używane bez zmian jako identyfikator (a gdy go brak, stosowane jesttxt).--theme— identyfikator motywu. Domyślniegithub-dark.
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord
Wynik to ten sam blok <pre class="shiki …"> z jednym motywem, który zwraca
codeToHtml, po którym następuje znak nowej linii, dzięki czemu
można go bezpośrednio przekierować do pliku:
vendor/bin/shikiphp highlight src/App.php --theme=github-light > app.html
Polecenie nie przyjmuje innych opcji. W przypadku dwóch motywów, transformerów lub innej opcji użyj zamiast tego PHP API.
Opcje i argumenty
Opcje muszą mieć postać --name=value. Pozostałe argumenty rozpoczynające się od
-- są ignorowane, a ostatni argument, który nie zaczyna się od --, jest traktowany jako
plik. Dlatego --lang php file.rs podświetla file.rs jako Rust: --lang
jest ignorowane, php zostaje zastąpione przez file.rs, a język jest określany na podstawie
rozszerzenia .rs.
Określanie języka
Bez --lang rozszerzenie staje się niezmienionym identyfikatorem języka. Działa to,
gdy rozszerzenie jest identyfikatorem lub aliasem z pakietu — php, js, ts,
tsx, py, rs, go, md, yml, json, sh i wiele innych (zobacz
Języki). Nie działa to w przypadku:
- plików bez rozszerzenia, takich jak
MakefilelubDockerfile, dla których stosowane jesttxt; - rozszerzeń, które nie są identyfikatorami języka, takich jak
.txt.
txt nie jest dołączonym językiem, więc w obu przypadkach pojawia się obecnie
nieobsłużony błąd Unknown language "txt" (#3).
W przypadku tych plików przekaż --lang:
vendor/bin/shikiphp highlight Dockerfile --lang=docker
vendor/bin/shikiphp highlight Makefile --lang=make
langs
Wyświetl każdy identyfikator języka akceptowany przez pakiet, po jednym w wierszu.
vendor/bin/shikiphp langs
Lista zawiera 350 wierszy: 253 identyfikatorów dołączonych gramatyk w kolejności pakietu (nie
alfabetycznej), a następnie ich 97 aliasów (js, cjs, mjs itd.).
Identyfikatory gramatyk obejmują 18 gramatyk pomocniczych osadzanych przez inne gramatyki, takich jak
vue-directives i es-tag-css; pełny katalog nazw i aliasów znajdziesz w sekcji Języki. Aby uzyskać listę alfabetyczną, użyj potoku z sort.
themes
Wyświetl każdy identyfikator dołączonego motywu, po jednym w wierszu, w kolejności alfabetycznej (65 motywów).
vendor/bin/shikiphp themes
Katalog nazw oraz typów jasny/ciemny znajdziesz w sekcji Motywy.
Pomoc i status zakończenia
Uruchom bez polecenia albo z -h / --help / help, aby wyświetlić instrukcję użycia.
vendor/bin/shikiphp --help
| Sytuacja | Wynik | Status zakończenia |
|---|---|---|
| Sukces lub pomoc | stdout | 0 |
| Nieznane polecenie | Unknown command: <name> na stderr |
1 |
highlight bez pliku lub nieistniejący plik |
wiersz instrukcji użycia na stderr | 1 |
| Nieznany język lub motyw | nieobsłużony Shikiphp\Exceptions\Highlight (błąd krytyczny PHP ze śladem stosu) |
255 |