Preenchimento de linha de comando

Informar um problema Ver fonte Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

É possível ativar a conclusão de linha de comando (também conhecida como conclusão com tabulação) no Bash e no Zsh. Isso permite preencher com a tecla Tab nomes de comandos, nomes e valores de flags e nomes de destinos.

Bash

O Bazel vem com um script de conclusão do Bash.

Se você instalou o Bazel:

  • No repositório APT, você já terminou. O script de conclusão do Bash já está instalado em /etc/bash_completion.d.

  • Se você fez isso, o script de conclusão do Bash já está instalado em $(brew --prefix)/etc/bash_completion.d.

  • No instalador baixado do GitHub, faça o seguinte:

    1. Localize o caminho absoluto do arquivo de conclusão. O instalador copiou para o diretório bin.

      Por exemplo, se você executou o instalador com --user, o valor será $HOME/.bazel/bin. Se você executou o instalador como root, será /usr/local/lib/bazel/bin.

    2. Escolha uma destas opções:

      • Copie esse arquivo para o diretório de conclusão (se você tiver um).

        Exemplo: no Ubuntu, esse é o diretório /etc/bash_completion.d.

      • Ou extraia o arquivo de conclusão do arquivo RC do Bash.

        Adicione uma linha semelhante à abaixo ao seu ~/.bashrc (no Ubuntu) ou ~/.bash_profile (no macOS), usando o caminho absoluto do arquivo de conclusão:

        source /path/to/bazel-complete.bash
        
  • Usando bootstrap:

    1. Emita o script de conclusão em um arquivo:

      bazel help completion bash > bazel-complete.bash
      
    2. Escolha uma destas opções:

      • Copie esse arquivo para o diretório de conclusão, se você tiver um.

        Exemplo: no Ubuntu, esse é o diretório /etc/bash_completion.d

      • Copie para algum lugar no disco local, como $HOME, e origem do arquivo de conclusão do arquivo RC do Bash.

        Adicione uma linha semelhante à abaixo ao seu ~/.bashrc (no Ubuntu) ou ~/.bash_profile (no macOS), usando o caminho absoluto do arquivo de conclusão:

        source /path/to/bazel-complete.bash
        

Zsh

O Bazel vem com um script de conclusão do Zsh.

Se você instalou o Bazel:

  • No repositório APT, você já terminou. O script de conclusão do Zsh já está instalado em /usr/share/zsh/vendor-completions.

    Se você tiver um .zshrc altamente personalizado e o preenchimento automático não funcionar, tente uma das seguintes soluções:

    Adicione o seguinte ao seu .zshrc:

        zstyle :compinstall filename '/home/tradical/.zshrc'
    
        autoload -Uz compinit
        compinit
    

    ou

    Siga as instruções aqui

    Se você estiver usando o oh-my-zsh, talvez queira instalar e ativar o plug-in zsh-autocomplete. Se preferir não fazer isso, use uma das soluções descritas acima.

  • Se você fez isso, o script de conclusão do Zsh já está instalado em $(brew --prefix)/share/zsh/site-functions.

  • No instalador baixado do GitHub, faça o seguinte:

    1. Localize o caminho absoluto do arquivo de conclusão. O instalador copiou para o diretório bin.

      Por exemplo, se você executou o instalador com --user, o valor será $HOME/.bazel/bin. Se você executou o instalador como root, será /usr/local/lib/bazel/bin.

    2. Adicione este script a um diretório no seu $fpath:

      fpath[1,0]=~/.zsh/completion/
      mkdir -p ~/.zsh/completion/
      cp /path/from/above/step/_bazel ~/.zsh/completion
      

      Talvez seja necessário chamar rm -f ~/.zcompdump; compinit na primeira vez para que ele funcione.

    3. Se quiser, adicione o seguinte ao seu .zshrc.

      # This way the completion script does not have to parse Bazel's options
      # repeatedly.  The directory in cache-path must be created manually.
      zstyle ':completion:*' use-cache on
      zstyle ':completion:*' cache-path ~/.zsh/cache