
Como Criar Funções de Autocomplete para o Oh My Zsh
Como Criar Funções de Autocomplete para o Oh My Zsh
O Oh My Zsh é uma das ferramentas mais populares para melhorar a experiência no terminal, oferecendo temas e plugins que tornam o uso do shell mais produtivo e agradável. Um dos recursos mais poderosos é o autocomplete, que pode ser personalizado para comandos específicos.
Neste post, você vai aprender como criar sua própria função de autocomplete para comandos personalizados no Zsh.
🧠 Pré-requisitos
Antes de começar, certifique-se de que:
- Você tem o Oh My Zsh instalado.
- Está familiarizado com o uso básico do terminal.
- Tem um comando ou script que deseja adicionar autocomplete.
🛠️ Estrutura Básica de um Autocomplete
No Zsh, funções de autocomplete são geralmente definidas em arquivos que começam com _ e são colocadas em diretórios de funções ($fpath). Aqui está um exemplo básico:
# Arquivo: _meucomando # Função de autocomplete # $1 é o nome do comando _arguments \ '1:ação:(start stop restart status)' \ '2:opções:(--verbose --force)'
Esse exemplo cria sugestões para um comando chamado meucomando, com ações como start, stop, etc., e opções como --verbose.
📁 Onde Colocar o Arquivo
Você pode colocar o arquivo de autocomplete em um diretório como ~/.oh-my-zsh/custom/plugins/meuplugin/ e adicionar o plugin ao seu .zshrc:
plugins=(meuplugin)
Certifique-se de que o arquivo _meucomando esteja no $fpath. Você pode adicionar o diretório ao $fpath no seu .zshrc:
fpath=(~/.oh-my-zsh/custom/plugins/meuplugin $fpath)
🔄 Atualizando o Cache de Autocomplete
Depois de criar o arquivo, atualize o cache de autocomplete com:
autoload -Uz compinit && compinit
🧪 Exemplo Prático
Vamos criar um autocomplete para um comando fictício chamado deploy:
# Arquivo: _deploy _arguments \ '1:ambiente:(dev staging production)' \ '2:opções:(--dry-run --rollback)'
Agora, ao digitar deploy [TAB], você verá sugestões como dev, staging, production, e ao digitar deploy dev [TAB], verá --dry-run, --rollback.