Starship é um prompt de shell mínimo e rápido escrito em Rust

12 de setembro de 2019

Ao longo dos anos, tentei vários prompts de shell sofisticados, mas sempre voltei ao username@host padrão simples porque achei os outros muito assustadores e desordenados, ou muito lentos para o meu gosto.

Até que me deparei com Starship, um prompt cross-shell/cross-platform. Usar os padrões é simples, mas também muito útil, fornecendo informações extras apenas quando necessário. É altamente personalizável também, e você pode torná-lo tão sofisticado quanto quiser, mas fiz apenas algumas pequenas alterações para minhas necessidades: fiz com que ele mostrasse o prompt em uma única linha e desativei a nova linha que ele adiciona acima do início de o prompt, porque precisa de mais rolagem.

Não quero aborrecê-lo com minha experiência pessoal, então deixe-me contar mais sobre a Starship e o que ela pode fazer.

Starship prompt

A Starship não é apenas mínima, sempre fora do seu caminho e apenas mostrando informações quando necessário, mas também é rápida e altamente personalizável, então você pode deixá-la bem sofisticada, se desejar. Escrito em Rust, o prompt deve funcionar com os shells mais comuns nos sistemas operacionais mais comuns (inclui instruções de configuração para Bash, Fish, Zsh), e apresenta:

  • Faz uso de uma fonte Powerline para indicar várias informações (e o prompt) como símbolo
  • O prompt fica vermelho quando o último comando existe com código diferente de zero
  • Só mostra o nome de usuário se não for o mesmo do usuário conectado (e para sessões root/ssh obviamente)
  • Integração com Git (mostra o branch atual do Git e o status do repositório) e pode mostrar a versão Node.js, Rust, Ruby, Python e Go
  • Mostra a versão do pacote no diretório atual para cargo (Rust), npm (Node.js) e poetry (Python)
  • Mostra o nível e o status atual da bateria
  • Detecção de ambiente Nix-shell
  • Mostra o tempo que levou para executar o último comando se ele exceder o limite configurável
  • Tem um indicador para trabalhos em execução em segundo plano

As opções de configuração atuais incluem:

  • permite definir qualquer caractere powerline que você desejar em vez do símbolo "❯" padrão, e mudar a cor
  • definir pedido imediato
  • configurar o tempo que leva até que Starship mostre o tempo que levou para executar um comando
  • definir o truncamento do caminho atual
  • mostrar a hora (desativado por padrão) com opções para definir o formato da hora
  • definir a forma como os níveis da bateria são mostrados
  • definir como o branch, estado e status do Git são mostrados
  • Mais

Leia mais sobre configurar a Starship e também verifique sua configuração avançada.

Por padrão, o prompt dStarship se parece com este:

Estelar promoção padrão

Se você deseja fazer com que se pareça com a captura de tela no topo do artigo (tenha todas as informações em uma única linha e desative a nova linha adicionada acima do prompt), crie ~/.config/starship.toml e a este arquivo adicione:

Comandos para usar no terminal

add_newline = false

[line_break]

disabled = true

O prompt da Starship é bastante novo, tendo seu primeiro lançamento em junho, e está sob intenso desenvolvimento, com sua página de documentação de configuração mencionando que muitas novas opções de configuração estarão disponíveis em releases.

Eu também gostaria de mencionar que os desenvolvedores de Starship estão procurando colaboradores de todos os níveis de habilidade, então se você puder e quiser ajudar, verifique a seção Contribuições de seu site.

Instale o Starship prompt

O site Starship faz um bom trabalho ao explicar como instalar e configurar esta ferramenta. Lembre-se de instalar uma fonte Powerline, caso ainda não o tenha feito (por exemplo, Fira Code).

Caso não deseje instalar o Starship usando os métodos apresentados no site do Starship (brew, cargo, etc.), você pode baixar binários pré-compilados do GitHub. Você pode instalar extraindo o arquivo e, em seguida, instalar o binário em /usr/local/bin (da pasta extraída) usando:

Comandos para usar no terminal

sudo install starship /usr/local/bin/

via Hacker News

Esse post foi traduzido do site LinuxUprising.com pela rtland.team.

Linux Uprising Blog

Confira a versão original desse post em inglês:

Starship Is A Minimal And Fast Shell Prompt Written In Rust
Propaganda
Propaganda