zsh
è grande, ma il suo sistema di completamento è molto varia. E la documentazione manca di buoni esempi. Esiste un modello per il completamento per un'applicazione specifica. Il completamento otterrebbe i dati di corrispondenza da un file, separati da nuove righe?Fai zsh argomentazioni complete da un file
Ho provato modificando un vecchio esempio di mio che prende i dati delle partite "live":
~ % cat .zsh/completers/_jazzup
#compdef jazz_up
_arguments "2: :(`mpc lsplaylists|sed -e 's# #\\\\ #g'`)"
potevo fornire cat my_file
lì, invece di mpc
invocazione e così via, ma ci sarebbe una più elegante modo per farlo compito semplice? E tale completamento è specifico del posizionamento: puoi fornire un esempio in cui zsh tenterebbe di completare in qualsiasi momento dopo che il nome del programma è stato riconosciuto?
dati match avranno spazi bianchi e così via, il completamento dovrebbero sfuggire al WS. Esempio di questo:
Foo bar
Barbaric
Get it (42)
Ora, se questo termine sarebbe essere configurato per un comando Say
, dovremmo ottenere questo tipo di comportamento da zsh
:
$ Say Fo<TAB>
$ Say Foo\ bar
$ Say Ge<TAB>
$ Say Get\ it\ \(42\)
Fantastico. Ti assegnerò un premio se riesci ad aprire un po 'sui riferimenti e sui dettagli, ma questo è l'esempio perfetto che stavo cercando. – progo
Grazie mille. Questa è di gran lunga la soluzione più concisa che ho trovato per il completamento di zsh. Merita molto più uptotes di quanto non sia ricevuto. –
Dove posso ottenere informazioni sui flag 'uf' – Timo