# Configuração
Para começar a configurar a starship, crie o seguinte arquivo: `~/.config/starship.toml`.
```sh
mkdir -p ~/.config && touch ~/.config/starship.toml
```
Todas as configurações do starship são feitas neste arquivo [TOML](https://github.com/toml-lang/toml):
```toml
# Obtém os preenchimentos automáticos do editor com base em um esquema de configuração
"$schema" = 'https://starship.rs/config-schema.json'
# Insere uma quebra de linha entre os prompts do shell
add_newline = true
# Substitui o símbolo "❯" no prompt por "➜"
[character] # O nome do módulo que estamos configurando é "character"
success_symbol = "[➜](bold green)" # O segmento "success_symbol" está sendo definido como "➜" com a cor verde em negrito
# Desativa o módulo do pacote, ocultando-o completamente do prompt
[package]
disabled = true
```
Você pode alterar o caminho padrão do arquivo de configuração com a variável de ambiente `STARSHIP_CONFIG`:
```sh
export STARSHIP_CONFIG=~/example/non/default/path/starship.toml
```
No PowerShell (Windows) você pode adicionar a seguinte linha no seu `$PROFILE`:
```powershell
$ENV:STARSHIP_CONFIG = "$HOME\example\non\default\path\starship.toml"
```
Ou para Cmd (Windows) seria adicionar esta linha no seu `starship.lua`:
```lua
os.setenv('STARSHIP_CONFIG', 'C:\\Users\\user\\example\\non\\default\\path\\starship.toml')
```
### Logging
Por padrão o starship grava logs de erros e warnings dentro de um arquivo chamado `~/.cache/starship/session_${STARSHIP_SESSION_KEY}.log`, onde a session key corresponde a instancia do seu terminal. Isto, no entanto pode ser alterado usando a variável de ambiente `STARSHIP_CACHE`:
```sh
export STARSHIP_CACHE=~/.starship/cache
```
No PowerShell (Windows) você pode adicionar a seguinte linha no seu `$PROFILE`:
```powershell
$ENV:STARSHIP_CACHE = "$HOME\AppData\Local\Temp"
```
Ou para Cmd (Windows) seria adicionar esta linha no seu `starship.lua`:
```lua
os.setenv('STARSHIP_CACHE', 'C:\\Users\\user\\AppData\\Local\\Temp')
```
### Terminologia
**Módulo**: Um componente no prompt que fornece informações baseado no contexto do seu SO. Por exemplo, o "nodejs"módulo exibe a versão do Node.js que está instalada no computador, se o diretório atual for um projeto Node.js.
**Variável**: Um pequeno subcomponente que contem informações fornecidas pelo módulo. Por exemplo, a variável "version" no módulo "nodejs"contem a versão atual do Node.js.
Por convenção, a maioria dos módulos tem um prefixo de cor (e.x. `via` no "nodejs") e um espaço vazio para sufixo.
### Formatação de Strings
Formatar uma string é a forma de como o módulo ira imprimir suas variáveis. A maioria dos módulos tem uma entrada chamada `format` que configura o formato que o módulo é exibido. Você pode usar textos, variáveis e grupo de textos em uma formatação de string.
#### Variável
Uma variável contem um simbolo `$` seguido pelo nome da variável. O nome de uma variável pode apenas conter letras, números e `_`.
Por exemplo:
- `$version` é uma formatação de string com uma variável chamada `version`.
- `$git_branch$git_commit` é uma formatação de string com duas variáveis chamadas `git_branch` e `git_commit`.
- `$git_branch $git_commit` Tem as duas variáveis separadas por espaço.
#### Grupo de Texto
Um grupo de texto é composto por duas partes diferentes.
A primeira parte, é contida em um `[]`, é uma [formatação de string](#format-strings). Você pode adicionar textos, variáveis ou até mesmos grupo de textos aninhados.
Na segunda parte, é composta por um `()`, é uma [estilização de string](#style-strings). Isto pode ser usado para estilizar a primeira parte.
Por exemplo:
- `[on](red bold)` vai imprimir uma string `on` com texto em negrito e com a cor vermelha.
- `[⌘ $version](bold green)` vai imprimir o simbolo `⌘` seguido pela variável `version`, com o texto em negrito e na cor verde.
- `[a [b](red) c](green)` vai imprimir `a b c` com `b` vermelho, e `a` e `c` verde.
#### Estilo dos textos
A maioria dos módulos do starship permite que você configure o estilo de exibição dos textos. Isso é feito através de um parâmetro (geralmente chamado `style`) que é uma string especificando a configuração. Aqui estão alguns exemplos de strings de estilo e o que elas fazem. Para detalhes sobre a sintaxe completa, consulte o [guia de configurações avançadas](/advanced-config/).
- `"fg:green bg:blue"` deixa o texto verde com o fundo azul
- `"bg:blue fg:bright-green"` deixa o texto verde brilhante com o fundo azul
- `"bold fg:27"` deixa o texto em negrito com a cor 27 [da tabela ANSI](https://i.stack.imgur.com/KTSQa.png)
- `"underline bg:#bf5700"` deixa o texto sublinhado com o fundo laranja escuro
- `"bold italic fg:purple"` deixa o texto em negrito e itálico com a cor roxa
- `""` desabilita explicitamente todos os estilos
Note que a aparência do estilo será controlado pelo seu terminal. Por exemplo, alguns terminais deixarão as cores mais brilhantes ao invés de deixar o texto em negrito, ou alguns temas podem usar as mesmas cores para cores brilhantes e normais. Além disso, para textos em itálico, o terminal precisa ter suporte.
#### Formatação de String Condicional
Uma formatação condicional de string é envolto por `(` e `)` não vai ser exibido caso a variável dentro esteja vazia.
Por exemplo:
- `(@$region)` não vai exibir nada caso a variável `region` seja `None` ou vazia, caso contrario vai exibir `@` seguido pelo valor da variável region.
- `(texto qualquer)` não vai exibir nada sempre, pois não existe variável entre os parenteses.
- Quando usar `$all` é um atalho para `\[$a$b\]`, `($all)` vai exibir nada somente quando `$a` e `$b` são `None`. Isto funciona da mesma forma que `(\[$a$b\] )`.
#### Caracteres Especiais
O símbolos a seguir tem um uso na formatação de string e deve ser escapados `$ \ [ ] ( )`.
Note que TOML tem [string básicas e strings literais](https://toml.io/en/v1.0.0#string). É recomendado usar um string literal(cercado por aspas simples) em seu config. Se você quiser usar uma string básica(cercado por aspas duplas), você precisa adicionar o backslash (ex: use `\\`).
Por exemplo, quando você quer imprimir um simbolo `$` em uma nova linha, as configurações de `format` a seguir são equivalentes:
```toml
# com string básica
format = "\n\\$"
# com múltiplas linhas de string básica
format = """
\\$"""
# com string literal
format = '''
\$'''
```
### Negative matching
Many modules have `detect_extensions`, `detect_files`, and `detect_folders` variables. These take lists of strings to match or not match. "Negative" options, those which should not be matched, are indicated with a leading "!" character. The presence of _any_ negative indicator in the directory will result in the module not being matched.
Extensions are matched against both the characters after the last dot in a filename, and the characters after the first dot in a filename. For example, `foo.bar.tar.gz` will be matched against `bar.tar.gz` and `gz` in the `detect_extensions` variable. Files whose name begins with a dot are not considered to have extensions at all.
To see how this works in practice, you could match TypeScript but not MPEG Transport Stream files thus:
```toml
detect_extensions = ["ts", "!video.ts", "!audio.ts"]
```
## Prompt de Comando
Está é a lista de opções de configuração de prompt.
### Opções
| Opções | Padrão | Descrição |
| ----------------- | ------------------------------ | ---------------------------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Configura o formato do prompt. |
| `right_format` | `""` | Veja [Ativa o prompt direito](/advanced-config/#enable-right-prompt) |
| `scan_timeout` | `30` | Tempo limite para escanear arquivos (em milissegundos). |
| `command_timeout` | `500` | Tempo limite de execução de comandos pelo starship (em milissegundos). |
| `add_newline` | `true` | Insere linha vazia entre os prompts do shell. |
### Exemplo
```toml
# ~/.config/starship.toml
# Usa um format customizado
format = """
[┌───────────────────>](bold green)
[│](bold green)$directory$rust$package
[└─>](bold green) """
#Espera 10 milissegundos para que o starship check os arquivos do diretório atual.
scan_timeout = 10
# Desabilita uma nova linha no inicio do prompt
add_newline = false
```
### Format de Prompt Padrão
O `formato` padrão é usado para definir o formato do prompt, se um valor vazio ou não `formatado` for informado. Os valores padrão são os seguintes:
```toml
format = "$all"
# Which is equivalent to
format = """
$username\
$hostname\
$localip\
$shlvl\
$singularity\
$kubernetes\
$directory\
$vcsh\
$git_branch\
$git_commit\
$git_state\
$git_metrics\
$git_status\
$hg_branch\
$docker_context\
$package\
$c\
$cmake\
$cobol\
$daml\
$dart\
$deno\
$dotnet\
$elixir\
$elm\
$erlang\
$golang\
$haskell\
$helm\
$java\
$julia\
$kotlin\
$lua\
$nim\
$nodejs\
$ocaml\
$perl\
$php\
$pulumi\
$purescript\
$python\
$raku\
$rlang\
$red\
$ruby\
$rust\
$scala\
$swift\
$terraform\
$vlang\
$vagrant\
$zig\
$buf\
$nix_shell\
$conda\
$spack\
$memory_usage\
$aws\
$gcloud\
$openstack\
$azure\
$env_var\
$crystal\
$custom\
$sudo\
$cmd_duration\
$line_break\
$jobs\
$battery\
$time\
$status\
$container\
$shell\
$character"""
```
Se você quer estender o formato padrão, você pode usar `$all`; Os módulos adicionado explicitamente não serão duplicados. Ex.
```toml
# Move o diretório para a segunda linha
format = "$all$directory$character"
```
## AWS
The `aws` module shows the current AWS region and profile and an expiration timer when using temporary credentials. The output of the module uses the `AWS_REGION`, `AWS_DEFAULT_REGION`, and `AWS_PROFILE` env vars and the `~/.aws/config` and `~/.aws/credentials` files as required.
The module will display a profile only if its credentials are present in `~/.aws/credentials` or if a `credential_process` or `sso_start_url` are defined in `~/.aws/config`. Alternatively, having any of the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, or `AWS_SESSION_TOKEN` env vars defined will also suffice. If the option `force_display` is set to `true`, all available information will be displayed even if no credentials per the conditions above are detected.
Quando usar [aws-vault](https://github.com/99designs/aws-vault) o perfil é lido da variável `AWS_VAULT` e o tempo de expiração de credenciais é lida da variável de env `AWS_SESSION_EXPIRATION`.
Quando usar [awsu](https://github.com/kreuzwerker/awsu) o perfil é lido da varável de env `AWSU_PROFILE`.
Quando usar [AWSume](https://awsu.me) o perfil é lido da variável `AWSUME_PROFILE` e o tempo de expiração de credenciais é lida da variável de env `AWSUME_EXPIRATION`.
### Opções
| Opções | Padrão | Descrição |
| ------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `format` | `'on [$symbol($profile )(\($region\) )(\[$duration\] )]($style)'` | O formato do módulo. |
| `symbol` | `"☁️ "` | O símbolo usado antes de exibir o perfil atual da AWS. |
| `region_aliases` | | Tabela de aleases de regiões a serem exibidas, além do nome da AWS. |
| `profile_aliases` | | Tabela de apelidos de perfil a serem exibidos além do nome da AWS. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `expiration_symbol` | `X` | O simbolo exibido quando as credenciais temporárias estão expiradas. |
| `disabled` | `false` | Desabilita o módulo `AWS`. |
| `force_display` | `false` | Se `true` exibe as informações mesmo que `credentials`, `credential_process` ou `sso_start_url` não tenham sido configurados. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ---------------- | ------------------------------------ |
| region | `ap-northeast-1` | A região atual do AWS |
| profile | `astronauts` | O perfil atual do AWS |
| duration | `2h27m20s` | A duração temporária das credenciais |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplos
#### Exibir tudo
```toml
# ~/.config/starship.toml
[aws]
format = 'on [$symbol($profile )(\($region\) )]($style)'
style = "bold blue"
symbol = "🅰 "
[aws.region_aliases]
ap-southeast-2 = "au"
us-east-1 = "va"
[aws.profile_aliases]
ChamadaDeAcessoDoGrupoDaEmpresaFrobozz = 'Frobozz'
```
#### Exibir região
```toml
# ~/.config/starship.toml
[aws]
format = "on [$symbol$region]($style) "
style = "bold blue"
symbol = "🅰 "
[aws.region_aliases]
ap-southeast-2 = "au"
us-east-1 = "va"
```
#### Exibir perfil
```toml
# ~/.config/starship.toml
[aws]
format = "on [$symbol$profile]($style) "
style = "bold blue"
symbol = "🅰 "
[aws.profile_aliases]
Esquema_De_Nomenclatura_Empresarial-voidstars = 'void**'
```
## Azure
O módulo `azure` exibe a assinatura Azure atual. Isto é baseado na exibição do nome da assinatura padrão, como definido no arquivo em `~/.azure/azureProfile.json`.
### Opções
| Variável | Padrão | Descrição |
| ---------- | ---------------------------------------- | ---------------------------------------------- |
| `format` | `"on [$symbol($subscription)]($style) "` | O formato que o módulo Azure será renderizado. |
| `symbol` | `"ﴃ "` | O símbolo usado no formato. |
| `style` | `"blue bold"` | O estilo usado no formato. |
| `disabled` | `true` | Desabilita o módulo `azure`. |
### Exemplo
```toml
# ~/.config/starship.toml
[azure]
disabled = false
format = "on [$symbol($subscription)]($style) "
symbol = "ﴃ "
style = "blue bold"
```
## Bateria
O módulo `battery` exibe o quanto a bateria do dispositivo está carregada e o estado atual de carregamento. O módulo é visível somente quando a bateria está abaixo de 10%.
### Opções
| Opções | Padrão | Descrição |
| -------------------- | --------------------------------- | ------------------------------------------------------------ |
| `full_symbol` | `" "` | O simbolo exibido quando a bateria estiver cheia. |
| `charging_symbol` | `" "` | O simbolo exibido quando a bateria está carregando. |
| `discharging_symbol` | `" "` | O simbolo exibido quando a bateria está descarregando. |
| `unknown_symbol` | `" "` | O simbolo exibido quando o estado da bateria é desconhecido. |
| `empty_symbol` | `" "` | O simbolo exibido quando o estado da bateria é vazio. |
| `format` | `"[$symbol$percentage]($style) "` | O formato do módulo. |
| `display` | [link](#battery-display) | Limite de exibição e estilo para o módulo. |
| `disabled` | `false` | Desabilita o módulo `battery`. |
### Exemplo
```toml
# ~/.config/starship.toml
[battery]
full_symbol = "🔋 "
charging_symbol = "⚡️ "
discharging_symbol = "💀 "
```
### Indicador de bateria
A configuração `display` é usada para definir quando o indicador de bateria deve ser exibido (threshold), qual deve ser o simbolo(symbol) e como você gostaria de exibir (style). Se nenhum `display` for fornecido. Os valores padrão são os seguintes:
```toml
[[battery.display]]
threshold = 10
style = "bold red"
```
O valor padrão das opções `charging_symbol` e `discharging_symbol`é respectivamente o valor das opções `battery`'s `charging_symbol` e `discharging_symbol`.
#### Opções
A opção `display` é um array da seguinte tabela.
| Opções | Padrão | Descrição |
| -------------------- | ---------- | -------------------------------------------------------------------------------------------------- |
| `threshold` | `10` | O limite superior para exibição. |
| `style` | `bold red` | O estilo usado para exibir quando estiver em uso. |
| `charging_symbol` | `-` | Simbolo opcional, mostrado quando a opção estiver em uso, o simbolo padrão é `charging_symbol`. |
| `discharging_symbol` | `-` | Simbolo opcional, mostrado quando a opção estiver em uso, o simbolo padrão é `discharging_symbol`. |
#### Exemplo
```toml
[[battery.display]] # estilo negrito com vermelho e discharging_symbol quando a capacidade está entre 0% e 10%
threshold = 10
style = "bold red"
[[battery.display]] # estilo negrito com amarelo e símbolo 💦 quando a capacidade está entre 10% e 30%
threshold = 30
style = "bold yellow"
discharging_symbol = "💦"
# quando a capacidade for superior a 30%, o indicador da bateria não será exibido
```
## Buf
O módulo `buf` mostra a versão instalada do [Buf](https://buf.build). Por padrão, o módulo é mostrado se todas as seguintes condições forem atendidas:
- A CLI [`buf`](https://github.com/bufbuild/buf) está instalada.
- O atual diretório contém um [`buf.yaml`](https://docs.buf.build/configuration/v1/buf-yaml), [`buf.gen.yaml`](https://docs.buf.build/configuration/v1/buf-gen-yaml) ou arquivo de configuração [`buf.work.yaml`](https://docs.buf.build/configuration/v1/buf-work-yaml).
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------------------------------ | ------------------------------------------------- |
| `format` | `'with [$symbol($version \(Buf $buf_version\) )]($style)'` | O formato do módulo `buf`. |
| `version_format` | `"v${raw}"` | O formato da versão. |
| `symbol` | `"🦬 "` | O símbolo usado antes de exibir a versão do Buf. |
| `detect_extensions` | `[]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["buf.yaml", "buf.gen.yaml", "buf.work.yaml"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold blue"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `elixir`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ------------- | -------- | --------------------------------- |
| `buf_version` | `v1.0.0` | A versão do `buf` |
| `symbol` | | Espelha o valor da opção `symbol` |
| `style`* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[buf]
symbol = "🦬 "
```
## Bun
The `bun` module shows the currently installed version of the [bun](https://bun.sh) JavaScript runtime. Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `bun.lockb`
- O diretório atual contem um arquivo `bunfig.toml`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🍞 "` | Uma string que representa o simbolo do Node.js. |
| `detect_extensions` | `[]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["bun.lockb", "bunfig.toml"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold red"` | O estilo do módulo. |
| `disabled` | `false` | Disables the `bun` module. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v0.1.4` | The version of `bun` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[bun]
format = "via [🍔 $version](bold green) "
```
## C
O módulo `c` mostra algumas informações sobre o seu compilador de C. Por padrão o módulo será exibido se o diretório atual contém um arquivo `.c` ou `.h`.
### Opções
| Opções | Padrão | Descrição |
| ------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version(-$name) )]($style)"` | A string de formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"C "` | O símbolo utilizado antes de exibir os detalhes do compilador |
| `detect_extensions` | `["c", "h"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `[]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `commands` | [ [ "cc", "--version" ], [ "gcc", "--version" ], [ "clang", "--version" ] ] | Como detectar qual é o compilador |
| `style` | `"bold 149"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `c`. |
### Variáveis
| Variável | Exemplo | Descrição |
| -------- | ------- | --------------------------------- |
| name | clang | O nome do compilador |
| version | 13.0.0 | A versão do compilador |
| symbol | | Espelha o valor da opção `symbol` |
| style | | Espelha o valor da opção `style` |
Note que `version` não está no formato padrão.
### Comandos
A opção `commands` aceita uma lista de comandos para determinar a versão e o nome do compilador.
Cada comando é representado como uma lista do nome do executável, seguido de seus argumentos, geralmente algo como `["mycc", "--version"]`. Starship tentará executar cada comando até que obtenha um resultado no STDOUT.
Se um compilador C não é suportado por este módulo, você pode solicitá-lo [criando uma issue no GitHub](https://github.com/starship/starship/).
### Exemplo
```toml
# ~/.config/starship.toml
[c]
format = "via [$name $version]($style)"
```
## Caractere
O módulo `character` exibe um caracter (normalmente uma seta) ao lado de onde o texto começa a ser inserido no terminal.
O caractere vai te dizer se o ultimo comando foi bem sucedido ou não. Você pode fazer isto de duas maneiras:
- alterando a cor (`red`/`green`)
- alterando a forma (`❯`/`✖`)
Por padrão ele apenas muda de cor. Se você deseja alterar o formato de uma olhada [neste exemplo](#with-custom-error-shape).
::: atenção
`vimcmd_symbol` is only supported in cmd, fish and zsh. `vimcmd_replace_one_symbol`, `vimcmd_replace_symbol`, and `vimcmd_visual_symbol` are only supported in fish due to [upstream issues with mode detection in zsh](https://github.com/starship/starship/issues/625#issuecomment-732454148).
:::
### Opções
| Opções | Padrão | Descrição |
| --------------------------- | -------------------- | ------------------------------------------------------------------------------------------- |
| `format` | `"$symbol"` | O formato da string usado antes da entrada dos textos. |
| `success_symbol` | `"[❯](bold green)"` | O formato da string usado antes da entrada de texto se o comando anterior for bem-sucedido. |
| `error_symbol` | `"[❯](bold red)"` | O formato de string usado antes da entrada de texto se o comando anterior tiver falhado. |
| `vimcmd_symbol` | `"[❮](bold green)"` | O fromato de string usado antes da entrada de texto se o shell esta no vim normal mode. |
| `vimcmd_replace_one_symbol` | `"[❮](bold purple)"` | The format string used before the text input if the shell is in vim `replace_one` mode. |
| `vimcmd_replace_symbol` | `"[❮](bold purple)"` | The format string used before the text input if the shell is in vim replace mode. |
| `vimcmd_visual_symbol` | `"[❮](bold yellow)"` | The format string used before the text input if the shell is in vim replace mode. |
| `disabled` | `false` | Desabilita o módulo `character`. |
### Variáveis
| Variável | Exemplo | Descrição |
| -------- | ------- | ---------------------------------------------------------------- |
| symbol | | Um espelho de `success_symbol`, `error_symbol` ou `vicmd_symbol` |
### Exemplos
#### Com formas customizadas de erro
```toml
# ~/.config/starship.toml
[character]
success_symbol = "[➜](bold green) "
error_symbol = "[✗](bold red) "
```
#### Sem formas customizadas de erro
```toml
# ~/.config/starship.toml
[character]
success_symbol = "[➜](bold green) "
error_symbol = "[➜](bold red) "
```
#### Com formas customizadas no vim
```toml
# ~/.config/starship.toml
[character]
vicmd_symbol = "[V](bold green) "
```
## CMake
O módulo `cmake` exibe a versão instalada do [CMake](https://cmake.org/). Por padrão o módulo será ativo se qualquer das condições a seguir for atendida:
- O diretorio atual cotem um arquivo `CMakeLists.txt`
- O diretorio atual tem um arquivo `CMakeCache.txt`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | -------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"△ "` | O simbolo usado antes da versão do cmake. |
| `detect_extensions` | `[]` | Quais extensões devem acionar este módulo |
| `detect_files` | `["CMakeLists.txt", "CMakeCache.txt"]` | [] |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo |
| `style` | `"bold blue"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `cmake`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | --------- | --------------------------------- |
| version | `v3.17.3` | A versão do cmake |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
## COBOL / GNUCOBOL
O módulo `cobol` exibe a versão instalada atual do COBOL. Por padrão, o módulo será exibido se qualquer das seguintes condições for atendida:
- O diretório atual tem qualquer arquivo com extensão `.cob` or `.COB`
- O diretório atual tenham qualquer arquivo com extensão `.cbl` or `.CBL`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `symbol` | `"⚙️ "` | O simbolo usado antes de exibir a versão do COBOL. |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `style` | `"bold blue"` | O estilo do módulo. |
| `detect_extensions` | `["cbl", "cob", "CBL", "COB"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `[]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `disabled` | `false` | Desabilita o módulo `cobol`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ---------- | --------------------------------- |
| version | `v3.1.2.0` | A versão do `cobol` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
## Tempo de execução do comando
O módulo `cmd_duration` exibi o tempo que o ultimo comando levou para executar. O módulo vai exibir somente se o comando levar mais de dois segundos, ou o valor de configuração `min_time` existir.
::: warning Não utilize o DEBUG-trap no Bash
Se você esta rodando o Starship no `bash`, você não deve ativar a armadilha `DEBUG` após rodar `eval $(starship init $0)`, ou este módulo **vai** quebrar.
:::
Usuários do bash que precisam de funções pre-executadas podem usar [rcaloras's bash_preexec framework](https://github.com/rcaloras/bash-preexec). Simplesmente defina os arrays `preexec_functions` e `precmd_functions` antes de rodar `eval $(starship init $0)`, e depois pode proceder normalmente.
### Opções
| Opções | Padrão | Descrição |
| ---------------------- | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `min_time` | `2_000` | Duração mais curta para exibir o tempo (em milissegundos). |
| `show_milliseconds` | `false` | Exibir milissegundos ou invés de segundos para duração. |
| `format` | `"took [$duration]($style) "` | O formato do módulo. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `cmd_duration`. |
| `show_notifications` | `false` | Exibi notificações no desktop quando o comando for concluído. |
| `min_time_to_notify` | `45_000` | Tempo minimo para notificação (em milissegundos). |
| `notification_timeout` | | Duração para mostrar a notificação (em milissegundos). Se não estiver definido, o tempo limite de notificação será determinado pelo daemon. Nem todos os daemons de notificação aceitam essa opção. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | ----------------------------------------- |
| duration | `16m40s` | O tempo que levou para executar o comando |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[cmd_duration]
min_time = 500
format = "underwent [$duration](bold yellow)"
```
## Conda
O módulo `conda` exibe o ambiente atual do [Conda](https://docs.conda.io/en/latest/), se o `$CONDA_DEFAULT_ENV` estiver definido.
::: tip
Isso não suprime o modificador de prompt do conda, você pode executar `conda config --set changeps1 False`.
:::
### Opções
| Opções | Padrão | Descrição |
| ------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `truncation_length` | `1` | O número de diretórios do envirionment path deve ser truncado, se o environment foi criado via `conda create -p [path]`. `0` quer dizer sem truncação. Também consulte o módulo [`directory`](#directory). |
| `symbol` | `"🅒 "` | O simbolo usado antes do nome do environment. |
| `style` | `"bold green"` | O estilo do módulo. |
| `format` | `"via [$symbol$environment]($style) "` | O formato do módulo. |
| `ignore_base` | `true` | Ignora o environment `base` quando ativado. |
| `disabled` | `false` | Desabilita o módulo `conda`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ----------- | ------------ | --------------------------------- |
| environment | `astronauts` | O environment atual do conda |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[conda]
format = "[$symbol$environment](dimmed green) "
```
## Container
O módulo `container` exibe um símbolo e nome do contêiner, se dentro de um container.
### Opções
| Opções | Padrão | Descrição |
| ---------- | -------------------------------------- | ------------------------------------------------- |
| `symbol` | `"⬢"` | O símbolo mostrado, quando dentro de um contêiner |
| `style` | `"bold red dimmed"` | O estilo do módulo. |
| `format` | `"[$symbol \\[$name\\]]($style) "` | O formato do módulo. |
| `disabled` | `false` | Desabilita o módulo `container`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------------------- | --------------------------------- |
| name | `fedora-toolbox:35` | O nome do contêiner |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[container]
format = "[$symbol \\[$name\\]]($style) "
```
## Crystal
O módulo `crystal` exibe a versão instalada atual do [Crystal](https://crystal-lang.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `shard.yml`
- O diretório atual contem um arquivo `.cr`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `symbol` | `"🔮 "` | O simbolo usado antes de exibir a versão do crystal. |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `style` | `"bold red"` | O estilo do módulo. |
| `detect_extensions` | `["cr"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["shard.yml"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `disabled` | `false` | Desabilita o módulo `crystal`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | --------- | --------------------------------- |
| version | `v0.32.1` | A versão do `crystal` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[crystal]
format = "via [✨ $version](bold blue) "
```
## Daml
The `daml` module shows the currently used [Daml](https://www.digitalasset.com/developers) SDK version when you are in the root directory of your Daml project. The `sdk-version` in the `daml.yaml` file will be used, unless it's overridden by the `DAML_SDK_VERSION` environment variable. Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `daml.yaml`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ---------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `via [$symbol($version )]($style)` | O formato do módulo. |
| `version_format` | `v${raw}` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"Λ "` | A format string representing the symbol of Daml |
| `style` | `"bold cyan"` | O estilo do módulo. |
| `detect_extensions` | `[]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["daml.yaml"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `disabled` | `false` | Disables the `daml` module. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v2.2.0` | The version of `daml` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[daml]
format = "via [D $version](bold bright-green) "
```
## Dart
O módulo `dart` exibe a versão atual instalada do [Dart](https://dart.dev/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem algum arquivo com extensão `.dart`
- O diretório atual contem um diretório `.dart_tool`
- O diretório atual contem um arquivo `pubspec.yaml`, `pubspec.yml` ou `pubspec.lock`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🎯 "` | Um formato de string que representa o simbolo do Dart |
| `detect_extensions` | `["dart"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["pubspec.yaml", "pubspec.yml", "pubspec.lock"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[".dart_tool"]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold blue"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `dart`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v2.8.4` | The version of `dart` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[dart]
format = "via [🔰 $version](bold red) "
```
## Deno
O módulo `deno` exibe a versão instalada atual do [Deno](https://deno.land/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual tenha um arquivo `deno.json`, `deno.jsonc`, `mod.ts`, `mod.js`, `deps.ts` or `deps.js`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🦕 "` | Um formato de string que representa o simbolo do Deno |
| `detect_extensions` | `[]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["deno.json", "deno.jsonc", "mod.ts", "mod.js", "deps.ts", "deps.js"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"green bold"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `deno`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v1.8.3` | A versão do `deno` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
### Exemplo
```toml
# ~/.config/starship.toml
[deno]
format = "via [🦕 $version](green bold) "
```
## Diretório
O módulo `directory` exibe o caminho do diretório atual, truncando as três pastas pai. Seu diretório será truncando na raiz do repositório git que você estiver atualmente.
Quando usar a opção de estilo fish pwd, ao invés de esconder o caminho que é truncado, você vai ver um nome encurtado de cada diretório baseado no número que você habilitar para a opção.
Por exemplo, dado `~/Dev/Nix/nixpkgs/pkgs` onde `nixpkgs` é o repositório raiz e a opção esta definida para `1`. Você verá `~/D/N/nixpkgs/pkgs`, enquanto antes seria `nixpkgs/pkgs`.
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `truncation_length` | `3` | O número de pastas pais do diretório atual que serão truncadas. |
| `truncate_to_repo` | `true` | Seu diretório será truncado ou não para a raiz do repositório git atual. |
| `format` | `"[$path]($style)[$read_only]($read_only_style) "` | O formato do módulo. |
| `style` | `"bold cyan"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `directory`. |
| `read_only` | `"🔒"` | O simbolo que indica que o diretório atual é somente leitura. |
| `read_only_style` | `"red"` | O estilo para o simbolo de somente leitura. |
| `truncation_symbol` | `""` | O simbolo para prefixo de caminhos truncados. ex: "…/" |
| `repo_root_style` | `None` | O estilo para a raiz do repositório git. O valor padrão é equivalente a `style`. |
| `repo_root_format` | `"[$before_root_path]($style)[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) "` | O formato de um repositório git quando `repo_root_style` é definido. |
| `home_symbol` | `"~"` | O simbolo para indicar o diretório home. |
| `use_os_path_sep` | `true` | Use o separador de caminho específico do sistema opracional em vez de sempre usar `/` (por exemplo, `\` no Windows) |
Este módulo tem algumas configurações avançadas que controlam como o diretório é exibido.
| Opções Avançadas | Padrão | Descrição |
| --------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `substituições` | | Uma tabela de substituições para fazer no path. |
| `fish_style_pwd_dir_length` | `0` | O número de caracteres para usar quando aplicado no path logico do fish shell pwd. |
| `use_logical_path` | `true` | Se `true` exibe um caminho lógico originado do shell via `PWD` ou`--logical-path`. Se `false` em vez disso, exibe o caminho do filesystem com os symlinks resolvidos. |
`substitutions` aceita você definir substituições arbitrarias para strings literais que ocorra no path, por exemplo prefixos de rede longos ou diretórios de desenvolvimento (ex:. Java). Note isto irá desabilita o estilo PWD do fish.
```toml
[directory.substitutions]
"/Volumes/network/path" = "/net"
"src/com/long/java/path" = "mypath"
```
`fish_style_pwd_dir_length` interage com as opções de truncação padrão de uma forma que pode suprimir no começo: se não for zero, os componentes do path que normalmente seriam truncados são exibidos com todos caracteres. Por exemplo, o caminho `/built/this/city/on/rock/and/roll`, que normalmente seria exibido como`rock/and/roll`, seria exibido como `/b/t/c/o/rock/and/roll` com`fish_style_pwd_dir_length = 1`--os componentes de path que normalmente seriam removidos são exibidos com um único caractere. Para `fish_style_pwd_dir_length = 2`, seria `/bu/th/ci/on/rock/and/roll`.
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | --------------------- | -------------------------------- |
| path | `"D:/Projects"` | O caminho do diretório atual |
| style\* | `"black bold dimmed"` | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
Os repositórios git têm variáveis adicionais.
Vamos considerar o caminho `/caminho/para/home/git_repo/src/lib`
| Variável | Exemplo | Descrição |
| ------------------ | ----------------------- | --------------------------------------------------- |
| before_root_path | `"/caminho/para/home/"` | O caminho antes do caminho do diretório raiz do git |
| repo_root | `"git_repo"` | O nome do diretório raiz do git |
| path | `"/src/lib"` | O caminho restante |
| style | `"black bold dimmed"` | Espelha o valor da opção `style` |
| repo_root_style | `"underline white"` | Estilo para o nome do diretório raiz do git |
### Exemplo
```toml
# ~/.config/starship.toml
[directory]
truncation_length = 8
truncation_symbol = "…/"
```
## Docker Context
O módulo `docker_context` exibe o [Docker context](https://docs.docker.com/engine/context/working-with-contexts/) ativo atualmente se não estiver definido como `default` ou se as variáveis de ambiente `DOCKER_MACHINE_NAME`, `DOCKER_HOST` ou `DOCKER_CONTEXT` estiverem definidas (iram sobrescrever o contexto atual).
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol$context]($style) "` | O formato do módulo. |
| `symbol` | `"🐳 "` | O simbolo usado antes de exibir a versão do contexto docker. |
| `only_with_files` | `true` | Exibe somente quando houver um arquivo |
| `detect_extensions` | `[]` | Quais extensões devem acionar este módulo (precisa que `only_with_files` seja true). |
| `detect_files` | `["docker-compose.yml", "docker-compose.yaml", "Dockerfile"]` | Quais arquivos devem acionar este módulo (precisa que `only_with_files` seja true). |
| `detect_folders` | `[]` | Quais pastas devem acionar este módulo (precisa que `only_with_files` seja true). |
| `style` | `"blue bold"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `docker_context`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------------- | --------------------------------- |
| context | `test_context` | O contexto atual do docker |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[docker_context]
format = "via [🐋 $context](blue bold)"
```
## Dotnet
O módulo `dotnet` exibe a versão relevante do [.NET Core SDK](https://dotnet.microsoft.com/) para a pasta atual. Se o SDK foi fixado na pasta atual, a versão será exibida. Caso contrario será exibida a ultima versão instalada do SDK.
Por padrão o módulo vai apenas exibir no seu prompt quando um ou mais dos seguintes arquivos estiverem presente no diretório:
- `global.json`
- `project.json`
- `Directory.Build.props`
- `Directory.Build.targets`
- `Packages.props`
- `*.csproj`
- `*.fsproj`
- `*.xproj`
Você também precisa do .NET Core SDK instalado para usá-lo corretamente.
Internamente, este módulo usa seu próprio mecanismo de detecção de versão. Normalmente é duas vezes mais rápido que executar `dotnet --version`, mas pode exibir uma versão errado se o projeto .NET tiver o layout de diretório incomum. Se a precisão é mais importante que velocidade, você pode desabilitar o mecanismo definindo `heuristic = false` nas opções do modulo.
O módulo também mostrará o Target Framework Moniker () quando houver um arquivo `.csproj` no diretório atual.
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )(🎯 $tfm )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `".NET "` | O simbolo usado antes de exibir a versão do dotnet. |
| `heuristic` | `true` | Usa a versão de detecção rápida do starship snappy. |
| `detect_extensions` | `["csproj", "fsproj", "xproj"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["global.json", "project.json", "Directory.Build.props", "Directory.Build.targets", "Packages.props"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold blue"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `dotnet`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ---------------- | --------------------------------- |
| version | `v3.1.201` | A versão do sdk `dotnet` |
| tfm | `netstandard2.0` | O framework alvo do projeto atual |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[dotnet]
symbol = "🥅 "
style = "green"
heuristic = false
```
## Elixir
O módulo `elixir` exibe a versão instalada do [Elixir](https://elixir-lang.org/) e [Erlang/OTP](https://erlang.org/doc/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `mix.exs`.
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `'via [$symbol($version \(OTP $otp_version\) )]($style)'` | O formato do módulo elixir. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"💧 "` | O simbolo usado antes de exibir a versão do Elixir/Erlang. |
| `detect_extensions` | `[]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["mix.exs"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold purple"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `elixir`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ----------- | ------- | --------------------------------- |
| version | `v1.10` | A versão do `elixir` |
| otp_version | | A versão otp do `elixir` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[elixir]
symbol = "🔮 "
```
## Elm
O módulo `elm` exibe a versão instalada do [Elm](https://elm-lang.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `elm.json`
- O diretório atual contem o arquivo `elm-package.json`
- O diretório atual contem um arquivo `.elm-version`
- O diretório atual contem uma pasta `elm-stuff`
- O diretório atual contém arquivos `*.elm`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🌳 "` | O formato de string que representa o simbolo do Elm. |
| `detect_extensions` | `["elm"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["elm.json", "elm-package.json", ".elm-version"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `["elm-stuff"]` | Quais pastas devem ativar este módulo. |
| `style` | `"cyan bold"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `elm`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | --------- | --------------------------------- |
| version | `v0.19.1` | A versão do `elm` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
[elm]
format = "via [ $version](cyan bold) "
```
## Variáveis de Ambiente
O módulo `env_var` exibe o valor atual de uma variável de ambiente selecionada. O módulo vai exibir somente se algumas das condições a seguir for atendida:
- A opção de configuração da `variable` corresponde a uma variável existente
- A configuração `variable` não está definida, mas a `default` está
::: tip
Múltiplas variáveis de ambiente podem ser exibidas usando um `.`. (Veja o exemplo) se a configuração `variable` não é definida, o módulo irá exibir o valor da variável após o caractere `.`.
Exemplo: a configuração a seguir irá mostrar o valor da variável de ambiente USER
```toml
# ~/.config/starship.toml
[env_var.USER]
default = "unknown user"
```
:::
### Opções
| Opções | Padrão | Descrição |
| ---------- | ------------------------------ | ------------------------------------------------------------------------------ |
| `symbol` | `""` | O simbolo usado antes de exibir o valor da variável. |
| `variable` | | A variável de ambiente a ser exibida. |
| `default` | | O valor padrão para exibir quando a variável selecionada não estiver definida. |
| `format` | `"with [$env_value]($style) "` | O formato do módulo. |
| `disabled` | `false` | Desabilita o módulo `env_var`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------------------------------------------- | --------------------------------------- |
| env_value | `Windows NT` (if _variable_ would be `$OS`) | O valor de ambiente da opção `variable` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | `black bold dimmed` | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[env_var]
variable = "SHELL"
default = "unknown shell"
```
Exibindo múltiplas variáveis de ambiente:
```toml
# ~/.config/starship.toml
[env_var.SHELL]
variable = "SHELL"
default = "unknown shell"
[env_var.USER]
default = "unknown user"
```
## Erlang
O módulo de `erlang` exibe a versão atual instalada do [Erlang/OTP](https://erlang.org/doc/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `rebar.config`.
- O diretório atual contem um arquivo `erlang.mk`.
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `" "` | O simbolo usado antes de exibir a versão do erlang. |
| `style` | `"bold red"` | O estilo do módulo. |
| `detect_extensions` | `[]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["rebar.config", "elang.mk"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `disabled` | `false` | Desabilita o módulo `erlang`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | --------- | --------------------------------- |
| version | `v22.1.3` | A versão do `erlang` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[erlang]
format = "via [e $version](bold red) "
```
## Fill
O módulo `fill` preenche qualquer espaço vazio da linha com um simbolo. Se múltiplos módulos `fill` estiverem presentes em uma linha, eles irão dividir o espaço entre eles. Este módulo é útil para alinhar outros módulos.
### Opções
| Opções | Padrão | Descrição |
| ---------- | -------------- | --------------------------------------- |
| `symbol` | `"."` | O simbolo usado para preencher a linha. |
| `style` | `"bold black"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `fill` |
### Exemplo
```toml
# ~/.config/starship.toml
format = "AA $fill BB $fill CC"
[fill]
symbol = "-"
style = "bold green"
```
Produz um prompt parecido com:
```
AA -------------------------------------------- BB -------------------------------------------- CC
```
## Google Cloud (`gcloud`)
O módulo `gcloud` exibe a configuração atual para o [`gcloud`](https://cloud.google.com/sdk/gcloud) CLI. Isto é baseadp mp arquivo `~/.config/gcloud/active_config` e no arquivo`~/.config/gcloud/configurations/config_{CONFIG NAME}` e a env var `CLOUDSDK_CONFIG`.
### Opções
| Opções | Padrão | Descrição |
| ----------------- | ---------------------------------------------------------- | ------------------------------------------------------------------- |
| `format` | `'on [$symbol$account(@$domain)(\($region\))]($style) '` | O formato do módulo. |
| `symbol` | `"☁️ "` | O simbolo usado antes de exibir o perfil atual do GCP. |
| `region_aliases` | | Tabela de aliases de região para exibir além do nome do GCP. |
| `project_aliases` | | Tabela de apelidos do projeto a serem exibidos além do nome do GCP. |
| `style` | `"bold blue"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `gcloud`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------------- | ------------------------------------------------------------------ |
| region | `us-central1` | A região atual do GCP |
| account | `foo` | O perfil atual do GCP |
| domain | `example.com` | O perfil de domínio atual do GCP |
| project | | O projeto atual do GCP |
| active | `default` | O nome da configuração escrita em `~/.config/gcloud/active_config` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplos
#### Exibe conta e projeto
```toml
# ~/.config/starship.toml
[gcloud]
format = 'on [$symbol$account(@$domain)(\($project\))]($style) '
```
#### Exibe apenas o nome da configuração ativa
```toml
# ~/.config/starship.toml
[gcloud]
format = "[$symbol$active]($style) "
style = "bold yellow"
```
#### Exibir conta e região
```toml
# ~/.config/starship.toml
[gcloud]
symbol = "️🇬️ "
[gcloud.region_aliases]
us-central1 = "uc1"
asia-northeast1 = "an1"
```
#### Exibir conta e projeto apelidado
```toml
# ~/.config/starship.toml
[gcloud]
format = 'on [$symbol$account(@$domain)(\($project\))]($style) '
[gcloud.project_aliases]
nome-do-projeto-muito-longo = "npml"
```
## Git Branch
O módulo `git_branch` exibe o branch ativo do repositório no diretório atual.
### Opções
| Opções | Padrão | Descrição |
| -------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `always_show_remote` | `false` | Exibe o nome do braço remoto, mesmo se ele for igual ao nome do braço local. |
| `format` | `"on [$symbol$branch(:$remote_branch)]($style) "` | O formato do módulo. Use `"$branch"` para se referir ao nome do braço atual. |
| `symbol` | `" "` | Um formato de string que representa o simbolo do git branch. |
| `style` | `"bold purple"` | O estilo do módulo. |
| `truncation_length` | `2^63 - 1` | Truncates um braço do git para `N` caracteres. |
| `truncation_symbol` | `"…"` | O simbolo usado para indicar que o nome braço foi truncado. Você pode usar `""` para sem simbolo. |
| `only_attached` | `false` | Apenas exibe o nome do braço quando o estado não for detached `HEAD`. |
| `ignore_branches` | `[]` | Uma lista de nomes para evitar a exibição. Útil para "master" ou "main". |
| `disabled` | `false` | Desabilita o módulo `git_branch`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ------------- | -------- | ------------------------------------------------------------------------------------------------- |
| branch | `master` | O nome do braço atual, retornará para `HEAD` se não tiver braço atual (e.x: git detached `HEAD`). |
| remote_name | `origin` | O nome do remoto. |
| remote_branch | `master` | O nome do braço rastreado no `remote_name`. |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[git_branch]
symbol = "🌱 "
truncation_length = 4
truncation_symbol = ""
ignore_branches = ["master", "main"]
```
## Git commit
O módulo `git_commit` exibe o hash do comiit atual e também a tag (se existir) do repositório no diretório atual.
### Opções
| Opções | Padrão | Descrição |
| -------------------- | ---------------------------------- | ------------------------------------------------------------------------------------ |
| `commit_hash_length` | `7` | O tamanho do git commit hash para ser exibido. |
| `format` | `"[\\($hash$tag\\)]($style) "` | O formato do módulo. |
| `style` | `"bold green"` | O estilo do módulo. |
| `only_detached` | `true` | Apenas exibe o git commit hash quando o estado for detached `HEAD` |
| `tag_disabled` | `true` | Desabilita a exibição da informação da tag no módulo `git_commit`. |
| `tag_max_candidates` | `0` | How many commits to consider for tag display. The default only allows exact matches. |
| `tag_symbol` | `" 🏷 "` | Simbolo da tag prefixado na informação a ser exibida |
| `disabled` | `false` | Desabilita o módulo `git_commit`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | --------- | -------------------------------- |
| hash | `b703eb3` | A hash atual do git commit |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[git_commit]
commit_hash_length = 4
tag_symbol = "🔖 "
```
## Git State
O módulo `git_state` vai exibir nos diretorios que fazem parte de um repositorio git e onde existe uma operação em progresso, como: _REBASING_, _BISECTING_, etc. Se houver informação de progresso (e.x: REBASING 3/10). esta informação será exibida também.
### Opções
| Opções | Padrão | Descrição |
| -------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `rebase` | `"REBASING"` | O formato de string exibida quando um `rebase` esta em progresso. |
| `merge` | `"MERGING"` | O formato de string exibida quando um `merge` esta em progresso. |
| `revert` | `"REVERTING"` | O formato de string exibida quando um `revert` esta em progresso. |
| `cherry_pick` | `"CHERRY-PICKING"` | O formato de string exibida quando um `cherry-pick` esta em progresso. |
| `bisect` | `"BISECTING"` | O formato de string exibida quando um `bisect` esta em progresso. |
| `am` | `"AM"` | O formato de string exibida quando um `apply-mailbox` (`git am`) esta em progresso. |
| `am_or_rebase` | `"AM/REBASE"` | O formato de string exibida quando um `apply-mailbox` or `rebase` esta em progresso. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `format` | `'\([$state( $progress_current/$progress_total)]($style)\) '` | O formato do módulo. |
| `disabled` | `false` | Desabilita o módulo `git_state`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ---------------- | ---------- | -------------------------------------- |
| state | `REBASING` | O estado atual do repo |
| progress_current | `1` | O progresso da operação atual |
| progress_total | `2` | O total do progresso da operação atual |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[git_state]
format = '[\($state( $progress_current of $progress_total)\)]($style) '
cherry_pick = "[🍒 PICKING](bold red)"
```
## Git Metrics
O módulo `git_metrics` vai exibir o número de adições e exclusões de linhas no repositório git atual.
::: tip
Este módulo é desabilitado por padrão. Para habilitar, defina `disabled` para `false` no seu arquivo de configuração.
:::
### Opções
| Opções | Padrão | Descrição |
| -------------------- | ------------------------------------------------------------ | ------------------------------------------- |
| `added_style` | `"bold green"` | O estilo para a contagem de adições. |
| `deleted_style` | `"bold red"` | O estilo para a contagem de exclusões. |
| `only_nonzero_diffs` | `true` | Exibe apenas o status para itens alterados. |
| `format` | `'([+$added]($added_style) )([-$deleted]($deleted_style) )'` | O formato do módulo. |
| `disabled` | `true` | Desabilita o módulo `git_metrics`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ----------------- | ------- | --------------------------------------- |
| added | `1` | O número atual de linhas adicionadas |
| deleted | `2` | O número atual de linhas excluidas |
| added_style\* | | Espelha o valor da opção `added_style` |
| deleted_style\* | | Espelha o valor da opção`deleted_style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[git_metrics]
added_style = "bold blue"
format = '[+$added]($added_style)/[-$deleted]($deleted_style) '
```
## Git Status
O módulo `git_status` exibe o simbolo que representa o estado do repositório no diretório atual.
::: tip
O módulo Git Status é muito lento nos diretórios do Windows (por exemplo, em `/mnt/c/`) quando em um ambiente WSL. Você pode desabilitar o módulo ou usar a opção `windows_starship` para usar um executável Starship nativo do Windows para calcular o `git_status` para esses caminhos.
:::
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `format` | `'([\[$all_status$ahead_behind\]]($style) )'` | O formato padrão para `git_status` |
| `conflicted` | `"="` | Este braço tem conflitos. |
| `ahead` | `"⇡"` | O formato do `ahead` |
| `behind` | `"⇣"` | O formato do `behind` |
| `diverged` | `"⇕"` | O formato do `diverged` |
| `up_to_date` | `""` | O formato do `up_to_date` |
| `untracked` | `"?"` | O formato do `untracked` |
| `stashed` | `"$"` | O formato do `stashed` |
| `modified` | `"!"` | O formato do `modified` |
| `staged` | `"+"` | O formato do `staged` |
| `renamed` | `"»"` | O formato do `renamed` |
| `deleted` | `"✘"` | O formato do `deleted` |
| `style` | `"bold red"` | O estilo do módulo. |
| `ignore_submodules` | `false` | Ignora as alterações de submódulos. |
| `disabled` | `false` | Desabilita o módulo `git_status`. |
| `windows_starship` | | Use este caminho (Linux) para um executável do Windows Starship renderizar o `git_status` quando estiver em caminhos do Windows no WSL. |
### Variáveis
As variáveis a seguir podem ser usadas no `format`:
| Variável | Descrição |
| -------------- | ---------------------------------------------------------------------------------------------------------- |
| `all_status` | Atalhos para `$conflicted$stashed$deleted$renamed$modified$staged$untracked` |
| `ahead_behind` | Exibe `diverged`, `ahead`, `behind` or `up_to_date` conforme o formato da string do status do repositório. |
| `conflicted` | Exibe `conflicted` quando este braço tenha conflitos no merge. |
| `untracked` | Exibe `untracked` quando há arquivos não rastreados no diretório atual. |
| `stashed` | Exibe `stashed` quando um stash existe para o repositório local. |
| `modified` | Exibe `modified` quando um arquivo tenha modificações for adicionado na área de staging. |
| `staged` | Exibe `staged` quando um arquivo novo for adicionado na área de staging. |
| `renamed` | Exibe `renamed` quando um arquivo renomeado for adicionado na área de staging. |
| `deleted` | Exibe `deleted` quando um arquivo deletado for adicionado na área de staging. |
| style\* | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
As variáveis a seguir podem ser usadas em `diverged`:
| Variável | Descrição |
| -------------- | --------------------------------------------------- |
| `ahead_count` | Número de commits a frente do braço de rastreamento |
| `behind_count` | Número de commits atrás do braço de rastreamento |
As variaveis a seguir podem ser usadas em `conflicted`, `ahead`, `behind`, `untracked`, `stashed`, `modified`, `staged`, `renamed` e `deleted`:
| Variável | Descrição |
| -------- | -------------------------- |
| `count` | Exibe o número de arquivos |
### Exemplo
```toml
# ~/.config/starship.toml
[git_status]
conflicted = "🏳"
ahead = "🏎💨"
behind = "😰"
diverged = "😵"
up_to_date = "✓"
untracked = "🤷"
stashed = "📦"
modified = "📝"
staged = '[++\($count\)](green)'
renamed = "👅"
deleted = "🗑"
```
Exibe o count a frente/atrás do braço que esta sendo rastreado
```toml
# ~/.config/starship.toml
[git_status]
ahead = "⇡${count}"
diverged = "⇕⇡${ahead_count}⇣${behind_count}"
behind = "⇣${count}"
```
Use o executável do Windows Starship em caminhos do Windows em WSL
```toml
# ~/.config/starship.toml
[git_status]
windows_starship = '/mnt/c/Users/nomedousuario/scoop/apps/starship/current/starship.exe'
```
## Go
O módulo `golang` exibe a versão instalada atual do [Go](https://golang.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `go.mod`
- O diretório atual contem um arquivo `go.sum`
- O diretório atual contem um arquivo `go.work`
- O diretório atual contem um arquivo `glide.yaml`
- O diretório atual contem um arquivo `Gopkg.yml`
- O diretório atual contém um arquivo `Gopkg.lock`
- O diretório atual contem um arquivo `.go-version`
- O diretório atual contem um diretório `Godeps`
- O diretório atual contem arquivos com a extensão `.go`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🐹 "` | O formato da string que representa o simbolo do Go. |
| `detect_extensions` | `["go"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["go.mod", "go.sum", "go.work", "glide.yaml", "Gopkg.yml", "Gopkg.lock", ".go-version"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `["Godeps"]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold cyan"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `golang`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | --------- | --------------------------------- |
| version | `v1.12.1` | A versão do `go` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[golang]
format = "via [🏎💨 $version](bold cyan) "
```
## Haskell
O módulo `haskell` encontra a versão atual do GHC selecionada e/ou o snapshot do Stack selecionado.
Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `stack.yaml`
- O diretório atual contém qualquer arquivo `.hs`, `.cabal`, ou `.hs-boot`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | --------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `symbol` | `"λ "` | Uma string de formato que representa o símbolo de Haskell |
| `detect_extensions` | `["hs", "cabal", "hs-boot"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["stack.yaml", "cabal.project"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold purple"` | O estilo do módulo. |
| `disabled` | `false` | Desativa o módulo `haskell`. |
### Variáveis
| Variável | Exemplo | Descrição |
| -------------- | ----------- | ------------------------------------------------------------------------------ |
| version | | `ghc_version` ou o `snapshot` dependendo se o projeto atual é um projeto Stack |
| snapshot | `lts-18.12` | Snapshot do Stack selecionado |
| ghc\_version | `9.2.1` | Versão do GHC instalada |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
## Helm
O módulo `helm` exibe a versão atual instalada do [Helm](https://helm.sh/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `helmfile.yaml`
- O diretório atual contem um arquivo `Chart.yaml`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `[]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["helmfile.yaml", "Chart.yaml"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `symbol` | `"⎈ "` | O formato de string que representa o simbolo do Helm. |
| `style` | `"bold white"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `helm`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v3.1.1` | A versão do `helm` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[helm]
format = "via [⎈ $version](bold white) "
```
## Hostname
O módulo `hostname` exibe o nome do hostname.
### Opções
| Opções | Padrão | Descrição |
| ------------ | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ssh_only` | `true` | Apenas exibe o hostname quando conectado em uma sessão SSH. |
| `ssh_symbol` | `"🌐 "` | Uma formatação de string que representa o símbolo quando conectado à sessão SSH. |
| `trim_at` | `"."` | String na qual vai truncar o hostname, após a primeira correspondência. `"."` vai truncar após o primeiro ponto. `""` vai desabilitar qualquer truncação |
| `format` | `"[$ssh_symbol$hostname]($style) in "` | O formato do módulo. |
| `style` | `"bold dimmed green"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `hostname`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ---------- | ---------- | -------------------------------------------------------------- |
| hostname | `computer` | O hostname do computador |
| style\* | | Espelha o valor da opção `style` |
| ssh_symbol | `"🌏 "` | O símbolo a ser representado quando conectado à uma sessão SSH |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[hostname]
ssh_only = false
format = "[$ssh_symbol](bold blue) on [$hostname](bold red) "
trim_at = ".nomedacompanhia.com"
disabled = false
```
## Java
O módulo `java` exibe o versão atual instalada do [Java](https://www.oracle.com/java/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contenha algum dos arquivos `pom.xml`, `build.gradle.kts`, `build.sbt`, `.java-version`, `.deps.edn`, `project.clj`, or `build.boot`
- O diretório atual contenha arquivos com as extensões `.java`, `.class`, `.gradle`, `.jar`, `.clj`, or `.cljc`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [${symbol}(${version} )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `["java", "class", "gradle", "jar", "cljs", "cljc"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["pom.xml", "build.gradle.kts", "build.sbt", ".java-version", ".deps.edn", "project.clj", "build.boot"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `symbol` | `"☕ "` | Um formato de string que representa o simbolo do Java |
| `style` | `"red dimmed"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `java`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------- | --------------------------------- |
| version | `v14` | A versão do `java` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[java]
symbol = "🌟 "
```
## Jobs
O módulo `jobs` exibe o número atual de jobs rodando. O módulo vai ser exibido apenas se existir jobs em segundo plano sendo executados. O módulo vai exibir o número de jobs rodando se ao menos tiver 2 jobs ou mais que o valor da configuração `number_threshold`, se existir. O módulo vai exibir um simbolo se tiver ao menos 1 job ou mais, se o valor da configuração `symbol_threshold` existir. Você pode setar os dois valores para 0 para _sempre_ exibir o simbolo e número de jobs, mesmo que seja 0 os jobs em execução.
A funcionalidade padrão é:
- 0 jobs -> Nada é exibido.
- 1 job -> `symbol` é exibido.
- 2 jobs or more -> `symbol` + `number` é exibido.
::: atenção
Este módulo não é suportado em tcsh e nu.
:::
::: atenção
A opção `threshold` está obsoleta, mas se você quiser usa-la, o módulo vai exibir o numero de jobs rodando se for maior que 1 ou maior que o valor configurado na `threshold`, se ele existir. Se o valor `threshold` for definido como 0, então o módulo vai exibir quando tiver 0 jobs rodando.
:::
### Opções
| Opções | Padrão | Descrição |
| ------------------ | ----------------------------- | ------------------------------------------------------------------------- |
| `threshold`* | `1` | Exibe o número de jobs se excedido. |
| `symbol_threshold` | `1` | Exibe `symbol` se o número de jobs for ao menos `symbol_threshold`. |
| `number_threshold` | `2` | Exibe o número de jobs se o número de jobs é ao menos `number_threshold`. |
| `format` | `"[$symbol$number]($style) "` | O formato do módulo. |
| `symbol` | `"✦"` | A string usada para representar a variável `symbol`. |
| `style` | `"bold blue"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `jobs`. |
*: Esta opção está obsoleta, por favor use o `number_threshold` e `symbol_threshold` em vez disso.
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------- | --------------------------------- |
| number | `1` | O número de jobs |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[jobs]
symbol = "+ "
number_threshold = 4
symbol_threshold = 0
```
## Julia
O módulo `julia` exibe a versão atual instalada do [Julia](https://julialang.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `Project.toml`
- O diretório atual contem um arquivo `Manifest.toml`
- O diretório atual contem arquivos com a extensão `.jl`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `["jl"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["Project.toml", "Manifest.toml"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `symbol` | `"ஃ "` | O formato de string que representa o simbolo do Julia. |
| `style` | `"bold purple"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `julia`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v1.4.0` | A versão do `julia` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[julia]
symbol = "∴ "
```
## Kotlin
O módulo `kotlin` exibie a versão atual instalada do [Kotlin](https://kotlinlang.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `.kt` ou um arquivo `.kts`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `["kt", "kts"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `[]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `symbol` | `"🅺 "` | O formato de string que representa o simbolo do Kotlin. |
| `style` | `"bold blue"` | O estilo do módulo. |
| `kotlin_binary` | `"kotlin"` | Configura o binário do kotlin que o Starship executa para obter a versão. |
| `disabled` | `false` | Desabilita o módulo `kotlin`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | --------- | --------------------------------- |
| version | `v1.4.21` | A versão do `kotlin` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[kotlin]
symbol = "🅺 "
```
```toml
# ~/.config/starship.toml
[kotlin]
# Uses the Kotlin Compiler binary to get the installed version
kotlin_binary = "kotlinc"
```
## Kubernetes
Exibe o nome atual do [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) e, se definido, o namespace, usuário e cluster do arquivo kubeconfig. O namespace precisa ser definido no arquivo kubeconfig, isso pode ser feito via `kubectl config set-context starship-context --namespace astronaut`. Da mesma forma, o usuário e o cluster podem ser definidos com `kubectl config set-context starship-context --user starship-user` e `kubectl config set-context starship-context --cluster starship-cluster`. Se a env var `$KUBECONFIG` estiver definida o módulo vai usa-la ao invés de usar o `~/.kube/config`.
::: tip
Este módulo é desabilitado por padrão. Para habilitar, defina `disabled` para `false` no seu arquivo de configuração.
When the module is enabled it will always be active, unless any of `detect_extensions`, `detect_files` or `detect_folders` have been st in which case the module will only be active in directories that match those conditions.
:::
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ---------------------------------------------------- | ------------------------------------------------------------- |
| `symbol` | `"☸ "` | Uma string que representa o simbolo exibido antes do Cluster. |
| `format` | `'[$symbol$context( \($namespace\))]($style) in '` | O formato do módulo. |
| `style` | `"cyan bold"` | O estilo do módulo. |
| `context_aliases` | | Tabela de aliases de contexto para exibir. |
| `user_aliases` | | Table of user aliases to display. |
| `detect_extensions` | `[]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `[]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `disabled` | `true` | Desabilita o módulo `kubernetes`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------------------- | ------------------------------------------- |
| context | `starship-context` | O nome atual do kubernetes context |
| namespace | `starship-namespace` | Se definido o namespace atual do kubernetes |
| user | `starship-user` | Se definido, o usuário atual do kubernetes |
| cluster | `starship-cluster` | Se definido, o cluster atual do kubernetes |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[kubernetes]
format = 'on [⛵ ($user on )($cluster in )$context \($namespace\)](dimmed green) '
disabled = false
[kubernetes.context_aliases]
"dev.local.cluster.k8s" = "dev"
".*/openshift-cluster/.*" = "openshift"
"gke_.*_(?P[\\w-]+)" = "gke-$var_cluster"
[kubernetes.user_aliases]
"dev.local.cluster.k8s" = "dev"
"root/.*" = "root"
```
Only show the module in directories that contain a `k8s` file.
```toml
# ~/.config/starship.toml
[kubernetes]
disabled = false
detect_files = ['k8s']
```
#### Correspondência Regex
Additional to simple aliasing, `context_aliases` and `user_aliases` also supports extended matching and renaming using regular expressions.
A expressão regular deve coincidir com todo o contexto kube, Grupos de captura podem ser referenciados usando `$name` e `$N` na substituição. Isto esta mais explicado na documentação do [regex crate](https://docs.rs/regex/1.5.4/regex/struct.Regex.html#method.replace).
Nomes longos de clusters gerados automaticamente podem ser encurtados usando expressão regular:
```toml
[kubernetes.context_aliases]
# Contexto do OpenShift carrega o namespace e usuário no contexto kube: `namespace/name/user`:
".*/openshift-cluster/.*" = "openshift"
# Ou melhor, para renomear cada cluster OpenShift de uma vez:
".*/(?P[\\w-]+)/.*" = "$var_cluster"
# Contexto do GKE, AWS e outras provedores de nuvem normalmente carregam mais informações, como a region/zone.
# A entrada a seguir corresponde o formato GKE (`gke_projectname_zone_cluster-name`)
# e renomeia cada kube context em um formato mais legível (`gke-cluster-name`):
"gke_.*_(?P[\\w-]+)" = "gke-$var_cluster"
```
## Quebra de linha
O módulo `line_break` separa o prompt em duas linhas.
### Opções
| Opções | Padrão | Descrição |
| ---------- | ------- | ----------------------------------------------------------------------------------- |
| `disabled` | `false` | Desabilita o módulo `line_break`, fazendo com que o prompt seja em uma unica linha. |
### Exemplo
```toml
# ~/.config/starship.toml
[line_break]
disabled = true
```
## IP Local
O módulo `localip` mostra o endereço IPv4 da interface primária de rede.
### Opções
| Opções | Padrão | Descrição |
| ---------- | ------------------------- | -------------------------------------------------------------- |
| `ssh_only` | `true` | Apenas mostre o endereço IP quando conectado a uma sessão SSH. |
| `format` | `"[$localipv4]($style) "` | O formato do módulo. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `disabled` | `true` | Desabilita o módulo `localip`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------------ | -------------------------------- |
| localipv4 | 192.168.1.13 | Contém o endereço IPv4 principal |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[localip]
ssh_only = false
format = "@[$localipv4](bold red) "
disabled = false
```
## Lua
O módulo `lua` exibe a versão atual instalada do [Lua](http://www.lua.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contém um arquivo `.lua-version`
- O diretório atual contém um diretório `lua`
- O diretório atual tem um arquivo com a extensão `.lua`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🌙 "` | Uma string que representa o simbolo do Lua. |
| `detect_extensions` | `["lua"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `[".lua-version"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `["lua"]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold blue"` | O estilo do módulo. |
| `lua_binary` | `"lua"` | Configura o binário lua que o Starship executa para pegar a versão. |
| `disabled` | `false` | Desabilita o módulo `lua`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v5.4.0` | A versão do `lua` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[lua]
format = "via [🌕 $version](bold blue) "
```
## Uso de memória
O módulo `memory_usage` mostra a memória atual do sistema e o uso de troca.
Por padrão o uso do swap é exibido se o total de swap do sistema é diferente de zero.
::: tip
Este módulo é desabilitado por padrão. Para habilitar, defina `disabled` para `false` no seu arquivo de configuração.
:::
### Opções
| Opções | Padrão | Descrição |
| ----------- | ----------------------------------------------- | ------------------------------------------------------------- |
| `threshold` | `75` | Esconde o uso de memoria a menos que exceda esta porcentagem. |
| `format` | `"via $symbol [${ram}( \| ${swap})]($style) "` | O formato do módulo. |
| `symbol` | `"🐏"` | O simbolo usado antes de exibir o uso de memoria. |
| `style` | `"bold dimmed white"` | O estilo do módulo. |
| `disabled` | `true` | Desabilita o módulo `memory_usage`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ---------------- | ------------- | ------------------------------------------------- |
| ram | `31GiB/65GiB` | O uso/total de memoria RAM atual do sistema. |
| ram_pct | `48%` | A porcentagem de uso atual da memoria do sistema. |
| swap\*\* | `1GiB/4GiB` | O tamanho atual do swap do sistema. |
| swap_pct\*\* | `77%` | A porcentagem atual de uso do swap. |
| symbol | `🐏` | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo *\*: As informações do arquivo SWAP são exibidas apenas se detectadas no sistema atual
### Exemplo
```toml
# ~/.config/starship.toml
[memory_usage]
disabled = false
threshold = -1
symbol = " "
style = "bold dimmed green"
```
## Mercurial Branch
O módulo `hg_branch` exibe o braço atual do repositório no diretório atual.
### Opções
| Opções | Padrão | Descrição |
| ------------------- | -------------------------------- | --------------------------------------------------------------------------------------- |
| `symbol` | `" "` | O simbolo usado ante do marcador hg ou nome do braço do repositório no diretório atual. |
| `style` | `"bold purple"` | O estilo do módulo. |
| `format` | `"on [$symbol$branch]($style) "` | O formato do módulo. |
| `truncation_length` | `2^63 - 1` | Trunca o nome do braço hg para `N` caracteres |
| `truncation_symbol` | `"…"` | O simbolo usado para indicar que o nome braço foi truncado. |
| `disabled` | `true` | Desabilita o módulo `hg_branch`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| branch | `master` | O braço mercurial ativo |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[hg_branch]
format = "on [🌱 $branch](bold purple)"
truncation_length = 4
truncation_symbol = ""
```
## Nim
O módulo `nim` exibe a versão atual instalada do [Nim](https://nim-lang.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `nim.cfg`
- O diretório atual tenha um arquivo com a extensão `.nim`
- O diretório atual tenha um arquivo com a extensão `.nims`
- O diretório atual tenha um arquivo com a extensão `.nimble`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"👑 "` | O simbolo usado antes de exibir a versão do Nim. |
| `detect_extensions` | `["nim", "nims", "nimble"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["nim.cfg"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `nim`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v1.2.0` | A versão do `nimc` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[nim]
style = "yellow"
symbol = "🎣 "
```
## Nix-shell
O módulo `nix_shell` exibe o ambiente [nix-shell](https://nixos.org/guides/nix-pills/developing-with-nix-shell.html). O módulo vai exibir quando estiver dentro de um ambiente nix-shell.
### Opções
| Opções | Padrão | Descrição |
| ------------ | ---------------------------------------------- | ------------------------------------------------- |
| `format` | `'via [$symbol$state( \($name\))]($style) '` | O formato do módulo. |
| `symbol` | `"❄️ "` | Uma string que representa o simbolo do nix-shell. |
| `style` | `"bold blue"` | O estilo do módulo. |
| `impure_msg` | `"impure"` | Uma string que exibe quando o shell é impuro. |
| `pure_msg` | `"pure"` | Uma string que exibe quando o shell é puro. |
| `disabled` | `false` | Desabilita o módulo `nix_shell`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------- | --------------------------------- |
| state | `pure` | O estado do nix-shell |
| name | `lorri` | O nome do nix-shell |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[nix_shell]
disabled = true
impure_msg = "[impure shell](bold red)"
pure_msg = "[pure shell](bold green)"
format = 'via [☃️ $state( \($name\))](bold blue) '
```
## Node.js
O módulo `nodejs` exibe a versão atual instalada do [Node.js](https://nodejs.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem o arquivo `package.json`
- O diretório atual tenha um arquivo `.node-version`
- O diretório atual tenha um arquivo`.nvmrc`
- O diretório atual tenha um diretório `node_modules`
- O diretório atual tenha um arquivo com a extensão `.js`, `.mjs` or `.cjs`
- O diretório atual contém um arquivo com a extensão `.ts`, `.mts` ou `.cts`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `" "` | Uma string que representa o simbolo do Node.js. |
| `detect_extensions` | `["js", "mjs", "cjs", "ts", "mts", "cts"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["package.json", ".node-version"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `["node_modules"]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold green"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `nodejs`. |
| `not_capable_style` | `bold red` | O estilo para o módulo quando a propriedade engine no package.json não coincide com a versão do Node.js. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ---------- | --------------------------------- |
| version | `v13.12.0` | A versão do `node` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[nodejs]
format = "via [🤖 $version](bold green) "
```
## OCaml
O módulo `ocaml` exibe a versão atual instalada do [OCaml](https://ocaml.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contenha um arquivo com a extensão`.opam` ou um diretório `_opam`
- O diretório atual tenha um diretório `esy.lock`
- O diretório atual tenha um arquivo `dune` or `dune-project`
- O diretório atual tenha um arquivo `jbuild` or `jbuild-ignore`
- O diretório tenha um arquivo `.merlin`
- O diretório atual tenha um arquivo com a extensão `.ml`, `.mli`, `.re` ou `.rei`
### Opções
| Opções | Padrão | Descrição |
| ------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )(\($switch_indicator$switch_name\) )]($style)"` | A string de formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🐫 "` | O símbolo usado antes de exibir a versão do OCaml. |
| `global_switch_indicator` | `""` | A string usada para representar a mudança global OPAM. |
| `local_switch_indicator` | `"*"` | A string usada para representar as mudanças locais do OPAM. |
| `detect_extensions` | `["opam", "ml", "mli", "re", "rei"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["dune", "dune-project", "jbuild", "jbuild-ignore", ".merlin"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `["_opam", "esy.lock"]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `ocaml`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ---------------- | ------------ | ---------------------------------------------------------------- |
| version | `v4.10.0` | A versão do `ocaml` |
| switch_name | `my-project` | O switch OPAM ativo |
| switch_indicator | | Espelha o valor do `indicator` para o switch ativo atual do OPAM |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[ocaml]
format = "via [🐪 $version]($style) "
```
## OpenStack
O módulo `openstack` exibe o OpenStack cloud e projeto atual. O módulo apenas ativa quando a env var `OS_CLOUD` esta definida, neste caso ele vai ler o arquivo `clouds.yaml` de qualquer um dos [default locations](https://docs.openstack.org/python-openstackclient/latest/configuration/index.html#configuration-files). para buscar o projeto atual em uso.
### Opções
| Opções | Padrão | Descrição |
| ---------- | --------------------------------------------------- | ---------------------------------------------------- |
| `format` | `"on [$symbol$cloud(\\($project\\))]($style) "` | O formato do módulo. |
| `symbol` | `"☁️ "` | O simbolo usado para exibir o OpenStack cloud atual. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `openstack`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------- | --------------------------------- |
| cloud | `corp` | O OpenStack cloud atual |
| project | `dev` | O projeto OpenStack atual |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[openstack]
format = "on [$symbol$cloud(\\($project\\))]($style) "
style = "bold yellow"
symbol = "☁️ "
```
## Package Version
O módulo `package` é mostrado quando o diretório atual é o repositório de um pacote e mostra sua versão atual. The module currently supports `npm`, `nimble`, `cargo`, `poetry`, `python`, `composer`, `gradle`, `julia`, `mix`, `helm`, `shards`, `daml` and `dart` packages.
- [**npm**](https://docs.npmjs.com/cli/commands/npm) – O versionamento de pacotes `npm` é extraído do `package.json` presente no diretório atual
- [**Cargo**](https://doc.rust-lang.org/cargo/) – O versionamento de pacotes `cargo`é extraído do arquivo `Cargo.toml` presente no diretório atual
- [**Nimble**](https://github.com/nim-lang/nimble) - O versionamento de pacotes `nimble` é extraído do arquivo `*.nimble` presente no diretório atual com o comando`nimble dump`
- [**Poetry**](https://python-poetry.org/) – O versionamento de pacotes `poetry` é extraído do arquivo `pyproject.toml` presente no diretório atual
- [**Python**](https://www.python.org) - O versionamento de pacotes `python` é extraída de um `pyproject.toml` compatível com [PEP 621](https://peps.python.org/pep-0621/) ou um `setup.cfg` presente no diretório atual
- [**Composer**](https://getcomposer.org/) – O versionamento de pacotes `composer` é extraído do arquivo`composer.json` presente no diretório atual
- [**Gradle**](https://gradle.org/) – The `gradle` package version is extracted from the `build.gradle` present in the current directory
- [**Julia**](https://docs.julialang.org/en/v1/stdlib/Pkg/) - The package version is extracted from the `Project.toml` present in the current directory
- [**Mix**](https://hexdocs.pm/mix/) - The `mix` package version is extracted from the `mix.exs` present in the current directory
- [**Helm**](https://helm.sh/docs/helm/helm_package/) - The `helm` chart version is extracted from the `Chart.yaml` present in the current directory
- [**Maven**](https://maven.apache.org/) - The `maven` package version is extracted from the `pom.xml` present in the current directory
- [**Meson**](https://mesonbuild.com/) - The `meson` package version is extracted from the `meson.build` present in the current directory
- [**Shards**](https://crystal-lang.org/reference/the_shards_command/index.html) - The `shards` package version is extracted from the `shard.yml` present in the current directory
- [**V**](https://vlang.io) - The `vlang` package version is extracted from the `v.mod` present in the current directory
- [**SBT**](https://scala-sbt.org) - O versionamento de pacotes `sbt` pé extraído do arquivo `build.sbt` presente no diretório atual
- [**Daml**](https://www.digitalasset.com/developers) - The `daml` package version is extracted from the `daml.yaml` present in the current directory
- [**Dart**](https://pub.dev/) - O versionamento de pacotes `dart` pé extraído do arquivo `pubspec.yaml` presente no diretório atual
> ⚠️ A versão exibida é a que esta presente no código fonte do diretório atual e não do gerenciador de pacotes.
### Opções
| Opções | Padrão | Descrição |
| ----------------- | --------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"is [$symbol$version]($style) "` | O formato do módulo. |
| `symbol` | `"📦 "` | O simbolo usado antes de exibir a versão do pacote. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `style` | `"bold 208"` | O estilo do módulo. |
| `display_private` | `false` | Habilita a exibição da versão para os pacotes marcados como privado. |
| `disabled` | `false` | Desabilita o módulo `package`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v1.0.0` | A versão do seu pacote |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[package]
format = "via [🎁 $version](208 bold) "
```
## Perl
O módulo `perl` exibe a versão atual instalada do [Perl](https://www.perl.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual tanha um aquivo `Makefile.PL` ou `Build.PL`
- O diretório atual tenha um arquivo `cpanfile` ou `cpanfile.snapshot`
- O diretório atual tenha um arquivo `META.json` ou `META.yml`
- O diretório atual tenha um arquivo `.perl-version`
- O diretório atual tenha um `.pl`, `.pm` ou `.pod`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | A string de formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🐪 "` | O simbolo usado ante de exibir a versão do Perl |
| `detect_extensions` | `["pl", "pm", "pod"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["Makefile.PL", "Build.PL", "cpanfile", "cpanfile.snapshot", "META.json", "META.yml", ".perl-version"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold 149"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `perl`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | --------- | --------------------------------- |
| version | `v5.26.1` | A versão do `perl` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
### Exemplo
```toml
# ~/.config/starship.toml
[perl]
format = "via [🦪 $version]($style) "
```
## PHP
O módulo `php` exibe a versão atual instalada do [PHP](https://www.php.net/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `composer.json`
- O diretório atual tenha um arquivo `.php-version`
- O diretório atual tenha um arquivo com extensão `.php`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🐘 "` | O simbolo usado antes de exibir a versão do PHP. |
| `detect_extensions` | `["php"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["composer.json", ".php-version"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"147 bold"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `php`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v7.3.8` | A versão do `php` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[php]
format = "via [🔹 $version](147 bold) "
```
## Pulumi
O módulo `pulumi` mostra o nome de usuário atual, a [Pulumi Stack](https://www.pulumi.com/docs/intro/concepts/stack/) selcionada e a versão.
::: tip
Por padrão a versão do Pulumi não é exibida, pois leva um tempo maior para ser carregada. Em média a maioria dos plugins leva (~70ms). Se você ainda deseja ativa-la, [siga o exemplo abaixo](#with-pulumi-version).
:::
Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual tenha um arquivo `Pulumi.yaml` ou `Pulumi.yml`
- A parent directory contains either `Pulumi.yaml` or `Pulumi.yml` unless `search_upwards` is set to `false`
### Opções
| Opções | Padrão | Descrição |
| ---------------- | -------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($username@)$stack]($style) "` | A string de formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `" "` | Uma string que é exibida antes do Pulumi stack. |
| `style` | `"bold 5"` | O estilo do módulo. |
| `search_upwards` | `true` | Enable discovery of pulumi config files in parent directories. |
| `disabled` | `false` | Desabilita o módulo `pulumi`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ---------- | --------------------------------- |
| version | `v0.12.24` | A versão do `pulumi` |
| stack | `dev` | A stack Pulumi atual |
| username | `alice` | O nome de usuário Pulumi atual |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
#### Com a versão do Pulumi
```toml
# ~/.config/starship.toml
[pulumi]
format = "[🛥 ($version )$stack]($style) "
```
#### Sem a versão do Pulumi
```toml
# ~/.config/starship.toml
[pulumi]
symbol = "🛥 "
format = "[$symbol$stack]($style) "
```
## PureScript
O módulo `purescript` exibe a versão atual instalada do [PureScript](https://www.purescript.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `spago.dhall`
- O diretório atual tenha um arquivo com a extensão `.purs`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"<=> "` | O simbolo usado antes de exibir a versão do PureScript. |
| `detect_extensions` | `["purs"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["spago.dhall"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold white"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `purescript`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `0.13.5` | A versão do `purescript` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[purescript]
format = "via [$symbol$version](bold white)"
```
## Python
O módulo `python` exibe a versão atual instalada do [Python](https://www.python.org/) e o [Python virtual environment](https://docs.python.org/tutorial/venv.html) se algum estiver ativo.
Se o `pyenv_version_name` estiver definido como `true`, será exibido o nome da versão do pyenv. Caso contrario, ele exibirá o número da versão do `python --version`.
Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual tenha um arquivo `.python-version`
- O diretório atual tenha um arquivo `Pipfile`
- O diretório atual tenha um arquivo `__init__.py`
- O diretório atual contem um arquivo `pyproject.toml`
- O diretório atual contem um arquivo `requirements.txt`
- O diretório atual contem um arquivo `setup.py`
- O diretório atual contem um arquivo `tox.ini`
- O diretório atual tenha um arquivo com a extensão `.py`.
- Um ambiente virtual está atualmente ativo
### Opções
| Opções | Padrão | Descrição |
| -------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `'via [${symbol}${pyenv_prefix}(${version} )(\($virtualenv\) )]($style)'` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🐍 "` | Uma string que representa o simbolo do Python |
| `style` | `"yellow bold"` | O estilo do módulo. |
| `pyenv_version_name` | `false` | Usa pyenv para pegar a versão do Python |
| `pyenv_prefix` | `pyenv` | Prefixo antes da versão do pyenv, apenas usado se pyenv for usado |
| `python_binary` | `["python", "python3", "python2"]` | Configura o binário python que o Starship vai executar para obter a versão. |
| `detect_extensions` | `["py"]` | Quais extensões devem acionar este módulo |
| `detect_files` | `[".python-version", "Pipfile", "__init__.py", "pyproject.toml", "requirements.txt", "setup.py", "tox.ini"]` | [] |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo |
| `disabled` | `false` | Desabilita o módulo `python`. |
::: tip
A variável `python_binary` aceita uma string ou uma lista de strings. O Starship vai tentar executar cada binário até obter um resultado. Note que você pode apenas alterar o binário em que o Starship executa para pegar a versão do Python não os argumentos que são utilizados.
O valor padrão e a ordem para o `python_binary` foram escolhidos para identificar primeiro uma versão do Python em um ambiente virtualenv/conda (que atualmente adiciona um `python`, não importa se ele aponta pro `python3` ou `python2`). Este tem efeito de lado, se você tenha um sistema com Python 2 instalado, pode ser usado antes de qualquer Python 3 (pelo menos nas Distros Linux que sempre fazem um symlink `/usr/bin/python` para Python 2). Se você não trabalha mais com Python 2, mas não pode remover do sistema o Python 2, alterando este para `"python3"` vai esconder qualquer versão de Python 2, veja o exemplo abaixo.
:::
### Variáveis
| Variável | Exemplo | Descrição |
| ------------ | --------------- | --------------------------------------- |
| version | `"v3.8.1"` | A versão do `python` |
| symbol | `"🐍 "` | Espelha o valor da opção `symbol` |
| style | `"yellow bold"` | Espelha o valor da opção `style` |
| pyenv_prefix | `"pyenv "` | Espelha o valor da opção `pyenv_prefix` |
| virtualenv | `"venv"` | O nome atual do `virtualenv` |
### Exemplo
```toml
# ~/.config/starship.toml
[python]
symbol = "👾 "
pyenv_version_name = true
```
```toml
# ~/.config/starship.toml
[python]
# Apenas use o binário `python3` para pegar a versão.
python_binary = "python3"
```
```toml
# ~/.config/starship.toml
[python]
#Não acione arquivos com a extensão py
detect_extensions = []
```
```toml
# ~/.config/starship.toml
[python]
# Exibe a versão do python dentro de um local venv.
#
# Observe que isso só funcionará quando o venv estiver dentro do projeto e somente
# funcionar no diretório que contém o venv dir mas talvez isso esteja ok?
python_binary = ["./venv/bin/python", "python", "python3", "python2"]
```
## R
O módulo `rlang` exibe a versão atual instalada do [R](https://www.r-project.org/). O módulo vai exibir se algumas das condições a seguir for atendida:
- O diretório atual tenha um arquivo com a extensão `.R`.
- O diretório atual tenha um arquivo com a extensão `.Rd`.
- O diretório atual tenha um arquivo com a extensão `.Rmd`.
- O diretório atual tenha um arquivo com a extensão `.Rproj`.
- O diretório atual tenha um arquivo com a extensão `.Rsx`.
- O diretório atual tenha um arquivo `.Rprofile`
- O diretório atual tenha uma pasta `.Rpoj.user`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"📐"` | Uma string que representa o simbolo do R. |
| `style` | `"blue bold"` | O estilo do módulo. |
| `detect_extensions` | `["R", "Rd", "Rmd", "Rproj", "Rsx"]` | Quais extensões devem acionar este módulo |
| `detect_files` | `[".Rprofile"]` | [] |
| `detect_folders` | `[".Rproj.user"]` | Quais pastas devem ativar este módulo |
| `disabled` | `false` | Desabilita o módulo `r`. |
### Variáveis
| Variável | Exemplo | Descrição |
| -------- | ------------- | --------------------------------- |
| version | `v4.0.5` | A versão do `R` |
| symbol | | Espelha o valor da opção `symbol` |
| style | `"blue bold"` | Espelha o valor da opção `style` |
### Exemplo
```toml
# ~/.config/starship.toml
[rlang]
format = "with [📐 $version](blue bold) "
```
## Raku
The `raku` module shows the currently installed version of [Raku](https://www.raku.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- The current directory contains a `META6.json` file
- The current directory contains a `.p6`, `.pm6`, `.raku`, `.rakumod` or `.pod6`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version-$vm_version )]($style)"` | A string de formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🦋 "` | The symbol used before displaying the version of Raku |
| `detect_extensions` | `["p6", "pm6", "pod6", "raku", "rakumod"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["META6.json"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold 149"` | O estilo do módulo. |
| `disabled` | `false` | Disables the `raku` module. |
### Variáveis
| Variável | Exemplo | Descrição |
| ---------- | ------- | ------------------------------------ |
| version | `v6.d` | The version of `raku` |
| vm_version | `moar` | The version of VM `raku` is built on |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
### Exemplo
```toml
# ~/.config/starship.toml
[raku]
format = "via [🦪 $version]($style) "
```
## Red
Por padrão o módulo `red` exibe a versão atual instalada do [Red](https://www.red-lang.org/). O módulo será mostrado se alguma das seguintes condições for atendida:
- O diretório atual contenha um arquivo com a extensão `.red` or `.reds`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🔺 "` | Uma string que representa o simbolo do Red. |
| `detect_extensions` | `["red"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `[]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"red bold"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `red`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v2.5.1` | A versão do `red` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[red]
symbol = "🔴 "
```
## Ruby
Por padrão o módulo `ruby` vai exibir a versão atual instalada do [Ruby](https://www.ruby-lang.org/). O módulo será mostrado se alguma das seguintes condições for atendida:
- O diretório atual tenha um arquivo `Gemfile`
- O diretório atual contém um arquivo `.ruby-version`
- O diretório atual contem um arquivo `.rb`
- As variáveis de ambiente `RUBY_VERSION` ou `RBENV_VERSION` estão definidas
O Starship pega a versão atual do Ruby rodando `ruby -v`.
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"💎 "` | Uma string que representa o simbolo do Ruby. |
| `detect_extensions` | `["rb"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["Gemfile", ".ruby-version"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `detect_variables` | `["RUBY_VERSION", "RBENV_VERSION"]` | Quais variáveis de ambiente devem ativar este módulo. |
| `style` | `"bold red"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `ruby`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v2.5.1` | A versão do `ruby` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[ruby]
symbol = "🔺 "
```
## Rust
Por padrão o módulo `rust` vai exibir a versão atual instalada do [Rust](https://www.rust-lang.org/). O módulo será mostrado se alguma das seguintes condições for atendida:
- O diretório atual contem um arquivo `Cargo.toml`
- O diretório atual tenha um arquivo com a extensão `.rs`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🦀 "` | Uma string que representa o simbolo do Rust |
| `detect_extensions` | `["rs"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["Cargo.toml"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold red"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `rust`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ----------------- | --------------------------------------- |
| version | `v1.43.0-nightly` | A versão do `rustc` |
| numver | `1.51.0` | O componente numérico da versão `rustc` |
| toolchain | `beta` | A versão do toolchain |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[rust]
format = "via [⚙️ $version](red bold)"
```
## Scala
O módulo `scala` exibe a versão atual instalada do [Scala](https://www.scala-lang.org/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `build.sbt`, `.scalaenv` ou `.sbtenv`
- O diretório atual tenha um arquivo com a extensão `.scala` ou `.sbt`
- O diretório atual tenha um diretório chamado `.metals`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [${symbol}(${version} )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `["sbt", "escala"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `[".scalaenv", ".sbtenv", "build.sbt"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[".metals"]` | Quais pastas devem ativar este módulo. |
| `symbol` | `"🆂 "` | Uma string que representa o simbolo do Scala. |
| `style` | `"red dimmed"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `scala`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `2.13.5` | A versão do `scala` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[scala]
symbol = "🌟 "
```
## Shell
O módulo de `shell` exibe um indicador para o shell que esta sendo usado.
::: tip
Este módulo é desabilitado por padrão. Para habilitar, defina `disabled` para `false` no seu arquivo de configuração.
:::
### Opções
| Opções | Padrão | Descrição |
| ---------------------- | ------------------------- | ------------------------------------------------------- |
| `bash_indicator` | `bsh` | Uma string para representar o bash. |
| `fish_indicator` | `fsh` | Uma string usada para representar o fish. |
| `zsh_indicator` | `zsh` | Uma string usada para representar o zsh. |
| `powershell_indicator` | `psh` | Uma string usada para representar o powershell. |
| `ion_indicator` | `ion` | Uma string usada para representar o ion. |
| `elvish_indicator` | `esh` | Uma string usada para representar o elvish. |
| `tcsh_indicator` | `tsh` | Uma string usada para representar o tcsh. |
| `xonsh_indicator` | `xsh` | Uma string usada para representar o xonsh. |
| `cmd_indicator` | `cmd` | Uma string usada para representar o cmd. |
| `nu_indicator` | `nu` | Uma string usada para representar o nu. |
| `unknown_indicator` | | Valor padrão para exibir quando o shell é desconhecido. |
| `format` | `"[$indicator]($style) "` | O formato do módulo. |
| `style` | `"white bold"` | O estilo do módulo. |
| `disabled` | `true` | Desabilita o módulo `shell`. |
### Variáveis
| Variável | Padrão | Descrição |
| --------- | ------ | ------------------------------------------------------------- |
| indicator | | Espelha o valor do `indicator` para o shell usado atualmente. |
| style\* | | Espelha o valor da opção `style`. |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplos
```toml
# ~/.config/starship.toml
[shell]
fish_indicator = ""
powershell_indicator = "_"
unknown_indicator = "mystery shell"
style = "cyan bold"
disabled = false
```
## SHLVL
O módulo `shlvl` exibe o atual [`SHLVL`](https://tldp.org/LDP/abs/html/internalvariables.html#SHLVLREF) ("shell level") variável de ambiente, se estiver definido um número e coincidir ou exceder o limite especificado.
### Opções
| Opções | Padrão | Descrição |
| ----------- | ---------------------------- | ----------------------------------------------------------------- |
| `threshold` | `2` | Limite de exibição. |
| `format` | `"[$symbol$shlvl]($style) "` | O formato do módulo. |
| `symbol` | `"↕️ "` | O simbolo usado para representar o `SHLVL`. |
| `repeat` | `false` | Caso o `symbol` deva se repetir de acordo com o total do `SHLVL`. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `disabled` | `true` | Desabilita o módulo `shlvl`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------- | --------------------------------- |
| shlvl | `3` | O valor atual do `SHLVL` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[shlvl]
disabled = false
format = "$shlvl level(s) down"
threshold = 3
```
## Singularidade
O módulo `singularity` exibe a imagem atual do [Singularity](https://sylabs.io/singularity/), se dentro de um contêiner e definido `$SINGULARITY_NAME`.
### Opções
| Opções | Padrão | Descrição |
| ---------- | -------------------------------- | ------------------------------------------- |
| `format` | `'[$symbol\[$env\]]($style) '` | O formato do módulo. |
| `symbol` | `""` | Uma string exibida antes do nome da imagem. |
| `style` | `"bold dimmed blue"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `singularity`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------------ | --------------------------------- |
| env | `centos.img` | A imagem atual do Singularity |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[singularity]
format = '[📦 \[$env\]]($style) '
```
## Spack
O módulo `spack` mostra o ambiente [Spack](https://spack.readthedocs.io/en/latest/) atual, se o `$SPACK_ENV` estiver definido.
### Opções
| Opções | Padrão | Descrição |
| ------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `truncation_length` | `1` | O número de diretórios para os quais o caminho do ambiente deve ser truncado. `0` quer dizer sem truncação. Também consulte o módulo [`directory`](#directory). |
| `symbol` | `"🅢 "` | O simbolo usado antes do nome do environment. |
| `style` | `"bold blue"` | O estilo do módulo. |
| `format` | `"via [$symbol$environment]($style) "` | O formato do módulo. |
| `disabled` | `false` | Desabilita o módulo `spack`. |
### Variáveis
| Variável | Exemplo | Descrição |
| ----------- | ------------ | --------------------------------- |
| environment | `astronauts` | O ambiente spack atual |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[spack]
format = "[$symbol$environment](dimmed blue) "
```
## Status
O módulo `status` exibe o código de saída do comando anterior. Se o $success_symbol estiver vazio (padrão), o módulo será exibido apenas se o código de saída não for `0.`. O código de status será convertido em um inteiro de 32 bits signed.
::: tip
Este módulo é desabilitado por padrão. Para habilitar, defina `disabled` para `false` no seu arquivo de configuração.
:::
### Opções
| Opções | Padrão | Descrição |
| --------------------------- | ------------------------------------------------------------------------------------ | --------------------------------------------------------------------- |
| `format` | `"[$symbol$status]($style) "` | O formato do módulo |
| `symbol` | `"✖"` | O simbolo exibido no erro de programa |
| `success_symbol` | `""` | O simbolo exibido no sucesso de programa |
| `not_executable_symbol` | `"🚫"` | O simbolo exibido quando o arquivo não é executável |
| `not_found_symbol` | `"🔍"` | O simbolo exibido quando o comando não é encontrado |
| `sigint_symbol` | `"🧱"` | O simbolo exibido no SIGINT (Ctrl + c) |
| `signal_symbol` | `"⚡"` | O simbolo exibido em qualquer sinal |
| `style` | `"bold red"` | O estilo do módulo. |
| `recognize_signal_code` | `true` | Habilita o mapeamento de sinais para códigos de saída |
| `map_symbol` | `false` | Habilita o mapeamento de símbolos para códigos de saída |
| `pipestatus` | `false` | Habilita o relatório de pipestatus |
| `pipestatus_separator` | |
| The symbol used to separate pipestatus segments |
| `pipestatus_format` | `\\[$pipestatus\\] => [$symbol$common_meaning$signal_name$maybe_int]($style)` | O formato do módulo quando o comando é um pipeline |
| `pipestatus_segment_format` | | When specified, replaces `format` when formatting pipestatus segments |
| `disabled` | `true` | Desabilita o módulo `status`. |
### Variáveis
| Variável | Exemplo | Descrição |
| -------------- | ------- | -------------------------------------------------------------------------------------------------------- |
| status | `127` | O codígo de saída do último comando |
| hex_status | `0x7F` | O codígo de saída do último comando em hex |
| int | `127` | O codígo de saída do último comando |
| common_meaning | `ERROR` | Significa que o código não é um sinal |
| signal_number | `9` | Número do sinal correspondente ao código de saída, apenas se sinalizado |
| signal_name | `KILL` | Nome do sinal correspondente ao código de saída, apenas se for sinalizado |
| maybe_int | `7` | Contém o código de saída quando nenhum significado for encontrado |
| pipestatus | | Exibição do pipeline de programas com os códigos de saída, este é apenas disponível no pipestatus_format |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[status]
style = "bg:blue"
symbol = "🔴 "
success_symbol = "🟢 SUCCESS"
format = '[\[$symbol$common_meaning$signal_name$maybe_int\]]($style) '
map_symbol = true
disabled = false
```
## Sudo
O módulo `sudo` é exibido se uma credencial sudo estiver em cache. O módulo vai ser exibido somente se as credenciais estiverem em cache.
::: tip
Este módulo é desabilitado por padrão. Para habilitar, defina `disabled` para `false` no seu arquivo de configuração.
:::
### Opções
| Opções | Padrão | Descrição |
| --------------- | ----------------------- | -------------------------------------------------------------------------- |
| `format` | `[as $symbol]($style)"` | O formato do módulo |
| `symbol` | `"🧙 "` | O simbolo exibido quando as credenciais estão em cache |
| `style` | `"bold blue"` | O estilo do módulo. |
| `allow_windows` | `false` | Desde que o Windows não tem um padrão sudo, o valor padrão é desabilitado. |
| `disabled` | `true` | Desabilita o módulo `sudo`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------- | --------------------------------- |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[sudo]
style = "bold green"
symbol = "👩💻 "
disabled = false
```
```toml
# No windows
# $HOME\.starship\config.toml
[sudo]
allow_windows = true
disabled = false
```
## Swift
Por padrão o módulo `swift` vai exibir a versão atual instalada do [Swift](https://swift.org/). O módulo será mostrado se alguma das seguintes condições for atendida:
- O diretório atual tenha um arquivo `Package.swift`
- O diretório atual tenha um arquivo com a extensão `.swift`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🐦 "` | Uma string que representa o simbolo do Swift |
| `detect_extensions` | `["swift"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["Package.swift"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold 202"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `swift`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v5.2.4` | A versão do `swift` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[swift]
format = "via [🏎 $version](red bold)"
```
## Terraform
O módulo `terraform` exibe o [Terraform workspace](https://www.terraform.io/docs/language/state/workspaces.html) selecionado e sua versão.
::: tip
Por padrão a versão do Terraform não é exibida, desde que é lento recuperar a versão atual quando muitos plugins estão em uso. Se você deseja habilitar,, [Siga o exemplo abaixo](#with-terraform-version).
:::
Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual tenha uma pasta `.terraform`
- O diretório atual tenha arquivos com as extensões `.tf`, `.tfplan` or `.tfstate`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol$workspace]($style) "` | A string de formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"💠"` | Uma string que é exibida antes do workspace terraform. |
| `detect_extensions` | `["tf", "tfplan", "tfstate"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `[]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[".terraform"]` | Quais pastas devem ativar este módulo. |
| `style` | `"bold 105"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `terraform`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ---------- | --------------------------------- |
| version | `v0.12.24` | A versão do `terraform` |
| workspace | `default` | O workspace atual do Terraform |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
#### Com a versão do Terraform
```toml
# ~/.config/starship.toml
[terraform]
format = "[🏎💨 $version$workspace]($style) "
```
#### Sem a versão do Terraform
```toml
# ~/.config/starship.toml
[terraform]
format = "[🏎💨 $workspace]($style) "
```
## Horário
O módulo `time` exibe a hora **local** atual. A configuração de `format` é usada pelo [`chrono`](https://crates.io/crates/chrono) para controlar qual hora é exibida. Dê uma olhada na [documentação do chrono strftime](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) para ver quais opções estão disponíveis.
::: tip
Este módulo é desabilitado por padrão. Para habilitar, defina `disabled` para `false` no seu arquivo de configuração.
:::
### Opções
| Opções | Padrão | Descrição |
| ----------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `format` | `"at [$time]($style) "` | A string de formato do módulo. |
| `use_12hr` | `false` | Habilita a formatação de 12 horas |
| `time_format` | veja abaixo | A string [chrono format string](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) usada para formatar a hora. |
| `style` | `"bold yellow"` | O estilo do módulo time |
| `utc_time_offset` | `"local"` | Define o UTC a ser usado. Intervalo de -24 < x < 24. Aceita floats para acomodar timezones 30/45. |
| `disabled` | `true` | Desabilita o módulo `time`. |
| `time_range` | `"-"` | Define o intervalo de tempo o qual o módulo será exibido. O horário deve ser especificado no formato de 24-hours |
Se `use_12hr` é `true`, então `time_format` tem o padrão `"%r"`. Caso contrário, o padrão é `"%T"`. Ajustes manuais no `time_format` irão sobrescrever a configuração `use_12hr`.
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ---------- | -------------------------------- |
| time | `13:08:10` | A hora atual. |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[time]
disabled = false
format = '🕙[\[ $time \]]($style) '
time_format = "%T"
utc_time_offset = "-5"
time_range = "10:00:00-14:00:00"
```
## Username
O módulo `username` exibe o username do usuário ativo. O módulo será mostrado se alguma das seguintes condições for atendida:
- O usuário atual é root/admin
- O usuário atual não é o mesmo que está logado
- O usuário atual esta conectado em uma sessão SSH
- A variável `show_always` esta definida como true
::: tip
Conexões SSH são detectadas checando as variáveis de ambiente `SSH_CONNECTION`, `SSH_CLIENT`, and `SSH_TTY`. Se seu host SSH não tem estas variáveis configuradas, uma alternativa é definir uma delas com valor burro.
:::
### Opções
| Opções | Padrão | Descrição |
| ------------- | ----------------------- | --------------------------------------------- |
| `style_root` | `"bold red"` | O estilo usado quando o usuário é root/admin. |
| `style_user` | `"bold yellow"` | O estilo usado para usuários não root. |
| `format` | `"[$user]($style) in "` | O formato do módulo. |
| `show_always` | `false` | Sempre exibe o módulo `username`. |
| `disabled` | `false` | Desabilita o módulo `username`. |
### Variáveis
| Variável | Exemplo | Descrição |
| -------- | ------------ | -------------------------------------------------------------------------------------- |
| `style` | `"red bold"` | Espelha o valor da opção `style_root` quando o root esta logado e `style_user` se não. |
| `user` | `"matchai"` | O ID do usuário logado atualmente. |
### Exemplo
```toml
# ~/.config/starship.toml
[username]
style_user = "white bold"
style_root = "black bold"
format = "user: [$user]($style) "
disabled = false
show_always = true
```
## Vagrant
O módulo `vagrant` exibe a versão atual instalada do [Vagrant](https://www.vagrantup.com/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual contem um arquivo `Vagrantfile`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"⍱ "` | Um formato de string que representa o simbolo do Vagrant. |
| `detect_extensions` | `[]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["Vagrantfile"]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"cyan bold"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `vagrant`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ---------------- | --------------------------------- |
| version | `Vagrant 2.2.10` | A versão do `Vagrant` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[vagrant]
format = "via [⍱ $version](bold white) "
```
## V
O módulo `vlang` exibe a versão atual instalada do [V](https://vlang.io/). Por padrão o módulo vai exibir se uma das condições a seguir for atendida:
- O diretório atual cotem qualquer arquivo com a extensão `.v`
- O diretório atual contem um arquivo `v.mod`, `vpkg.json` ou `.vpkg-lock.json`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"V "` | Um formato de string que representa o simbolo do V |
| `detect_extensions` | `["v"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `["v.mod", "vpkg.json", ".vpkg-lock.json" ]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
| `style` | `"blue bold"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `vlang`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------- | --------------------------------- |
| version | `v0.2` | A versão do `v` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
### Exemplo
```toml
# ~/.config/starship.toml
[vlang]
format = "via [V $version](blue bold) "
```
## VCSH
O módulo `vcsh` exibe o repositório [VCSH](https://github.com/RichiH/vcsh) atual ativo. O módulo vai ser exibido apenas se um repositório estiver em uso.
### Opções
| Opções | Padrão | Descrição |
| ---------- | -------------------------------- | ------------------------------------------------------ |
| `symbol` | | O simbolo usado antes de exibir o nome do repositório. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `format` | `"vcsh [$symbol$repo]($style) "` | O formato do módulo. |
| `disabled` | `false` | Desabilita o módulo `vcsh`. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | ------------------------------------------- | --------------------------------- |
| repo | `dotfiles` if in a VCSH repo named dotfiles | O nome do repositório ativo |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | `black bold dimmed` | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[vcsh]
format = "[🆅 $repo](bold blue) "
```
## Zig
Por padrão, o módulo `zig` mostra a versão atualmente instalada do [Zig](https://ziglang.org/). O módulo será mostrado se alguma das seguintes condições for atendida:
- O diretório atual contém arquivo com a extensão `.zig`
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------------------ |
| `format` | `"via [$symbol($version )]($style)"` | O formato do módulo. |
| `version_format` | `"v${raw}"` | O formato da versão. As variáveis disponíveis são `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"↯ "` | O símbolo usado antes de exibir a versão do Zig. |
| `style` | `"bold yellow"` | O estilo do módulo. |
| `disabled` | `false` | Desabilita o módulo `zig`. |
| `detect_extensions` | `["zig"]` | Quais extensões devem ativar este módulo. |
| `detect_files` | `[]` | Quais nomes de arquivos devem ativar este módulo. |
| `detect_folders` | `[]` | Quais pastas devem ativar este módulo. |
### Variáveis
| Variável | Exemplo | Descrição |
| --------- | -------- | --------------------------------- |
| version | `v0.6.0` | A versão do `zig` |
| symbol | | Espelha o valor da opção `symbol` |
| style\* | | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
### Exemplo
```toml
# ~/.config/starship.toml
[zig]
symbol = "⚡️ "
```
## Comandos Personalizados
Os módulos `custom` mostram a saída de alguns comandos arbitrários.
Esses módulos serão mostrados se alguma das seguintes condições for atendida:
- O diretório atual contém um arquivo cujo nome está em `detect_files`
- O diretório atual contém um diretório cujo nome está em `detect_folders`
- O diretório atual contém um arquivo cuja extensão está em `detect_extensions`
- O comando `when` retorna 0
- The current Operating System (std::env::consts::OS) matches with `os` field if defined.
::: tip
Vários módulos personalizados podem ser definidos usando `.`.
:::
::: tip
A ordem na qual os módulos personalizados são mostrados pode ser definida individualmente incluindo `${custom.foo}` no `format` de nível superior (como inclui um ponto, você precisa usar `${...}`). Por padrão, o módulo `custom` mostrará todos os módulos personalizados na ordem em que eles foram definidos.
:::
::: tip
A [Issue #1252](https://github.com/starship/starship/discussions/1252) contém exemplos de módulos personalizados. Se você tem um exemplo interessante que não esta coberto lá, sinta-se livre para compartilha-lo!
:::
::: warning A saída do comando é exibido unescaped no prompt
Seja qual for a saída o comando irá gerar uma saída sem modificações no prompt. Isto siguinifica que a saída tenha sequencias especiais estas serão interpretadas pelo seu shell, elas serão expandidas quando exibidas. Estas sequencias especiais são especificas da shell, ex: você pode escrever um módulo de comando que escreve uma sequencia de bash, ex:. `\h`, mas este módulo não irá funcionar no shell fish ou zsh.
Strings de formatação também podem conter sequencias de prompt especificas de shell, ex: [Bash](https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html), [Zsh](https://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html).
:::
### Opções
| Opções | Padrão | Descrição |
| ------------------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `command` | `""` | O comando cuja a saída deve ser exibida. O comando será passado no stdin para o shell. |
| `when` | `false` | Ou um valor booleano (`true` ou `false`, sem aspas) ou um comando shell de string usado como condição para mostrar o módulo. No caso de uma string, o módulo será mostrado se o comando retornar um código de status `0`. |
| `shell` | | [Veja abaixo](#custom-command-shell) |
| `description` | `""` | A descrição do módulo, isto será exibido quando executar `starship explain`. |
| `detect_files` | `[]` | Os arquivos que serão buscados por correspondência no diretório atual. |
| `detect_folders` | `[]` | Os diretórios que serão buscados por correspondência no diretório atual. |
| `detect_extensions` | `[]` | As extensões que serão buscadas por correspondência no diretório atual. |
| `symbol` | `""` | O simbolo usado antes de exibir a saída do comando. |
| `style` | `"bold green"` | O estilo do módulo. |
| `format` | `"[$symbol($output )]($style)"` | O formato do módulo. |
| `disabled` | `false` | Desabilita este módulo `custom`. |
| `os` | | Nome do sistema operacional onde módulo sera exibido (unix, linux, macos, windows, ... ) [Veja os possíveis valores](https://doc.rust-lang.org/std/env/consts/constant.OS.html). |
| `use_stdin` | | Um valor booleano opcional que substitui se os comandos devem ser encaminhados para o shell por meio da entrada padrão ou como um argumento. Se a entrada padrão não definida for usada por padrão, a menos que o shell não a suporte (cmd, nushell). Configurar isso desativa a manipulação de argumentos específicos do shell. |
| `ignore_timeout` | `false` | Ignora a configuração global do `command_timeout` e continua executando comandos externos, não importa quanto tempo eles demorem. |
### Variáveis
| Variável | Descrição |
| --------- | --------------------------------- |
| output | A saída do comando no `shell` |
| symbol | Espelha o valor da opção `symbol` |
| style\* | Espelha o valor da opção `style` |
*: Esta variável só pode ser usada como parte de uma string de estilo
#### Comandos personalizados de shell
`shell` aceita uma lista não vazia de string, onde:
- A primeira string é o caminho para o shell que executará o comando.
- Outros argumentos que serão passados para o shell.
Se não definido, ele retornará para o STARSHIP_SHELl e então para o "sh" no Linux e "cmd/C" no Windows.
O `command` será passado no stdin.
Se o `shell` não for dado ou apenas conter um elemento e o Starship detectar PowerShell ele será usado, os seguintes argumentos serão automaticamente adicionados: `-NoProfile -Command -`. Se `shell` não for fornecido ou contiver apenas um elemento e o Starship detectar que o Cmd será usado, o seguinte argumento será adicionado automaticamente: `/C` e `stdin` serão definidos como `false`. Se `shell` não for fornecido ou contiver apenas um elemento e o Starship detectar que o Nushell será usado, os seguintes argumentos serão adicionados automaticamente: `-c` e `stdin` serão definidos como `false`. Este comportamento pode ser evitado passando explicitamente argumento para o shell, ex.
```toml
shell = ["pwsh", "-Command", "-"]
```
::: warning Tenha certeza que tenha uma configuração de shell
Se você definir um comando personalizado, tenha certeza que o shell padrão usado pelo starship execute este comando com uma saída graciosa (via the `shell` option).
Por exemplo, PowerShell requer o parâmetro `-Command` para executar um liner. Omitindo este parâmetro pode ser que o starship entre em um loop recursivo, onde o shell tente carrega um ambiente completo de perfil com o próprio starship novamente e portanto execute novamente o comando, entrando em um loop sem fim.
Parâmetros similares ao `-NoProfile` no PowerShell são recomendados para outras shells, bem como para evitar um tempo de carregamento maior toda vez que o starship for chamado.
Detecção automática de shell e adição de parâmetros estão sendo implementados atualmente, mas é possível que nem todas as shells sejam cobertas. [Por favor abra uma issue](https://github.com/starship/starship/issues/new/choose) com detalhes do shell e configurações do starship se você acertar algum cenário.
:::
### Exemplo
```toml
# ~/.config/starship.toml
[custom.foo]
command = "echo foo" # shows output of command
detect_files = ["foo"] # can specify filters but wildcards are not supported
when = """ test "$HOME" == "$PWD" """
format = " transcending [$output]($style)"
[custom.time]
command = "time /T"
detect_extensions = ["pst"] # filters *.pst files
shell = ["pwsh.exe", "-NoProfile", "-Command", "-"]
[custom.time-as-arg]
command = "time /T"
detect_extensions = ["pst"] # filters *.pst files
shell = ["pwsh.exe", "-NoProfile", "-Command"]
use_stdin = false
```