Finalización de la línea de comandos

Informa un problema Ver código fuente

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 con tabulación los nombres de comandos, los nombres de marcas y los valores de marcas y los nombres de destino.

Bash

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

Si instalaste Bazel:

  • Eso es todo desde el repositorio de APT; la secuencia de comandos de finalización de Bash ya está instalada en /etc/bash_completion.d.

  • Por último, desde Homebrew, 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, realiza las siguientes acciones:

    1. Ubica la ruta de acceso absoluta del archivo de finalización. El instalador la 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. Realice una de las siguientes acciones:

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

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

      • O bien obtén el archivo de finalización desde el archivo RC de Bash.

        Agrega una línea similar a la siguiente 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
        
  • Mediante un arranque, 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.

      Realice una de las siguientes acciones:

      • Copia este archivo a 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 de tu disco local, como $HOME, y genera el archivo de finalización desde el archivo RC de Bash.

        Agrega una línea similar a la siguiente 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 de Zsh.

Si instalaste Bazel:

  • Eso es todo desde el repositorio de APT; 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 el 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.

  • Por ejemplo, desde Homebrew, listo, 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, realiza las siguientes acciones:

    1. Ubica la ruta de acceso absoluta del archivo de finalización. El instalador la 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 forma opcional, puedes agregar lo siguiente a tu 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