Ho scritto uno strumento della riga di comando che utilizza comandi secondari molto simile Mercurial, Git, Subversion & c, in quanto il suo utilizzo generale è:.Completamento quando il programma è sotto-comandi
>myapp [OPTS] SUBCOMMAND [SUBCOMMAND-OPTS] [ARGS]
Ad es
>myapp --verbose speak --voice=samantha --quickly "hello there"
Sono ora nel processo di costruzione di completamento Zsh per esso, ma hanno rapidamente scoperto che si tratta di una bestia molto complessa. Ho dato un'occhiata ai completamenti _hg
e _git
ma sono molto complessi e diversi nell'approccio (faccio fatica a capirli), ma entrambi sembrano gestire separatamente ciascun sottocomando.
Qualcuno sa se c'è un modo con il costruito nel funzioni (_arguments
, _values
, pick_variant
& c.) Per gestire correttamente il concetto di comandi secondari, tra cui la gestione delle opzioni generali e le opzioni specifiche sub-comando in modo appropriato? O l'approccio migliore sarebbe gestire manualmente le opzioni generali e il sottocomando?
Un esempio di noddy sarebbe molto apprezzato.
Molte grazie.
Questo è fantastico grazie mille. Mi fa piacere che tu abbia detto che "zshcompsys" è denso dato che stavo iniziando a pensare che ero io;) –
In 20 anni questo codice apparirà come un file binario per me oggi. – aaaaaa