Esse recurso pode ser ajustado com ZLE_REMOVE_SUFFIX_CHARS
e ZLE_SPACE_SUFFIX_CHARS
parâmetros da shell.
-
Se a variável
ZLE_REMOVE_SUFFIX_CHARS
estiver definida, ela deverá conter um conjunto de caracteres que, quando digitado, fará com que os sufixos automáticos do preenchimento sejam removidos. SeZLE_REMOVE_SUFFIX_CHARS
não estiver definido, o comportamento padrão será igual aZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
-
Os caracteres definidos em
ZLE_SPACE_SUFFIX_CHARS
suffices são substituídos por um espaço. Ele também tem precedência sobreZLE_SPACE_SUFFIX_CHARS
Assim, para obter o comportamento desejado, deve ser suficiente definir
ZLE_SPACE_SUFFIX_CHARS=$'|&'
Parece que as ,
inseridas automaticamente nas enumerações de chave são sempre removidas ao digitar }
.
Embora zshparam(1)
mencione que certos sistemas de completação podem sobrescrever este comportamento, parece funcionar muito bem com o "novo" compsys
(você o chamou compadd
)