Completar línea de comandos

Informar un problema Ver fuente Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

Bash

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

Si instalaste Bazel, haz lo siguiente:

  • Desde el repositorio de APT, ya está todo listo. La secuencia de comandos de finalización de Bash ya está instalada en /etc/bash_completion.d.

  • Desde Homebrew, ya está todo listo: la secuencia de comandos de finalización de Bash ya está instalada en $(brew --prefix)/etc/bash_completion.d.

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

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

      Ejemplo: Si ejecutaste el instalador con --user, este será $HOME/.bazel/bin. Si ejecutaste el instalador como raíz, 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.

      • O bien, toma el archivo de finalización del archivo RC de Bash.

        Agrega una línea similar a la siguiente a tu ~/.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
        
  • A través del inicio, 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 de tu disco local, como $HOME, y usa 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), 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:

  • Desde el repositorio de APT, ya está todo listo. 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 se indican 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, ya está todo listo: la secuencia de comandos de finalización de Zsh ya está instalada en $(brew --prefix)/share/zsh/site-functions.

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

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

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

    2. Agrega esta secuencia de comandos a un directorio de 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 a tu .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