Adicione sequências à conclusão da guia zsh para todos os comandos e argumentos

3

Eu quero adicionar as palavras-chave foo e bar a serem adicionadas aos resultados da conclusão automática de qualquer comando ou argumento.

por exemplo:

cd <TAB> deve indicar as sugestões além das conclusões existentes

blah <TAB> deve indicar as sugestões além das conclusões existentes.

Os artigos de conclusão do zsh têm lido métodos de menção para adicionar conclusões a comandos específicos, mas nenhum menciona como adicionar um conjunto de palavras a conclusões globais (ou se existe uma lista de conclusão global que sempre existe)

    
por woodstok 24.05.2016 / 21:41

1 resposta

2

Tive que vasculhar o manual do zshcompsys para descobrir os comandos certos

O código abaixo no final de ~ / .zshrc funciona para mim

function _my_completions() {
  local -a mywords
  mywords=( foo bar )
  compadd -a mywords
}
compdef _my_completions -first-

O sinalizador importante aqui é o contexto -first- . De acordo com a página man do zshcompsys

-first-
     This is tried before any other completion function.  The function called may set the _compskip parameter 
     to one of various values: all: no further completion is attempted; a string containing the 
     substring patterns: no pattern completion functions will be called; a string containing default: the
     function for the '-default-' context will not be called, but functions defined for commands will
    
por 25.05.2016 / 23:11