External Command tool
Verktøyet External Command sender teksten i hver blokk gjennom et eksternt kommandolinjeverktøy og bruker programmets standardutdata som ny tekst. Det lar en pipeline gjenbruke et eksisterende CLI-filter – en tilpasset normaliserer, en stavelsesretter, en translitterator – uten å skrive et eget verktøy.
Tekst kan sendes til kommandoen via standardinndata eller settes inn i argumentlisten via plassholderne ${source} og ${target}. En kommando er påkrevd, og en målspråkkode er påkrevd når verktøyet brukes på målteksten. Hver kjøring har en tidsgrense; avslutningskoden registreres på blokken, og en verdi ulik null lar teksten være uendret og registrerer feilen.
Dette verktøyet kjører kode som oppskriften velger, og er derfor sperret. Det tilhører exec-klassen: et prosjekt som navngir det i en flyt, kjører kommandoer med dine rettigheter og ditt miljø, og en oppskrift er bundet av å gå inn i en katalog. kapi spør derfor én gang per prosjekt, før noe annet skjer med det, og husker svaret; en uovervåket kjøring uten noen å spørre avslår i stedet for å anta. KAPI_TRUST_EXEC=1 gir tillatelse der pipeline-forfatteren bestemmer det, ikke i repositoriet som behandles. Den samme klassifiseringen holder dette verktøyet borte fra agentflaten, fra motor-API-et og fra enhver oppskrift som ankommer i en .kpz-fil. Se E-06.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
applySource | boolean | false | Behandle kildetekst |
applyTarget | boolean | true | Behandle måltekst |
args | string[] | Kommandoargumenter; bruk ${source} og ${target} som plassholdere | |
command | string | Kommandoen som skal kjøres | |
sendAsStdin | boolean | true | Send tekst via stdin i stedet for kommandobargumenter |
targetLocale | string | Mållokal for behandling | |
timeout | integer | 30 | Tidsavbrudd i sekunder |
Configure it live
Examples
Send måltekst gjennom en formateringsmotor
Kjør et eksternt program på målet og send tekst på stdin.
command: my-formatter
applyTarget: true
targetLocale: fr
Send tekst som et argument
Sett inn teksten i argumentlisten i stedet for stdin.
command: transform
args: ["--text", "${source}"]
applySource: true
sendAsStdin: false
Processing notes
Opererer kun på oversettbare blokker; ikke-oversettbare blokker passerer gjennom uendret.
Etterfølgende linjeskift fjernes fra det innhentede resultatet.
Limitations
En ikke-null avslutnignskode lar teksten være uendret og registrerer avslutnignskoden og feilmeldingen som blokkegenskaper.
Kommandoen kjøres én gang per blokk per omfang (kilde og/eller mål), noe som kan være tregt for store dokumenter.
← Back to the Tool Reference