Skip to content

Perguntas Frequentes

Qual é a configuração usada no GIF de demonstração?

Como eu consigo obter autocompletar de comando, conforme mostrado no GIF de demonstração?

O suporte de autocompletar, é provido pelo shell que você escolher. No caso da demonstração, é utilizado o Fish Shell, que prove autocompletar como padrão. Se você usa Z Shell (zsh), Eu sugiro que você dê uma olhada no zsh-autosuggestions.

De forma geral format e <module>.disabled fazem a mesma coisa?

Sim, ambos podem ser usados para desativar os mulos no prompt. Se seu objetivo geral é desativar modulos, <module>.disabled é o mais recomendado pelas seguintes razões:

  • Desabilitar módulos é mais explícito do que omiti-lo através do format
  • Modulos recém-criados serão adicionados quando o Starship for atualizado

As documentações dizem que o Starship é cross-shell. Porque minha shell preferida não é suportada?

A forma em que o Starship foi construído, faz com que ele seja compatível com qualquer shell. O binário do starship é sem estado e shell agnóstico, então se o seu shell suporta customização de prompt e expansão de shell, Starship pode ser utilizado.

Aqui está um pequeno exemplo de como o Starship funciona com o bash:

sh
# Recupera o status do último comando executado
STATUS=$?

# Recupera o número de jobs que estão rodando.
NUM_JOBS=$(jobs -p | wc -l)

# Define a saída do prompt para ´starship prompt`
PS1="$(starship prompt --status=$STATUS --jobs=$NUM_JOBS)"

A implementação do Bash embutida no Starship é um pouco mais complexa para aceitar recursos avançados como o Módulo de duração de comando e para garantir isto o Starship é compatível com configurações pre-instaladas.

Para uma lista de flags aceitos pelo starship prompt, use o seguinte comando:

sh
starship prompt --help

O prompt vai usar o contexto fornecido, mas nenhuma flag é obrigatória.

Como faço para rodar o Starship em distribuições Linux com versões antigas do glibc?

Se você está tendo um erro como "version 'GLIBC_2.18' not found (required by starship)" quando usa o binário prebuilt (por exemplo, no CentOS 6 ou 7), você pode usar um binário compilado com musl em vez do glibc:

sh
curl -sS https://starship.rs/install.sh | sh -s -- --platform unknown-linux-musl

Porque eu vejo alertas de Executing command "..." timed out.?

O Starship executa comandos diferentes para recuperar as informações para exibir no prompt, por exemplo a versão de um programa ou o status atual do git. Para ter certeza de que o starship não travou durante uma execução destes comandos nos definimos um limite de tempo, se um comando ultrapassar este limite o starship vai parar a execução do comando e exibe o alerta acima, esse é um comportamento esperado. Este limite de tempo é configurado usando a chave command_timeout então se você quiser você pode aumentar este limite. Você pode também seguir os passos para debugar para ver qual comando esta demorando e se você pode otimizar ele. Finalmente você pode definir a variável de ambiente STARSHIP_LOG para error para esconder estes alertas.

Eu vejo símbolos que não entendo ou não esperado, o que isso significa?

Se você vê símbolos que não reconhece você pode usar starship explain para exibir os módulos que estão sendo mostrados no momento.

O Starship esta fazendo algo inesperado, como eu posso debugar?

Você pode ativar os logs de debug usando a variavel de ambiente STARSHIP_LOG. Este logs podem ser bastantes verboso então é bastante útil usar o comando module se você esta tentando debugar um modulo em particular, por exemplo, se você esta tentando debugar o modulo rust você pode executar o seguinte comando para rastrear logs e saídas do modulo.

sh
env STARSHIP_LOG=trace starship module rust

If starship is being slow you can try using the timings command to see if there is a particular module or command that is to blame.

sh
env STARSHIP_LOG=trace starship timings

Isto vai retornar o rastreamento do log e um detalhamento de todos os módulos que levam mais que 1ms para executar ou produzir alguma saída.

Por fim se você encontrar um bug use o comando bug-report para criar um GitHub issue.

sh
starship bug-report

Por que não consigo visualizar um simbolo glifo no meu prompt?

A causa mais comum é a configuração incorreta do sistema. Algumas distribuições Linux em particular não vem com suporte de fontes pronto para uso. Você deve conferir os pontos abaixo:

  • Sua localização está configurada como UTF-8, como por exemplo de_DE.UTF-8 ou ja_JP.UTF-8. Se LC_ALL não estiver configurado como UTF-8, você deve mudar.
  • Você tem uma fonte de emoji instalda. A maioria dos sistemas vem com uma fonte de emoji instalada como padrão, mas alguns não (principalmente o Arch Linux). Você pode instalar uma em seu sistema, através do gerenciador de pacotes-noto emoji é uma escolha popular.
  • Você está usando uma Nerd Font.

Para testar seu sistema, execute o comando abaixo em um terminal:

sh
echo -e "\xf0\x9f\x90\x8d"
echo -e "\xee\x82\xa0"

A primeira linha deve produzir um emoji de cobra, enquanto a segunda linha deve produzir um um simbolo de bifurcação (e0a0).

Se um dos símbolos acima falhar seu sistema ainda está configurado de forma errada. Infelizmente, obter a configuração de fontes correta as vezes é difícil. Usuários no Discord podem te ajudar. Se os dois símbolos acima exibirem de forma correta, mas você ainda continua sem visualizar no Starship, registre um erro!

Como eu desinstalo o Starship?

O Starship é tão fácil de desinstalar tão como é para instalar.

  1. Remova qualquer linha da configuração do seu shell (ex: ~/.bashrc) usada para iniciar o Starship.
  2. Delete o binário do Starship.

Se o Starship foi instalando usando algum gerenciador de pacotes, por favor consulte as documentações do mesmo para instruções de desinstalação.

Se o Starship foi instalado usando o script de instalação, o comando abaixo irá remover o binário:

sh
# Localiza e exclui o binário do starship
sh -c 'rm "$(command -v 'starship')"'

How do I install Starship without sudo?

The shell install script (https://starship.rs/install.sh) only attempts to use sudo if the target installation directory is not writable by the current user. The default installation diretory is the value of the $BIN_DIR environment variable or /usr/local/bin if $BIN_DIR is not set. If you instead set the installation directory to one that is writable by your user, you should be able to install starship without sudo. For example, curl -sS https://starship.rs/install.sh | sh -s -- -b ~/.local/bin uses the -b command line option of the install script to set the installation directory to ~/.local/bin.

For a non-interactive installation of Starship, don't forget to add the -y option to skip the confirmation. Check the source of the installation script for a list of all supported installation options.

When using a package manager, see the documentation for your package manager about installing with or without sudo.