Completar línea de comandos

Puedes habilitar la finalización de la línea de comandos (también conocida como autocompletado de pestañas) en Bash y Zsh. Esto te permite completar los nombres de comandos con tabulación, los nombres de las marcas y los valores de las marcas, y los nombres de los destinos.

Bash

Bazel incluye una secuencia de comandos de finalización de Bash.

Si instalaste Bazel, haz lo siguiente:

  • En el repositorio de APT, ya habrás terminado: la secuencia de comandos de finalización de Bash ya está instalada en /etc/bash_completion.d.

  • Desde Homebrew, habrás terminado. La secuencia de comandos de finalización de Bash ya está instalada en $(brew --prefix)/etc/bash_completion.d.

  • Desde el instalador descargado de GitHub, haz lo siguiente:

    1. Ubica la ruta de acceso absoluta del archivo de finalización. El instalador lo copió en el directorio bin.

      Ejemplo: Si ejecutaste el instalador con --user, este será $HOME/.bazel/bin. Si ejecutaste el instalador como raíz, este será /usr/local/lib/bazel/bin.

    2. Realiza una de las acciones siguientes:

      • Copia este archivo a tu directorio de finalización (si tienes uno).

        Ejemplo: En Ubuntu, este es el directorio /etc/bash_completion.d.

      • También puedes obtener el archivo de finalización desde el archivo RC de Bash.

        Agrega una línea similar a la que se muestra a continuación a ~/.bashrc (en Ubuntu) o ~/.bash_profile (en macOS) con la ruta de acceso absoluta del archivo de finalización:

        source /path/to/bazel-complete.bash
        
  • Mediante la inicialización, haz lo siguiente:

    1. Compila la secuencia de comandos de finalización:

      bazel build //scripts:bazel-complete.bash
      
    2. El archivo de finalización se compila en bazel-bin/scripts/bazel-complete.bash.

      Realiza una de las acciones siguientes:

      • Copia este archivo en tu directorio de finalización, si tienes uno.

        Ejemplo: En Ubuntu, este es el directorio /etc/bash_completion.d.

      • Cópiala en algún lugar de tu disco local, como en $HOME, y obtén el archivo de finalización del archivo RC de Bash.

        Agrega una línea similar a la que se muestra a continuación a ~/.bashrc (en Ubuntu) o ~/.bash_profile (en macOS) con la ruta de acceso absoluta del archivo de finalización:

        source /path/to/bazel-complete.bash
        

Zsh

Bazel incluye una secuencia de comandos de finalización de Zsh.

Si instalaste Bazel, haz lo siguiente:

  • En el repositorio de APT, ya habrás terminado: la secuencia de comandos de finalización de Zsh ya está instalada en /usr/share/zsh/vendor-completions.

    Si tienes un .zshrc muy personalizado y la función de autocompletado no funciona, prueba una de las siguientes soluciones:

    Agrega lo siguiente a tu .zshrc:

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

    o

    Sigue las instrucciones que aparecen aquí.

    Si usas oh-my-zsh, te recomendamos que instales y habilites el complemento zsh-autocomplete. Si prefieres no hacerlo, usa una de las soluciones descritas anteriormente.

  • Desde Homebrew, eso es todo: la secuencia de comandos de finalización de Zsh ya está instalada en $(brew --prefix)/share/zsh/site-functions.

  • Desde el instalador descargado de GitHub, haz lo siguiente:

    1. Ubica la ruta de acceso absoluta del archivo de finalización. El instalador lo copió en el directorio bin.

      Ejemplo: Si ejecutaste el instalador con --user, este será $HOME/.bazel/bin. Si ejecutaste el instalador como raíz, este será /usr/local/lib/bazel/bin.

    2. Agrega esta secuencia de comandos a un directorio en tu $fpath:

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

      Es posible que debas llamar a rm -f ~/.zcompdump; compinit la primera vez para que funcione.

    3. De manera opcional, agrega lo siguiente al archivo .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