Pāriet uz saturu

CLI

shikiphp ietver nelielu komandrindas rīku vietnē bin/shikiphp (projektā instalēts kā vendor/bin/shikiphp). Tam ir trīs komandas: highlight attēlo vienu failu HTML, bet langs un themes uzskaita komplekta saturu.

highlight

Izcelt failu uz HTML un izvadīt rezultātu stdout.

Apvalks
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
  • <file> — nolasāmā faila ceļš. Tam jābūt esošam failam; standarta ievade netiek nolasīta.
  • --lang — valodas ID vai aizstājvārds. Ja nav norādīts, faila paplašinājums tiek izmantots kā ID bez izmaiņām (ja tāda nav, izmanto txt).
  • --theme — tēmas ID. Pēc noklusējuma github-dark.
Apvalks
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord

Izvade ir tas pats vienas tēmas <pre class="shiki …"> bloks, ko atgriež codeToHtml, kam seko jauna rinda, tāpēc to var uzreiz novirzīt uz failu:

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

Komandai nav citu opciju. Divām tēmām, pārveidotājiem vai jebkurai citai opcijai izmantojiet PHP API.

Opcijas un argumenti

Opcijām jāizmanto forma --name=value. Jebkurš cits arguments, kas sākas ar --, tiek ignorēts, un par failu tiek uzskatīts pēdējais arguments, kas nesākas ar --. Tāpēc --lang php file.rs izceļ file.rs kā Rust: --lang tiek ignorēts, php tiek aizstāts ar file.rs, un valoda tiek noteikta pēc paplašinājuma .rs.

Valodas noteikšana

Ja nav --lang, paplašinājums kļūst par valodas ID bez izmaiņām. Tas darbojas, ja pats paplašinājums ir komplektā iekļauts ID vai aizstājvārds — php, js, ts, tsx, py, rs, go, md, yml, json, sh un daudzi citi (skatiet Valodas). Tas nedarbojas šādos gadījumos:

  • failiem bez paplašinājuma, piemēram, Makefile vai Dockerfile; tad tiek izmantots txt;
  • paplašinājumiem, kas nav valodas ID, piemēram, .txt.

txt nav komplektā iekļauta valoda, tāpēc abos gadījumos pašlaik tiek parādīta kļūda Unknown language "txt" (#3). Šiem failiem norādiet --lang:

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

langs

Izvadīt katru ID, ko komplekts pieņem kā valodu, pa vienam katrā rindā.

Apvalks
vendor/bin/shikiphp langs

Sarakstā ir 350 rindas: 253 komplektā iekļautie gramatiku ID komplekta secībā (nevis alfabētiskā secībā), kam seko to 97 aizstājvārdi (js, cjs, mjs utt.). Gramatiku ID ietver 18 palīggramatikas, ko iegulst citas gramatikas, piemēram, vue-directives un es-tag-css; katalogu ar nosaukumiem un aizstājvārdiem skatiet sadaļā Valodas. Lai iegūtu alfabētisku sarakstu, izmantojiet sort.

themes

Izvadīt katru komplektā iekļauto tēmas ID pa vienam katrā rindā alfabētiskā secībā (65 tēmas).

Apvalks
vendor/bin/shikiphp themes

Katalogu ar nosaukumiem un gaišo/tumšo tēmu veidiem skatiet sadaļā Tēmas.

Palīdzība un izejas statuss

Palaidiet bez komandas vai ar -h / --help / help, lai izvadītu lietošanas norādījumus.

Apvalks
vendor/bin/shikiphp --help
Situācija Izvade Izejas statuss
Veiksmīga izpilde vai palīdzība stdout 0
Nezināma komanda Unknown command: <name> uz stderr 1
highlight bez faila vai fails neeksistē lietošanas norādes rinda uz stderr 1
Nezināma valoda vai tēma neapstrādāts Shikiphp\Exceptions\Highlight (fatāla kļūda PHP ar steka izsekojumu) 255