Preenchimento de linha de comando

É possível ativar o preenchimento de linha de comando (também conhecido como preenchimento com tabulação) em Bash e Zsh. Isso permite completar a tabulação de nomes de comandos, nomes de sinalizações e valores de sinalização, além de nomes de destino.

Bash

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

Se você instalou o Bazel:

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

  • No Homebrew, está tudo pronto. O script de conclusão do Bash já está instalado em $(brew --prefix)/etc/bash_completion.d.

  • No instalador transferido por download do GitHub, faça o seguinte:

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

      Exemplo: se você executou o instalador com --user, ele será $HOME/.bazel/bin. Se você executou o instalador como raiz, ele será /usr/local/lib/bazel/bin.

    2. Escolha uma destas opções:

      • Copie esse arquivo para o diretório de conclusão (se houver).

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

      • ou use o arquivo RC de Bash como origem do arquivo de conclusão.

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

        source /path/to/bazel-complete.bash
        
  • Por meio de bootstrap, em seguida:

    1. Crie o script de conclusão:

      bazel build //scripts:bazel-complete.bash
      
    2. O arquivo de conclusão é criado em bazel-bin/scripts/bazel-complete.bash.

      Escolha uma destas opções:

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

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

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

        Adicione uma linha semelhante à abaixo a ~/.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 Zsh.

Se você instalou o Bazel:

  • No repositório APT, está tudo pronto. 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 soluções a seguir:

    Adicione o seguinte ao seu .zshrc:

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

    ou

    Siga estas instruções.

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

  • No Homebrew, está tudo pronto. O script de conclusão do Zsh já está instalado em $(brew --prefix)/share/zsh/site-functions.

  • No instalador transferido por download do GitHub, faça o seguinte:

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

      Exemplo: se você executou o instalador com --user, ele será $HOME/.bazel/bin. Se você executou o instalador como raiz, ele 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. Como opção, 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