Completar línea de comandos

Informar un problema Ver fuente Noche}

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

Bash

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

Si instalaste Bazel:

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

  • En Homebrew, habrá terminado: la secuencia de comandos de finalización de Bash ya estará instalada en $(brew --prefix)/etc/bash_completion.d.

  • Desde el instalador que descargaste de GitHub, haz lo siguiente:

    1. Localiza 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, será $HOME/.bazel/bin. Si ejecutaste el instalador como raíz, este será /usr/local/lib/bazel/bin.

    2. Realiza una de las siguientes acciones:

      • Copia este archivo en 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 tu ~/.bashrc (en Ubuntu) o ~/.bash_profile (en macOS), mediante la ruta de acceso a la ruta de acceso absoluta del archivo de finalización:

        source /path/to/bazel-complete.bash
        
  • Usa el arranque y, luego, 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 siguientes acciones:

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

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

      • Cópialo en algún lugar del disco local, como a $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 tu ~/.bashrc (en Ubuntu) o ~/.bash_profile (en macOS), mediante la ruta de acceso a 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 Zsh.

Si instalaste Bazel:

  • En el repositorio de APT, habrás terminado: la secuencia de comandos de finalización Zsh ya estará 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 instalar y habilitar el complemento zsh-autocomplete. Si prefieres no hacerlo, usa una de las soluciones descritas anteriormente.

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

  • Desde el instalador que descargaste de GitHub, haz lo siguiente:

    1. Localiza 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, 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