Skip to content

Налаштування

Щоб почати налаштування starship, створіть наступний файл: ~/.config/starship.toml.

sh
mkdir -p ~/.config && touch ~/.config/starship.toml

Всі налаштування для starship виконуються в цьому TOML файлі:

toml
# Отримання автозавершення вводу команд з config-schema.json
"$schema" = 'https://starship.rs/config-schema.json'

# Додавати порожні рядки між командними рядками
add_newline = true

# Заміняти символ '❯' в командному рядку на символ  '➜'
[character] # Назва модуля, який ми налаштовуємо – 'character'
success_symbol = '[➜](bold green)' # Частина 'success_symbol' буде використовувати символ '➜' підсвічений значенням 'bold green'

# Вимкнути модуль package, повністю приховавши його в командному рядку
[package]
disabled = true

Розташування файлу налаштувань

Ви можете змінити типове розташування файлу налаштувань за допомогою змінної середовища STARSHIP_CONFIG:

sh
export STARSHIP_CONFIG=~/example/non/default/path/starship.toml

Так само і в PowerShell (Windows), можна додати цей рядок до $PROFILE:

powershell
$ENV:STARSHIP_CONFIG = "$HOME\example\non\default\path\starship.toml"

Або для Cmd (Windows), додайте рядок до вашого файлу starship.lua:

lua
os.setenv('STARSHIP_CONFIG', 'C:\\Users\\user\\example\\non\\default\\path\\starship.toml')

Ведення журналу

Стандартно starship виводить попередження та інформацію про помилки у файл ~/.cache/starship/session_${STARSHIP_SESSION_KEY}.log, де ключ сесії відповідає екземпляру вашого термінала. Це, однак, може бути змінено за допомогою змінної середовища STARSHIP_CACHE:

sh
export STARSHIP_CACHE=~/.starship/cache

Так само і в PowerShell (Windows), можна додати цей рядок до $PROFILE:

powershell
$ENV:STARSHIP_CACHE = "$HOME\AppData\Local\Temp"

Або для Cmd (Windows), додайте рядок до вашого файлу starship.lua:

lua
os.setenv('STARSHIP_CACHE', 'C:\\Users\\user\\AppData\\Local\\Temp')

Термінологія

Модуль: Компонент командного рядка, що надає інформацію на основі контексту з вашої ОС. Наприклад, модуль "nodejs" показує версію Node.js, яка встановлена на вашому компʼютері, якщо ваша поточна тека є проєктом Node.js.

Змінна: менші субкомпоненти, що містять інформацію, що надається модулем. Наприклад, змінна "version" в модулі "nodejs" містить поточну версію Node.js.

Згідно з правилами, більшість модулів мають префікс стандартного кольору термінала (наприклад, via в "nodejs") та порожнє місце як суфікс.

Рядки

В синтаксисі TOML текстові значення оголошуються за допомогою лапок ', ", ''', or """.

Наступні символи синтаксису Starship мають спеціальне призначення у форматуванні рядків і повинні бути екрановані, якщо ви хочете показувати їх як символи: $ [ ] ( ).

СимволТипПримітки
'літералменш екранований
"рядокбільш екранований
'''багаторядковий літералменш екранований
"""багаторядковий рядокбільш екранований, нові рядки в оголошеннях можуть бути проігноровані

Наприклад:

toml
# літерал
format = '☺\☻ '

# звичайний рядок
format = "☺\\☻ "

# екрановані службові символи Starship
format = '\[\$\] '

При використанні символів розриву рядків можна використовувати багаторядкові оголошення. Наприклад, якщо ви хочете вивести символ $ на новий рядок, такі значення для format є еквівалентними:

toml
# для літералів
format = '''

\$'''

# для звичайних багаторядкових рядків
format = """

\\$"""

# для звичайних рядків
format = "\n\\$"

У звичайних рядках, символ нового рядка можна використовувати наступним чином, щоб уникнути його показу.

toml
format = """
line1\
line1\
line1
line2\
line2\
line2
"""

Формат рядків

Формат рядків це формат, з яким модуль виводить всі змінні. У більшості модулів є запис з назвою format, який налаштовує формат виводу модуля. Можна використовувати текст, змінні та текстові групи у форматуванні рядків.

Змінна

Змінна починається з символу $, за яким йде назва змінної. Назва змінною може складатись лише з літер та цифр та символу _.

Наприклад:

  • '$version – це форматований рядок зі змінною з назвою version.
  • $git_branch$git_commit' – рядок з двома змінними git_branch і git_commit.
  • '$git_branch $git_commit' має дві змінні, розділені пробілом.

Текстова група

Текстова група складається з двох різних частин.

Перша частина, яка вкладена у квадратні дужки [] – це форматований рядок. Ви можете додати текст, змінні або навіть вкладені текстові групи.

В наступній частині, що вкладена в круглі дужки (), міститься опис стилю рядка. Ця частина використовується для стилізації першої частини.

Наприклад:

  • '[on](red bold)' – виведе рядок on жирним шрифтом підсвічений червоним.
  • '[⌘ $version](bold green)' – виведе символ разом з вмістом змінної version жирним шрифтом підсвіченим зеленим.
  • '[a [b](red) c](green)' – виведе a b c, де b – червона, а a та c – зелені.

Рядки стилів

Більшість модулів в starship дозволяють вам налаштовувати стилі їх виводу. Це робиться за допомогою запису (зазвичай style), який є рядком, що вказує на конфігурацію. Ось деякі приклади стилів поряд з тим, що вони роблять. За деталями щодо повного синтаксису зверніться до Довідника з розширеного налаштування.

  • 'fg:green bg:blue' – зелений текст на блакитному фоні
  • 'bg:blue fg:bright-green' – яскраво зелений текст на блакитному фоні
  • 'bold fg:27' – жирний текст з ANSI кольором 27
  • 'underline bg:#bf5700' – підкреслений текст на яскраво помаранчевому фоні
  • 'bold italic fg:purple' – жирний курсив пурпурового кольору
  • '' – явним чином вимикає всі стилі

Зверніть увагу, що те, як виглядатиме стиль, як буде залежати від вашого емулятора термінала. Наприклад, деякі емулятори терміналів будуть виділяти кольори замість показу жирного тексту, а також деякі кольорові теми використовують однакові значення для нормального і яскравого кольорів. Також, щоб отримати курсив, ваш термінал має містити його підтримку.

Умовне форматування

Рядок з умовним форматуванням, огорнутий в круглі дужки ( та ), не буде показуватись якщо змінні в середині не містять значень.

Наприклад:

  • '(@$region)' – не буде показуватись, якщо змінна region дорівнює None чи є порожнім рядком, в іншому випадку вона буде показана разом з @, за яким йде значення регіону.
  • '(якийсь текст)' ніколи не буде показуватись, через те, що немає змінних, загорнутих в дужки.
  • Коли $combined є посиланням для \[$a$b\], '($combined)' не показуватиме нічого, лише якщо $a і $b одночасно містять None. Це працює так само й для '(\[$a$b\] )'.

Негативний збіг

Багато модулів мають змінні detect_extensions, detect_files та detect_folders. Вони отримують перелік рядків для порівняння, чи в них є збіги, чи – немає. Символ для перевірки "негативного збігу" (негативний збіг – те що не має мати збігу з вказаним значенням) – '!' знак оклику, вказується на початку параметра, що перевіряється. Наявність будь-якого індикатора негативного збігу в теці призведе до того, що результат роботи модуля буде перевірятись на негативний збіг.

Розширення зіставляються як із символами після останньої крапки в назві файлу, так і з символами після першої крапки в назві файлу. Наприклад, foo.bar.tar.gz буде збігатись з bar.tar.gz і gz у змінній detect_extensions. Файли, назва яких починається з крапки, взагалі не вважаються такими, що мають розширення.

Щоб побачити, як це працює на практиці, ви можете шукати збіг для файлів TypeScript, але не для MPEG Transport Stream, таким чином:

toml
detect_extensions = ['ts', '!video.ts', '!audio.ts']

Командний рядок

Це перелік параметрів налаштувань, що використовуються для всього командного рядка.

Параметри

ПараметрСтандартноОпис
formatlinkНалаштовує формат командного рядка.
right_format''Дивіться Увімкнути вивід праворуч
scan_timeout30Тайм-аут для сканування файлів (у мілісекундах).
command_timeout500Тайм-аут для команд, виконаних starship (у мілісекундах).
add_newlinetrueВставити порожній рядок між командними рядками в оболонці.
palette''Встановлює кольорову палітру використовуючи palettes.
palettes{}Колекція колірних палітр, для призначення кольорів до назв визначених користувачем. Зверніть увагу, що кольорові палітри не можуть посилатися на їх власні визначення кольору.
follow_symlinkstrueПеревіряти символічні посилання чи вони посилаються на теки; використовується в таких модулях як git.

TIP

Якщо у вас є символічні посилання не мережеві файлові системи, зважте на встановлення follow_symlink у false.

Приклад

toml
# ~/.config/starship.toml

# Використовуємо власний формат
format = '''
[┌───────────────────>](bold green)
[│](bold green)$directory$rust$package
[└─>](bold green) '''

# Чекаємо 10 мілісекунд, поки starship перевірить файли в поточній теці.
scan_timeout = 10

# Не додавати порожній рядок на початку командного рядка
add_newline = false

# Встановлює власну кольорову палітру 'foo'
palette = 'foo'

# Визначає власні кольори
[palettes.foo]
# Перевизначає наявний колір
blue = '21'
# Визначає новий колір
mustard = '#af8700'

Стандартний формат командного рядка

Стандартне значення змінної format використовується для визначення вигляду командного рядка, якщо вона пуста або змінна format відсутня. Стандартне значення є таким, як зазначено нижче:

toml
format = '$all'

# Є еквівалентом до
format = """
$username\
$hostname\
$localip\
$shlvl\
$singularity\
$kubernetes\
$directory\
$vcsh\
$fossil_branch\
$fossil_metrics\
$git_branch\
$git_commit\
$git_state\
$git_metrics\
$git_status\
$hg_branch\
$pijul_channel\
$docker_context\
$package\
$c\
$cmake\
$cobol\
$daml\
$dart\
$deno\
$dotnet\
$elixir\
$elm\
$erlang\
$fennel\
$gleam\
$golang\
$guix_shell\
$haskell\
$haxe\
$helm\
$java\
$julia\
$kotlin\
$gradle\
$lua\
$nim\
$nodejs\
$ocaml\
$opa\
$perl\
$php\
$pulumi\
$purescript\
$python\
$quarto\
$raku\
$rlang\
$red\
$ruby\
$rust\
$scala\
$solidity\
$swift\
$terraform\
$typst\
$vlang\
$vagrant\
$zig\
$buf\
$nix_shell\
$conda\
$meson\
$spack\
$memory_usage\
$aws\
$gcloud\
$openstack\
$azure\
$nats\
$direnv\
$env_var\
$crystal\
$custom\
$sudo\
$cmd_duration\
$line_break\
$jobs\
$battery\
$time\
$status\
$os\
$container\
$shell\
$character"""

Якщо ви просто хочете розширити стандартний формат, можете використовувати $all; модулі, які ви явно додали до формату, не будуть подвоєні. Напр.

toml
# Перемістити назву теки на другий рядок
format = '$all$directory$character'

AWS

Модуль aws показує поточний регіон AWS і профіль, а також час, що залишився до кінця сесії при використанні тимчасових облікових даних. Для виводу модуль використовує змінні AWS_REGION, AWS_DEFAULT_REGION і AWS_PROFILE та файли ~/.aws/config і ~/.aws/credentials, коли треба.

Модуль показуватиме профіль якщо облікові дані знаходяться в ~/.aws/credentials або коли credential_process, sso_start_url, чи sso_session визначені в ~/.aws/config. Крім того, достатньо буде визначити будь-яку змінну AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY або AWS_SESSION_TOKEN. Якщо для параметра force_display встановлено значення true, уся доступна інформація буде показуватись, навіть якщо не буде виявлено жодних облікових даних відповідно до наведених вище умов.

Під час використання aws-vault профіль зчитується зі змінної AWS_VAULT, а дата закінчення терміну дії облікових даних зчитується зі змінної AWS_SESSION_EXPIRATION.

Під час використання awsu профіль читається зі змінної AWSU_PROFILE.

Під час використання AWSume профіль зчитується зі змінної AWSUME_PROFILE, а дата закінчення терміну дії облікових даних зчитується зі змінної AWSUME_EXPIRATION.

Під час використання saml2aws інформація про закінчення терміну дії, отримана з ~/.aws/credentials, повертається до ключа x_security_token_expires.

Під час використання aws-sso-cli профіль читається зі змінної AWS_SSO_PROFILE.

Параметри

ПараметрСтандартноОпис
format'on [$symbol($profile )(\($region\) )(\[$duration\] )]($style)'Формат модуля.
symbol'☁️ 'Символ, який використовується під час показу перед поточним профілем AWS.
region_aliases{}Таблиця псевдонімів регіону для показу на додачу до назви AWS.
profile_aliases{}Таблиця псевдонімів профілю для показу на додачу до назви AWS.
style'bold yellow'Стиль модуля.
expiration_symbol'X'Символ, який показується, коли закінчився термін дії тимчасових облікових даних.
disabledfalseВимикає модуль AWS.
force_displayfalseЯкщо true, інформація показується, навіть якщо credentials, credential_process або sso_start_url не вказано.

Змінні

ЗміннаПрикладОпис
regionap-northeast-1Поточний регіон AWS
profileastronautsПоточний профіль AWS
duration2h27m20sТермін дії тимчасових облікових даних
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклади

Показати все

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]
CompanyGroupFrobozzOnCallAccess = 'Frobozz'

Показати регіон

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'

Показати профіль

toml
# ~/.config/starship.toml

[aws]
format = 'on [$symbol$profile]($style) '
style = 'bold blue'
symbol = '🅰 '
[aws.profile_aliases]
Enterprise_Naming_Scheme-voidstars = 'void**'

Azure

Модуль azure показує поточну підписку Azure. Інформація заснована на назві стандартної підписки або імені користувача, як визначено у файлі ~/.azure/azureProfile.json.

Параметри

ЗміннаСтандартноОпис
format'on [$symbol($subscription)]($style) 'Формат для модуля Azure.
symbol'󰠅 'Символ, який використовується.
style'blue bold'Стиль, який використовується.
disabledtrueВимикає модуль azure.
subscription_aliases{}Таблиця псевдонімів підписки для показу на додачу до назви підписки Azure.

Приклади

Показ назви підписки

toml
# ~/.config/starship.toml

[azure]
disabled = false
format = 'on [$symbol($subscription)]($style) '
symbol = '󰠅 '
style = 'blue bold'

Показ імені користувача

toml
# ~/.config/starship.toml

[azure]
disabled = false
format = "on [$symbol($username)]($style) "
symbol = "󰠅 "
style = "blue bold"

Показ псевдонімів підписки

toml
# ~/.config/starship.toml

[azure.subscription_aliases]
very-long-subscription-name = 'vlsn'

Battery

Модуль battery показує наскільки заряджена батарея пристрою і стан заряджання. Модуль показується лише тоді, коли заряд акумулятора пристрою нижче 10%.

Параметри

ПараметрСтандартноОпис
full_symbol'󰁹 'Символ, повного заряду батареї.
charging_symbol'󰂄 'Символ процесу заряджання.
discharging_symbol'󰂃 'Символ, коли батарея розряджається.
unknown_symbol'󰁽 'Символ, коли стан батареї невідомий.
empty_symbol'󰂎 'Символ повністю розрядженої батареї.
format'[$symbol$percentage]($style) 'Формат модуля.
displaylinkГраничні значення і стиль модуля.
disabledfalseВимикає модуль battery.

Приклад

toml
# ~/.config/starship.toml

[battery]
full_symbol = '🔋 '
charging_symbol = '⚡️ '
discharging_symbol = '💀 '

Показ модуля Battery

Параметр конфігурації display використовується для визначення, коли має показуватись індикатор заряду батареї (threshold), який символ використовуватиметься (symbol) і як він виглядає (style). Якщо параметр display не встановлено. Стандартне значення є таким, як зазначено нижче:

toml
[[battery.display]]
threshold = 10
style = 'bold red'

Типові значення для опції charging_symbol і discharging_symbol є відповідно типовими значеннями параметрів charging_symbol та discharging_symbol батареї.

Параметри

Параметр display є масивом з наступної таблиці.

ПараметрСтандартноОпис
threshold10Верхня межа для параметра.
style'red bold'Стиль, який використовується, якщо параметр використовується.
charging_symbolНеобов'язковий символ, що показується якщо параметр display використовується, стандартно використовується параметр charging_symbol.
discharging_symbolНеобов'язковий символ, що показується якщо параметр display використовується, стандартно використовується параметр discharging_symbol.

Приклад

toml
[[battery.display]] # стиль 'bold red' та discharging_symbol, якщо заряд між 0% та 10%
threshold = 10
style = 'bold red'

[[battery.display]] # стиль 'bold yellow' та символ 💦, якщо заряд між 10% та 30%
threshold = 30
style = 'bold yellow'
discharging_symbol = '💦'

# якщо рівень заряду понад 30%, індикатор заряду не показується

Buf

Модуль buf показує поточну встановлену версію Buf. Стандартно, модуль показується якщо поточна тека містить buf.yaml, buf.gen.yaml або конфігураційний файл buf.work.yaml.

Параметри

ПараметрСтандартноОпис
format'with [$symbol($version )]($style)'Формат для модуля buf.
version_format'v${raw}'Формат версії.
symbol'🐃 'Символ, який знаходиться перед версією Buf.
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files['buf.yaml', 'buf.gen.yaml', 'buf.work.yaml']Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
style'bold blue'Стиль модуля.
disabledfalseВимкнути модуль elixir.

Змінні

ЗміннаПрикладОпис
versionv1.0.0Версія buf
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[buf]
symbol = '🦬 '

Bun

Модуль bun показує поточну встановлену версію рушія JavaScript – bun. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл bun.lockb
  • Поточна тека містить файл bunfig.toml

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🥟 'Формат рядка, що представляє символ Bun.
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files['bun.lockb', 'bunfig.toml']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold red'Стиль модуля.
disabledfalseВимикає модуль bun.

Змінні

ЗміннаПрикладОпис
versionv0.1.4Версія bun
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклади

Налаштуйте формат

toml
# ~/.config/starship.toml

[bun]
format = 'via [🍔 $version](bold green) '

Замінити Node.js

Ви можете перевизначити параметр detect_files властивості модуля nodejs у вашій конфігурації, щоб показати середу виконання bun:

toml
[nodejs]
detect_files = ['package.json', '.node-version', '!bunfig.toml', '!bun.lockb']

C

Модуль c показує інформацію про ваш C компілятор. Стандартно модуль буде показаний, якщо поточна тека містить файли .c чи .h.

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version(-$name) )]($style)'Формат рядка модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'C 'Символ, який знаходиться перед інформацією про компілятор
detect_extensions['c', 'h']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
commands[ [ 'cc', '--version' ], [ 'gcc', '--version' ], [ 'clang', '--version' ] ]Як виявити компілятор
style'bold 149'Стиль модуля.
disabledfalseВимикає модуль c.

Змінні

ЗміннаПрикладОпис
nameclangНазва компілятора
version13.0.0Версія компілятора
symbolВіддзеркалює значення параметра symbol
styleВіддзеркалює значення параметра style

NB версія не має стандартного формату.

Команди

Параметр commands отримує список команд для визначення версії та назви компілятора.

Кожна команда представлена списком з назви виконавчого файлу та аргументів, зазвичай ['myc', '--version']. Starship спробує виконати кожну команду, поки не отримає результат в STDOUT.

Якщо C-компілятор не підтримується цим модулем, ви можете зробити запит на GitHub.

Приклад

toml
# ~/.config/starship.toml

[c]
format = 'via [$name $version]($style)'

Character

Модуль character показує символ (зазвичай стрілку) поруч з текстом, який вводиться в терміналі.

Символ підкаже вам, чи була остання команда успішною, чи ні. Це можна зробити двома способами:

  • зміною кольору (red/green)
  • зміною символу (/)

Стандартно відбувається зміна кольору. Якщо ви також хочете змінювати й символ, подивитися на цей приклад.

WARNING

vimcmd_symbol працює лише з cmd, fish та zsh. vimcmd_replace_one_symbol, vimcmd_replace_symbol, and vimcmd_visual_symbol працює лише з fish через проблему визначення режиму роботи в zsh.

Параметри

ПараметрСтандартноОпис
format'$symbol 'Формат рядка, що знаходиться перед введенням тексту.
success_symbol'[❯](bold green)'Формат рядка, що знаходиться перед введенням тексту, якщо попередня команда була успішно виконана.
error_symbol'[❯](bold red)'Формат рядка, що знаходиться перед введенням тексту, якщо попередня команда не була успішно виконана.
vimcmd_symbol'[❮](bold green)'Формат рядка, що знаходиться перед введенням тексту, якщо оболонка перебуває у звичайному режимі vim.
vimcmd_replace_one_symbol'[❮](bold purple)'Формат рядка, що знаходиться перед введенням тексту, якщо оболонка перебуває у режимі vim replace_one.
vimcmd_replace_symbol'[❮](bold purple)'Формат рядка, що знаходиться перед введенням тексту, якщо оболонка перебуває у режимі заміни vim.
vimcmd_visual_symbol'[❮](bold yellow)'Формат рядка, що знаходиться перед введенням тексту, якщо оболонка перебуває у візуальному режимі vim.
disabledfalseВимикає модуль character.

Змінні

ЗміннаПрикладОпис
symbolВіддзеркалює значення success_symbol, error_symbol, vimcmd_symbol або vimcmd_replace_one_symbol і подібне.

Приклади

З власним значком помилки

toml
# ~/.config/starship.toml

[character]
success_symbol = '[➜](bold green) '
error_symbol = '[✗](bold red) '

Без власного значка помилки

toml
# ~/.config/starship.toml

[character]
success_symbol = '[➜](bold green) '
error_symbol = '[➜](bold red) '

Значок vim

toml
# ~/.config/starship.toml

[character]
vimcmd_symbol = '[V](bold green) '

CMake

Модуль cmake показує поточну встановлену версію CMake. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл CMakeLists.txt
  • Поточна тека містить файл CMakeCache.txt

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'△ 'Символ, який йде перед версією cmak.
detect_extensions[]Які розширення повинні запускати цей модуль
detect_files['CMakeLists.txt', 'CMakeCache.txt']Назви файлів, які активують модуль
detect_folders[]Назви тек, що активують модуль
style'bold blue'Стиль модуля.
disabledfalseВимикає модуль cmake.

Змінні

ЗміннаПрикладОпис
versionv3.17.3Версія cmake
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

COBOL / GNUCOBOL

Модуль cobol показує встановлену версію COBOL. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файли .cob або .COB
  • Поточна тека містить файли .cbl або .CBL

Параметри

ПараметрСтандартноОпис
symbol'⚙️ 'Символ, який знаходиться перед версією COBOL.
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
style'bold blue'Стиль модуля.
detect_extensions['cbl', 'cob', 'CBL', 'COB']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
disabledfalseВимикає модуль cobol.

Змінні

ЗміннаПрикладОпис
versionv3.1.2.0Версія cobol
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Command Duration – час виконання

Модуль cmd_duration показує, скільки часу виконувалась остання команда. Модуль буде показаний лише в тому випадку, якщо на виконання команди пішло понад дві секунди або більше, ніж значення змінної min_time, якщо воно задане.

Не вмикайте DEBUG trap в Bash

Якщо ви запускаєте Starship у bash, не вмикайте DEBUG trap після запуску eval $(starship init $0), бо цей модуль не працюватиме.

Користувачі Bash, яким потрібна функція preexec, можуть використовувати фреймворк bash_preexec від rcaloras. Просто визначте масиви preexec_function і precmd_functions перед запуском eval $(starship init $0), а потім продовжуйте як зазвичай.

Параметри

ПараметрСтандартноОпис
min_time2_000Найменший час виконання для показу (в мілісекундах).
show_millisecondsfalseПоказувати мілісекунди на додачу для секунд.
format'took [$duration]($style) 'Формат модуля.
style'bold yellow'Стиль модуля.
disabledfalseВимикає модуль cmd_duration.
show_notificationsfalseПоказувати сповіщення на робочому столі після закінчення команди.
min_time_to_notify45_000Найменший час виконання для сповіщення (в мілісекундах).
notification_timeoutТривалість показу сповіщення (у мілісекундах). Якщо не налаштовано, час очікування сповіщень визначатиметься демоном. Не всі демони сповіщень підтримують цю опцію.

Змінні

ЗміннаПрикладОпис
duration16m40sЧас, витрачений на виконання команди
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[cmd_duration]
min_time = 500
format = 'underwent [$duration](bold yellow)'

Conda

Модуль conda показує інформацію про поточне оточення Conda, якщо змінна $CONDA_DEFAULT_ENV встановлена.

TIP

Це не призводить до вимикання власного модифікатора командного рядка в conda. Можливо, вам доведеться виконати conda config --set changeps1 False. Якщо ви використовуєте pixi, ви можете відключити модифікатор запиту pixi, запустивши pixi config set change-ps1 false.

Параметри

ПараметрСтандартноОпис
truncation_length1Кількість тек, на які повинен бути скорочений шлях середовища, якщо середовище було створено за допомогою conda create -p [path]. 0 – означає без скорочення. Також подивіться модуль directory.
symbol'🅒 'Символ що передує назві оточення.
style'bold green'Стиль модуля.
format'via [$symbol$environment]($style) 'Формат модуля.
ignore_basetrueІгнорувати середовище base.
disabledfalseВимикає модуль conda.

Змінні

ЗміннаПрикладОпис
environmentastronautsПоточне середовище conda
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[conda]
format = '[$symbol$environment](dimmed green) '

Container

Модуль container показує символ та назву контейнера, коли ви перебуваєте в ньому.

Параметри

ПараметрСтандартноОпис
symbol'⬢'Символ, що показується під час перебування в контейнері
style'bold red dimmed'Стиль модуля.
format'[$symbol \[$name\]]($style) 'Формат модуля.
disabledfalseВимикає модуль container.

Змінні

ЗміннаПрикладОпис
namefedora-toolbox:35Назва контейнера
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[container]
format = '[$symbol \[$name\]]($style) '

Crystal

Модуль crystal показує поточну встановлену версію Crystal. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл shard.yml
  • Поточна тека містить файл .cr

Параметри

ПараметрСтандартноОпис
symbol'🔮 'Символ, який знаходиться перед версією crystal.
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
style'bold red'Стиль модуля.
detect_extensions['cr']Які розширення повинні запускати цей модуль.
detect_files['shard.yml']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
disabledfalseВимикає модуль crystal.

Змінні

ЗміннаПрикладОпис
versionv0.32.1Версія crystal
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[crystal]
format = 'via [✨ $version](bold blue) '

Daml

Модуль daml показує поточну версію SDK Daml, коли ви перебуваєте в кореневій теці проєкту Daml. sdk-version у файлі daml.yaml буде використовуватись, якщо значення не буде перевизначене змінною оточення DAML_SDK_VERSION. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл daml.yaml

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'Λ 'Формат рядка, що представляє символ Daml
style'bold cyan'Стиль модуля.
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files['daml.yaml']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
disabledfalseВимикає модуль daml.

Змінні

ЗміннаПрикладОпис
versionv2.2.0Версія daml
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[daml]
format = 'via [D $version](bold bright-green) '

Dart

Модуль dart показує поточну встановлену версію Dart. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл .dart
  • Поточна тека містить файл .dart_tool
  • Поточна тека містить файли pubspec.yaml, pubspec.yml або pubspec.lock

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🎯 'Формат рядка, що представляє символ Dart
detect_extensions['dart']Які розширення повинні запускати цей модуль.
detect_files['pubspec.yaml', 'pubspec.yml', 'pubspec.lock']Які імена файлів мають запускати цей модуль.
detect_folders['.dart_tool']В яких теках цей модуль має запускатись.
style'bold blue'Стиль модуля.
disabledfalseВимикає модуль dart.

Змінні

ЗміннаПрикладОпис
versionv2.8.4Версія dart
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[dart]
format = 'via [🔰 $version](bold red) '

Deno

Модуль deno показує поточну встановлену версію Deno. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • The current directory contains a deno.json, deno.jsonc, deno.lock, mod.ts, mod.js, deps.ts or deps.js file

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🦕 'Формат рядка, що представляє символ Deno
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files['deno.json', 'deno.jsonc', 'deno.lock', 'mod.ts', 'mod.js', 'deps.ts', 'deps.js']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'green bold'Стиль модуля.
disabledfalseВимикає модуль deno.

Змінні

ЗміннаПрикладОпис
versionv1.8.3Версія deno
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

Приклад

toml
# ~/.config/starship.toml

[deno]
format = 'via [🦕 $version](green bold) '

Directory

Модуль directory показує шлях до поточної теки, урізаючи його до трьох останніх батьківських тек. Шлях до теки також буде скорочений до кореня git-репозиторію, в якому ви перебуваєте.

Якщо використовується параметр fish_style_pwd_dir_length, замість того, щоб приховувати скорочений шлях, ви побачите скорочену назву кожної теки в залежності від числа, яке ви вказали для цього параметра.

Наприклад, маємо ~/Dev/Nix/nixpkgs/pkgs де nixpkgs є коренем репозиторію, а параметр — 1. Ви побачите ~/D/N/nixpkgs/pkgs, тоді як до цього було nixpkgs/pkgs.

Параметри

ПараметрСтандартноОпис
truncation_length3Кількість батьківських тек, до яких слід скоротити шлях до поточної теку.
truncate_to_repotrueСкорочувати чи ні шлях до кореня git-репозиторію, коли ви перебуваєте в ньому.
format'[$path]($style)[$read_only]($read_only_style) 'Формат модуля.
style'bold cyan'Стиль модуля.
disabledfalseВимикає модуль directory.
read_only'🔒'Символ, який вказує, що поточна тека доступна лише для читання.
read_only_style'red'Стиль символу для елементів read only.
truncation_symbol''Символ на початку урізаних шляхів. напр: '…/'
before_repo_root_styleСтиль частини шляху, що передує кореню git-репозиторію. Стандартне значення дорівнює style.
repo_root_styleСтиль кореня git-репозиторію. Стандартне значення дорівнює style.
repo_root_format'[$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) 'Формат git-репозиторію, коли задані before_repo_root_style та repo_root_style.
home_symbol'~'Символ, що позначає домашню теку.
use_os_path_septrueВикористовувати розділювач шляхів, що притаманній вашій OS, замість того, щоб завжди використовувати / (напр \ у Windows)
Цей модуль має декілька додаткових опцій, які контролюють показ шляхів до тек.
Додатковий параметрСтандартноОпис
substitutionsТаблиця підстановок, які буде зроблена у шляху теки.
fish_style_pwd_dir_length0Кількість символів, які використовуються при застосуванні логіки шляху fish shell pwd.
use_logical_pathtrueЯкщо true показувати логічний шлях оболонки через PWD або --logical-path. Якщо false – показувати шлях фізичної файлової системи з розвʼязанням шляхів для символічних посилань.

substitutions дозволяє визначити довільні заміни літеральних рядків, що зустрічаються в шляху, наприклад, довгі префікси мережі або теки розробки в Java. Зауважте, що це відключить стиль fish у PWD.

toml
[directory.substitutions]
'/Volumes/network/path' = '/net'
'src/com/long/java/path' = 'mypath'

fish_style_pwd_dir_length взаємодіє зі стандартними опціями скорочення, по-перше, що може бути дивним, якщо значення не нуль, замість цього будуть показуватись компоненти шляху, які звичайно скорочені, зі вказаною кількістю символів. Наприклад, шлях /built/this/city/on/rock/and/roll, який зазвичай показуватиметься як rock/and/roll, буде показаний як /b/t/c/o/rock/and/roll з fish_style_pwd_dir_length = 1 — шлях компонентів, які зазвичай вилучаються, показуються одним символом. Для fish_style_pwd_dir_length = 2 це буде /bu/th/ci/on/rock/and/roll.

Змінні

ЗміннаПрикладОпис
path'D:/Projects'Поточний шлях до теки
style*'black bold dimmed'Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Git-репозиторії мають додаткові змінні.

Розгляньмо шлях /path/to/home/git_repo/src/lib

ЗміннаПрикладОпис
before_root_pathШлях до кореневої теки git
repo_root'git_repo'Назва кореневої теки git
path'/src/lib'Залишок шляху
style'black bold dimmed'Віддзеркалює значення параметра style
repo_root_style'underline white'Стиль кореневої теки git

Приклад

toml
# ~/.config/starship.toml

[directory]
truncation_length = 8
truncation_symbol = '…/'

Direnv

Модуль direnv показує статус rc-файла якщо він існує. Статус включає: шлях до файлу rc, чи він завантажений та, чи direnv дозволяє його використання.

Параметри

ПараметрСтандартноОпис
format'[$symbol$loaded/$allowed]($style) 'Формат модуля.
symbol'direnv 'Символ, що показується перед direnv context.
style'bold orange'Стиль модуля.
disabledtrueВимикає модуль direnv.
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files['.envrc']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
allowed_msg'allowed'Повідомлення, що показується коли використання rc-файлу дозволене.
not_allowed_msg'not allowed'Повідомлення, що показується коли використання rc-файлу заборонене.
denied_msg'denied'Повідомлення, що показується коли використання rc-файлу заборонене.
loaded_msg'loaded'Повідомлення, що показується коли rc-файл завантажений.
unloaded_msg'not loaded'Повідомлення, що показується коли rc-файл не завантажений.

Змінні

ЗміннаПрикладОпис
loadedloadedЧи завантажений rc-файл.
alloweddeniedЧи дозволене використання rc-файлу.
rc_path/home/test/.envrcШлях до rc-файлу.
symbolВіддзеркалює значення параметра symbol.
style*red boldВіддзеркалює значення параметра style.

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[direnv]
disabled = false

Docker Context

The docker_context module shows the currently active Docker context if it's not set to default or desktop-linux, or if the DOCKER_MACHINE_NAME, DOCKER_HOST or DOCKER_CONTEXT environment variables are set (as they are meant to override the context in use).

Параметри

ПараметрСтандартноОпис
format'via [$symbol$context]($style) 'Формат модуля.
symbol'🐳 'Символ, який знаходиться перед Docker context.
only_with_filestrueПоказувати, лише коли є збіг
detect_extensions[]Які розширення мають запускати цей модуль (потрібно щоб в only_with_files було true).
detect_files['docker-compose.yml', 'docker-compose.yaml', 'Dockerfile']Які імена файлів мають запускати цей модуль (потрібно щоб в only_with_files було true).
detect_folders[]Які теки мають запускати цей модуль (потрібно щоб в only_with_files було true).
style'blue bold'Стиль модуля.
disabledfalseВимикає модуль docker_context.

Змінні

ЗміннаПрикладОпис
contexttest_contextПоточний docker context
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[docker_context]
format = 'via [🐋 $context](blue bold)'

Dotnet

Модуль dotnet показує відповідну версію .NET Core SDK для поточної теки. Якщо SDK закріплена в поточній теці, показується закріплена версія. В іншому випадку модуль покаже останню встановлену версію SDK.

Стандартно модуль буде показаний в командному рядку, коли в теці присутні один чи більше наступних файлів:

  • global.json
  • project.json
  • Directory.Build.props
  • Directory.Build.targets
  • Packages.props
  • *.csproj
  • *.fsproj
  • *.xproj

Вам також знадобиться .NET Core SDK, встановлений для того, щоб використовувати його правильно.

Всередині, цей модуль використовує власний механізм для виявлення версій. Як правило, він удвічі швидший ніж запуск dotnet --version, але він може показувати некоректну версію, якщо ваш проєкт .NET має незвичайне розташування тек. Якщо точність важливіша за швидкість, ви можете вимкнути механізм встановивши heuristic = false в налаштуваннях модуля.

Модуль також показуватиме Target Framework Monamework (https://docs.microsoft.com/en-us/dotnet/standard/frameworks#supported-target-frameworks), коли у поточній теці є файл .csproj.

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )(🎯 $tfm )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'.NET 'Символ, який знаходиться перед версією dotnet.
heuristictrueВикористовувати швидший алгоритм визначення версії, щоб ваш starship залишався швидким.
detect_extensions['csproj', 'fsproj', 'xproj']Які розширення повинні запускати цей модуль.
detect_files['global.json', 'project.json', 'Directory.Build.props', 'Directory.Build.targets', 'Packages.props']Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
style'bold blue'Стиль модуля.
disabledfalseВимикає модуль dotnet.

Змінні

ЗміннаПрикладОпис
versionv3.1.201Версія dotnet sdk
tfmnetstandard2.0Псевдонім Target Framework, на який націлено поточний проєкт
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[dotnet]
symbol = '🥅 '
style = 'green'
heuristic = false

Elixir

Модуль elixir показує поточну встановлену версію Elixir та Erlang/OTP. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл mix.exs.

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version \(OTP $otp_version\) )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'💧 'Символ, який знаходиться перед версією Elixir/Erlang.
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files['mix.exs']Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
style'bold purple'Стиль модуля.
disabledfalseВимикає модуль elixir.

Змінні

ЗміннаПрикладОпис
versionv1.10Версія elixir
otp_versionВерсія otp elixir
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[elixir]
symbol = '🔮 '

Elm

Модуль elm показує поточну встановлену версію Elm. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл elm.json
  • Поточна тека містить файл elm-package.json
  • Поточна тека містить файл .elm-version
  • Поточна тека містить файл elm-stuff
  • The current directory contains .elm files

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🌳 'Формат рядка, що представляє символ Elm.
detect_extensions['elm']Які розширення повинні запускати цей модуль.
detect_files['elm.json', 'elm-package.json', '.elm-version']Які імена файлів мають запускати цей модуль.
detect_folders['elm-stuff']Які теки мають запускати цей модуль.
style'cyan bold'Стиль модуля.
disabledfalseВимикає модуль elm.

Змінні

ЗміннаПрикладОпис
versionv0.19.1Версія elm
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[elm]
format = 'via [ $version](cyan bold) '

Environment Variable

Модуль env_var показує поточне значення обраних змінних середовища. Модуль показується, якщо виконується будь-яка з наступних умов:

  • Параметр variable відповідає наявній змінній середовища
  • Параметр variable не визначено, але є параметр default

TIP

Порядок в якому модуль env_var показується може встановлюватись індивідуально додаванням ${env_var.foo} в format верхнього рівня (через те, що використовуються крапки, потрібно використовувати ${...}). Типово, модуль env_var покаже усі модулі env_var, в тому порядку, в якому вони були визначені.

TIP

Кілька змінних оточення можуть бути показані за допомоги .. (див. приклад) Якщо параметр конфігурації variable не встановлено, модуль показуватиме значення змінної під назвою тексту після символу ..

Приклад: наступна конфігурація показуватиме значення змінної середовища USER

toml
# ~/.config/starship.toml

[env_var.USER]
default = 'unknown user'

Параметри

ПараметрСтандартноОпис
symbol""Символ, який знаходиться перед значенням variable.
variableЗмінна середовища для показу.
defaultСтандартне значення буде показане, якщо змінні для показу не визначені.
format"with [$env_value]($style) "Формат модуля.
description"<env_var module>"Опис модуля, який показується під час запуску starship explain.
disabledfalseВимикає модуль env_var.

Змінні

ЗміннаПрикладОпис
env_valueWindows NT (якщо variable буде $OS)Значення змінної оточення з параметра variable
symbolВіддзеркалює значення параметра symbol
style*black bold dimmedВіддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[env_var]
variable = 'SHELL'
default = 'unknown shell'

Показ кількох змінних оточення:

toml
# ~/.config/starship.toml

[env_var.SHELL]
variable = 'SHELL'
default = 'unknown shell'
[env_var.USER]
default = 'unknown user'

Erlang

Модуль erlang показує поточну встановлену версію Erlang/OTP. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл rebar.config.
  • Поточна тека містить файл erlang.mk.

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol' 'Символ, який знаходиться перед версією erlang.
style'bold red'Стиль модуля.
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files['rebar.config', 'elang.mk']Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
disabledfalseВимикає модуль erlang.

Змінні

ЗміннаПрикладОпис
versionv22.1.3Версія erlang
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[erlang]
format = 'via [e $version](bold red) '

Fennel

Модуль fennel показує поточну встановлену версію Fennel. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл .fnl

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🧅 'Символ, який знаходиться перед версією fennel.
style'bold green'Стиль модуля.
detect_extensions['fnl']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
disabledfalseВимикає модуль fennel.

Змінні

ЗміннаПрикладОпис
versionv1.2.1Версія fennel
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[fennel]
symbol = '⫰ '

Fill

Модуль fill заповнює простір в рядку вказаним символом. Якщо використовується кілька модулів fill, вони можуть заповнювати рядок рівномірно розподіляючи його довжину між собою. Це корисно для форматування інших модулів.

Параметри

ПараметрСтандартноОпис
symbol'.'Символ, який використовується для заповнення рядка.
style'bold black'Стиль модуля.
disabledfalseВимикає модуль fill

Приклад

toml
# ~/.config/starship.toml
format = 'AA $fill BB $fill CC'

[fill]
symbol = '-'
style = 'bold green'

Створить рядок, що виглядатиме наступним чином:

AA -------------------------------------------- BB -------------------------------------------- CC

Fossil Branch

Модуль fossil_branch показує назву активної гілки у вашій поточній теці.

Параметри

ПараметрСтандартноОпис
format'on [$symbol$branch]($style) 'Формат модуля. Використовуйте '$branch для посилання на поточну гілку.
symbol' 'Символ, що використовується перед назвою гілки у вашій поточній теці.
style'bold purple'Стиль модуля.
truncation_length2^63 - 1Скорочує назву гілки Fossil до N графем
truncation_symbol'…'Символ, що використовується для позначення назви гілки, яка була скорочена. Ви можете використовувати '', щоб нічого не показувати.
disabledtrueВимикає модуль fossil_branch.

Змінні

ЗміннаПрикладОпис
branchtrunkПоточна гілка Fossil
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[fossil_branch]
symbol = '🦎 '
truncation_length = 4
truncation_symbol = ''

Fossil Metrics

Модуль fossil_metrics покаже кількість доданих та видалених рядків у поточній теці. Потрібна версія Fossil не нижче v2.14 (2021-01-20).

Параметри

ПараметрСтандартноОпис
format'([+$added]($added_style) )([-$deleted]($deleted_style) )'Формат модуля.
added_style'bold green'Стиль для показу кількості доданих рядків.
deleted_style'bold red'Стиль для показу кількості видалених рядків.
only_nonzero_diffstrueПоказувати стан лише для змінених елементів.
disabledtrueВимикає модуль fossil_metrics.

Змінні

ЗміннаПрикладОпис
added1Поточна кількість доданих рядків
deleted2Поточна кількість видалених рядків
added_style*Віддзеркалює значення параметра added_style
deleted_style*Віддзеркалює значення параметра deleted_style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[fossil_metrics]
added_style = 'bold blue'
format = '[+$added]($added_style)/[-$deleted]($deleted_style) '

Google Cloud (gcloud)

Модуль gcloud показує поточну конфігурацію gcloud CLI. Він базується на файлі ~/.config/gcloud/active_config та на ~/.config/gcloud/configurations/config_{CONFIG NAME} і на змінній оточення CLOUDSDK_CONFIG.

Коли модуль увімкнено, він завжди буде активним, якщо не встановлено параметр detect_env_vars, в такому випадку модуль буде активним лише коли буде встановлено одну зі змінних середовища.

Параметри

ПараметрСтандартноОпис
format'on [$symbol$account(@$domain)(\($region\))]($style) 'Формат модуля.
symbol'☁️ 'Символ, який використовується під час показу перед поточним профілем GCP.
region_aliases{}Таблиця псевдонімів регіону для показу на додачу до назви GCP.
project_aliases{}Таблиця псевдонімів проєкту для показу на додачу до назви GCP.
detect_env_vars[]Які змінні середовища повинні запускати цей модуль
style'bold blue'Стиль модуля.
disabledfalseВимикає модуль gcloud.

Змінні

ЗміннаПрикладОпис
regionus-central1Поточний регіон GCP
accountfooПоточний профіль GCP
domainexample.comПоточний домен профілю GCP
projectПоточний проєкт GCP
activedefaultНазва активної конфігурації з ~/.config/gcloud/active_config
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклади

Показувати обліковий запис та проєкт

toml
# ~/.config/starship.toml

[gcloud]
format = 'on [$symbol$account(@$domain)(\($project\))]($style) '

Показувати тільки назву активної конфігурації

toml
# ~/.config/starship.toml

[gcloud]
format = '[$symbol$active]($style) '
style = 'bold yellow'

Показувати обліковий запис та псевдо регіону

toml
# ~/.config/starship.toml

[gcloud]
symbol = '️🇬️ '
[gcloud.region_aliases]
us-central1 = 'uc1'
asia-northeast1 = 'an1'

Показувати обліковий запис та псевдо проєкту

toml
# ~/.config/starship.toml

[gcloud]
format = 'on [$symbol$account(@$domain)(\($project\))]($style) '
[gcloud.project_aliases]
very-long-project-name = 'vlpn'

Git Branch

Модуль git_branch показує активну гілку репозиторію у вашій поточній теці.

Параметри

ПараметрСтандартноОпис
always_show_remotefalseПоказує назву віддаленої відстежуваної гілки, навіть якщо вона збігається з назвою локальної гілки.
format'on [$symbol$branch(:$remote_branch)]($style) 'Формат модуля. Використовуйте '$branch для посилання на поточну гілку.
symbol' 'Формат рядка, що представляє символ гілки git.
style'bold purple'Стиль модуля.
truncation_length2^63 - 1Скорочує назву гілки git до N графем.
truncation_symbol'…'Символ, що використовується для позначення назви гілки, яка була скорочена. Ви можете використовувати '', щоб нічого не показувати.
only_attachedfalseПоказувати назву гілки тільки коли вона не у відʼєднаному від HEAD стані.
ignore_branches[]Перелік назв, які не треба показувати. Корисно для 'master' або 'main'.
disabledfalseВимикає модуль git_branch.

Змінні

ЗміннаПрикладОпис
branchmasterНазва поточної гілки, показується HEAD, якщо зараз немає поточної гілки (напр. git detached HEAD).
remote_nameoriginНазва віддаленої гілки.
remote_branchmasterНазва гілки, що відстежується у remote_name.
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[git_branch]
symbol = '🌱 '
truncation_length = 4
truncation_symbol = ''
ignore_branches = ['master', 'main']

Git Commit

Модуль git_commit показує поточний хеш коміту, а також теґ (якщо він є) репозиторію у вашій поточній теці.

Параметри

ПараметрСтандартноОпис
commit_hash_length7Довжина хешу коміта.
format'[\($hash$tag\)]($style) 'Формат модуля.
style'bold green'Стиль модуля.
only_detachedtrueПоказувати хеш коміту тільки коли HEAD у відʼєднаному стані
tag_disabledtrueВимикає показ теґів в модулі git_commit.
tag_max_candidates0Впродовж скількох комітів показувати теґ. Стандартно дозволяється тільки безпосередній збіг.
tag_symbol' 🏷 'Символ теґу
disabledfalseВимикає модуль git_commit.

Змінні

ЗміннаПрикладОпис
hashb703eb3Хэш коміту git
tagv1.0.0Назва теґу, якщо увімкнено показ інформації про теґ.
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[git_commit]
commit_hash_length = 4
tag_symbol = '🔖 '

Git State

Модуль git_state показується в теках, які є частиною репозиторію git, під час виконання операцій на зразок REBASING, BISECTING тощо. Якщо є інформація про прогрес (наприклад, REBASING 3/10), ця інформація також буде показана.

Параметри

ПараметрСтандартноОпис
rebase'REBASING'Формат рядка під час процесу rebase.
merge'MERGING'Формат рядка під час процесу merge.
revert'REVERTING'Формат рядка під час процесу revert.
cherry_pick'CHERRY-PICKING'Формат рядка під час процесу cherry-pick.
bisect'BISECTING'Формат рядка під час процесу bisect.
am'AM'Формат рядка під час процесу apply-mailbox (git am).
am_or_rebase'AM/REBASE'Формат рядка під час процесу apply-mailbox або rebase.
style'bold yellow'Стиль модуля.
format'\([$state( $progress_current/$progress_total)]($style)\) 'Формат модуля.
disabledfalseВимикає модуль git_state.

Змінні

ЗміннаПрикладОпис
stateREBASINGПоточний стан репозиторію
progress_current1Прогрес поточної операції
progress_total2Загальний прогрес операції
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[git_state]
format = '[\($state( $progress_current of $progress_total)\)]($style) '
cherry_pick = '[🍒 PICKING](bold red)'

Git Metrics

Модуль git_metrics покаже кількість доданих та видалених рядків у поточному репозиторії git.

TIP

Цей модуль типово є вимкненим. Щоб його увімкнути, встановіть значення параметра disabled в false у вашому файлі налаштувань.

Параметри

ПараметрСтандартноОпис
added_style'bold green'Стиль для показу кількості доданих рядків.
deleted_style'bold red'Стиль для показу кількості видалених рядків.
only_nonzero_diffstrueПоказувати стан лише для змінених елементів.
format'([+$added]($added_style) )([-$deleted]($deleted_style) )'Формат модуля.
disabledtrueВимикає модуль git_metrics.
ignore_submodulesfalseІгнорувати зміни в субмодулях

Змінні

ЗміннаПрикладОпис
added1Поточна кількість доданих рядків
deleted2Поточна кількість видалених рядків
added_style*Віддзеркалює значення параметра added_style
deleted_style*Віддзеркалює значення параметра deleted_style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[git_metrics]
added_style = 'bold blue'
format = '[+$added]($added_style)/[-$deleted]($deleted_style) '

Git Status

Модуль git_status показує символ, що описує стан репозиторію в поточній теці.

TIP

Модуль Git Status дуже повільно працює в теках Windows у середовищі WSL (наприклад, під /mnt/c/). Ви можете вимкнути модуль або використати windows_starship для використання Windows-версії Starship для тримання git_status для цих шляхів.

Параметри

ПараметрСтандартноОпис
format'([\[$all_status$ahead_behind\]]($style) )'Стандартний формат git_status
conflicted'='Ця гілка конфлікт злиття.
ahead'⇡'Формат ahead
behind'⇣'Формат behind
diverged'⇕'Формат diverged
up_to_date''Формат up_to_date
untracked'?'Формат untracked
stashed'$'Формат stashed
modified'!'Формат modified
staged'+'Формат staged
renamed'»'Формат renamed
deleted'✘'Формат deleted
typechanged""Формат typechanged
style'bold red'Стиль модуля.
ignore_submodulesfalseІгнорувати зміни в субмодулях.
disabledfalseВимикає модуль git_status.
windows_starshipВикористовуйте цей (Linux) шлях до виконуваного файлу у Windows для показу git_status у випадку шляхів Windows у WSL.

Змінні

Наступні змінні можуть бути використані у format:

ЗміннаОпис
all_statusСкорочення для $conflicted$stashed$deleted$renamed$modified$typechanged$staged$untracked
ahead_behindПоказує diverged, ahead, behind чи up_to_date в залежності від поточного стану репозиторію.
conflictedПоказує conflicted, коли поточна гілка має конфлікт злиття.
untrackedПоказує untracked коли в робочій теці є файли що ще не включені до відстеження у репозиторії.
stashedПоказує stashed за наявності stash у локальному репозиторії.
modifiedПоказує modified коли в робочій теці є змінені файли.
stagedПоказує staged, коли нові фали були додані до простору staging.
renamedПоказує renamed коли перейменовані файли було додано до простору staging.
deletedПоказує deleted коли інформація про видалення файлів була додана до простору staging.
typechangedПоказує typechanged коли інформація про файл була змінена у просторі staging.
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Наступні змінні можуть бути використані у diverged:

ЗміннаОпис
ahead_countКількість комітів на яку поточна гілка випереджає відстежувану
behind_countКількість комітів на яку поточна гілка відстає від відстежуваної

Наступні змінні можуть використовуватись у conflicted, ahead, behind, untracked, stashed, modified, staged, renamed та deleted:

ЗміннаОпис
countПоказує кількість файлів

Приклад

toml
# ~/.config/starship.toml

[git_status]
conflicted = '🏳'
ahead = '🏎💨'
behind = '😰'
diverged = '😵'
up_to_date = '✓'
untracked = '🤷'
stashed = '📦'
modified = '📝'
staged = '[++\($count\)](green)'
renamed = '👅'
deleted = '🗑'

Показує кількість комітів ahead/behind

toml
# ~/.config/starship.toml

[git_status]
ahead = '⇡${count}'
diverged = '⇕⇡${ahead_count}⇣${behind_count}'
behind = '⇣${count}'

Використання виконавчого файлу Windows Starship у Windows у шляхах WSL

toml
# ~/.config/starship.toml

[git_status]
windows_starship = '/mnt/c/Users/username/scoop/apps/starship/current/starship.exe'

Gleam

Модуль gleam показує поточну встановлену версію Gleam. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл gleam.toml
  • Поточна тека містить файли з розширенням .gleam

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'⭐ 'Формат рядка, що представляє символ Gleam.
detect_extensions['gleam']Які розширення повинні запускати цей модуль.
detect_files['gleam.toml']Які імена файлів мають запускати цей модуль.
style'bold #FFAFF3'Стиль модуля.
disabledfalseВимикає модуль gleam.

Змінні

ЗміннаПрикладОпис
versionv1.0.0Версія gleam
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[gleam]
format = 'via [⭐ $version](bold red) '

Go

Модуль golang показує поточну встановлену версію Go. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл go.mod
  • Поточна тека містить файл go.sum
  • Поточна тека містить файл go.work
  • Поточна тека містить файл glide.yaml
  • Поточна тека містить файл Gopkg.yml
  • Поточна тека містить файл Gopkg.lock
  • Поточна тека містить файл .go-version
  • Поточна тека містить теку Godeps
  • Поточна тека містить файл .go

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🐹 'Формат рядка, що представляє символ Go.
detect_extensions['go']Які розширення повинні запускати цей модуль.
detect_files['go.mod', 'go.sum', 'go.work', 'glide.yaml', 'Gopkg.yml', 'Gopkg.lock', '.go-version']Які імена файлів мають запускати цей модуль.
detect_folders['Godeps']В яких теках цей модуль має запускатись.
style'bold cyan'Стиль модуля.
not_capable_style'bold red'Стиль модуля, коли директиви go з файлу go.mod не збігаються з встановленою версією Go.
disabledfalseВимикає модуль golang.

Змінні

ЗміннаПрикладОпис
versionv1.12.1Версія go
mod_version1.16вимоги до версії go, як зазначено у директиві go.mod. Буде показано лише коли потрібна версія не збігається з версією go.
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[golang]
format = 'via [🏎💨 $version](bold cyan) '

Використання mod_version

toml
# ~/.config/starship.toml

[golang]
format = 'via [$symbol($version )($mod_version )]($style)'

Guix-shell

Модуль guix_shell показує середовище guix-shell. Модуль буде показано, коли ви перебуваєте в середовищі guix-shell.

Параметри

ПараметрСтандартноОпис
format'via [$symbol]($style) 'Формат модуля.
symbol'🐃 'Формат рядка, що представляє символ guix-shell.
style'yellow bold'Стиль модуля.
disabledfalseВимикає модуль guix_shell.

Змінні

ЗміннаПрикладОпис
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[guix_shell]
disabled = true
format = 'via [🐂](yellow bold) '

Gradle

Модуль gradle показує версію Gradle Wrapper що використовується в теці проєкту.

Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить теку gradle/wrapper/gradle-wrapper.properties.
  • Поточна тека містить файли .gradle або .gradle.kts.

Модуль gradle може лише зчитувати версію Gradle Wrapper з вашого файлу налаштувань, ми не запускаємо на виконання вашу обгортку з міркувань безпеки.

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🅶 'Формат рядка, що представляє символ Gradle.
detect_extensions['gradle', 'gradle.kts']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders['gradle']В яких теках цей модуль має запускатись.
style'bold bright-cyan'Стиль модуля.
disabledfalseВимикає модуль gradle.
recursivefalseДозволяє рекурсивний пошук теки gradle.

Змінні

ЗміннаПрикладОпис
versionv7.5.1Версія gradle
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Haskell

Модуль haskell знаходить поточну версію GHC та/або Stack snapshot.

Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл stack.yaml
  • Поточна тека містить файли .hs, .cabal або .hs-boot

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
symbol'λ 'Формат рядка, що представляє символ Haskell
detect_extensions['hs', 'cabal', 'hs-boot']Які розширення повинні запускати цей модуль.
detect_files['stack.yaml', 'cabal.project']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold purple'Стиль модуля.
disabledfalseВимикає модуль haskell.

Змінні

ЗміннаПрикладОпис
versionghc_version або snapshot в залежності від того, чи є поточний проєкт проєктом Stack
snapshotlts-18.12Поточний обраний Stack snapshot
ghc_version9.2.1Встановлена версія GHC
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Haxe

Модуль haxe показує поточну встановлену версію Haxe. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файли project.xml, Project.xml, додаток. ml, haxelib.json, hxformat.json або .haxerc
  • Поточна тека містить теку .haxelib або haxe_libraries
  • Поточна тека містить файли .hx або .hxml

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
detect_extensions['hx', 'hxml']Які розширення повинні запускати цей модуль.
detect_files['project.xml', 'Project.xml', 'application.xml', 'haxelib.json', 'hxformat.json', '.haxerc']Які імена файлів мають запускати цей модуль.
detect_folders['.haxelib', 'haxe_libraries']Які теки мають запускати цей модуль.
symbol'⌘ 'Формат рядка, що представляє символ Haxe.
style'bold fg:202'Стиль модуля.
disabledfalseВимикає модуль haxe.

Змінні

ЗміннаПрикладОпис
versionv4.2.5Версія haxe
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[haxe]
format = "via [⌘ $version](bold fg:202) "

Helm

Модуль helm показує поточну встановлену версію Helm. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл helmfile.yaml
  • Поточна тека містить файл Chart.yaml

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files['helmfile.yaml', 'Chart.yaml']Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
symbol'⎈ 'Формат рядка, що представляє символ Helm.
style'bold white'Стиль модуля.
disabledfalseВимикає модуль helm.

Змінні

ЗміннаПрикладОпис
versionv3.1.1Версія helm
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[helm]
format = 'via [⎈ $version](bold white) '

Hostname

Модуль hostname показує назву хосту.

Параметри

ПараметрСтандартноОпис
ssh_onlytrueПоказувати назву хоста лише при підключенні через SSH.
ssh_symbol'🌐 'Формат рядка для показу символу підключення до SSH-сеансу.
trim_at'.'Рядок, у якому назва хоста буде обрізано після першого збігу. '.' зупиниться після першої точки. '' вимкне будь-яке скорочення.
detect_env_vars[]Які змінні середовища повинні запускати цей модуль.
format'[$ssh_symbol$hostname]($style) in 'Формат модуля.
style'bold dimmed green'Стиль модуля.
disabledfalseВимикає модуль hostname.
aliases{}Переводить системні імена хостів у щось інше. Якщо задано trim_at, то лише перша частина буде перевірена та замінена.

Змінні

ЗміннаПрикладОпис
hostnamecomputerНазва хосту
style*Віддзеркалює значення параметра style
ssh_symbol'🌏 'Символ, який буде показаний, під час підʼєднання до SSH сесії

*: Ця змінна може бути використана лише як частина стилю рядка

Приклади

Завжди показувати hostname

toml
# ~/.config/starship.toml

[hostname]
ssh_only = false
format = '[$ssh_symbol](bold blue) on [$hostname](bold red) '
trim_at = '.companyname.com'
disabled = false

Приховувати hostname для віддалених сеансів tmux

toml
# ~/.config/starship.toml

[hostname]
ssh_only = false
detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
disabled = false

Замінити імʼя хосту псевдонімом

toml
# ~/.config/starship.toml
[hostname]
aliases = { "Max's MacBook Pro" = "home" }

Java

Модуль java показує поточну встановлену версію Java. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • В поточній теці містяться файли pom.xml, build.gradle.kts, build.sbt, .java-version, deps.edn, project.clj, build.boot або .sdkmanrc
  • Поточна тека містить файли з розширеннями .java, .class, .gradle, .jar, .clj або .cljc

Параметри

ПараметрСтандартноОпис
format'via [${symbol}(${version} )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
detect_extensions['java', 'class', 'gradle', 'jar', 'cljs', 'cljc']Які розширення повинні запускати цей модуль.
detect_files['pom.xml', 'build.gradle.kts', 'build.sbt', '.java-version', 'deps.edn', 'project.clj', 'build.boot', '.sdkmanrc']Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
symbol'☕ 'Формат рядка, що представляє символ Java
style'red dimmed'Стиль модуля.
disabledfalseВимикає модуль java.

Змінні

ЗміннаПрикладОпис
versionv14Версія java
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[java]
symbol = '🌟 '

Jobs

Модуль jobs показує поточну кількість завдань, що виконуються зараз. Модуль показуватиметься лише у випадку наявності фонових завдань. Модуль покаже кількість запущених завдань, якщо є хоча б 2 завдання, або більше за значення в number_threshold, за наявності. Модуль покаже символ, якщо є принаймні одне, чи більше за значення symbol_threshold, фонове завдання. Ви можете встановити обидва значення в 0, щоб завжди показувати символ і кількість завдань, навіть якщо виконується 0 завдань.

Стандартний функціонал:

  • 0 завдань -> нічого не показується.
  • 1 завдання -> показується symbol.
  • 2 чи більше завдань -> показується symbol + число.

WARNING

Модуль не підтримується в tcsh та nu.

WARNING

Параметр threshold є застарілим, але якщо ви бажаєте його використовувати, модуль буде показувати кількість запущених завдань, якщо у вас більше одного фонового завдання, або завдань більше за threshold. Якщо threshold встановлено у 0, то модуль також показуватиметься, коли немає запущених завдань.

Параметри

ПараметрСтандартноОпис
threshold*1Показувати кількість завдань, якщо вони перевищують значення.
symbol_threshold1Показувати символ symbol, якщо кількість завдань не менше symbol_threshold.
number_threshold2Показувати кількість завдань, якщо їх кількість не менша за number_threshold.
format'[$symbol$number]($style) 'Формат модуля.
symbol'✦'Змінна для визначення символу symbol.
style'bold blue'Стиль модуля.
disabledfalseВимикає модуль jobs.

*: Цей параметр застарів, використовуйте параметри number_threshold та symbol_threshold замість цього.

Змінні

ЗміннаПрикладОпис
number1Кількість завдань
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[jobs]
символ = '+ '
number_threshold = 4
symbol_threshold = 0

Julia

Модуль julia показує поточну встановлену версію Julia. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл Project.toml
  • Поточна тека містить файл Manifest.toml
  • Поточна тека містить файл .jl

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
detect_extensions['jl']Які розширення повинні запускати цей модуль.
detect_files['Project.toml', 'Manifest.toml']Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
symbol'ஃ 'Формат рядка, що представляє символ Julia.
style'bold purple'Стиль модуля.
disabledfalseВимикає модуль julia.

Змінні

ЗміннаПрикладОпис
versionv1.4.0Версія julia
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[julia]
symbol = '∴ '

Kotlin

Модуль kotlin показує поточну встановлену версію Kotlin. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файли, .kt або .kts

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
detect_extensions['kt', 'kts']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
symbol'🅺 'Формат рядка, що представляє символ Kotlin.
style'bold blue'Стиль модуля.
kotlin_binary'kotlin'Налаштовує бінарний файл kotlin, який Starship буде використовувати для отримання версії.
disabledfalseВимикає модуль kotlin.

Змінні

ЗміннаПрикладОпис
versionv1.4.21Версія kotlin
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

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

Показує поточну назву Kubernetes context та, якщо встановлено, простір імен, користувача та кластер з файлу kubeconfig. Простір імен повинен бути встановлений у файлі kubeconfig файл, це можна зробити через kubectl config set-context starship-context --namespace astronaut. Так само можна встановити користувача та кластер за допомогою kubectl config set-context starship-context --user starship-user та kubectl config set-context context context context --cluster starship-cluster, відповідно. Якщо параметр $KUBECONFIG встановлено, то модуль буде використовувати його, якщо ні — ~/.kube/config.

TIP

Цей модуль типово є вимкненим. Щоб його увімкнути, встановіть значення параметра disabled в false у вашому файлі налаштувань.

Коли модуль увімкнено, він завжди буде активним, якщо будь-який з параметрів detect_env_vars, detect_extensions, detect_files або detect_folders встановлені, модуль буде активним тільки в теках, що відповідають умовам.

Параметри

WARNING

Параметри context_aliases та user_aliases є застарілими. Використовуйте contexts та, відповідно, context_alias та user_alias, натомість.

ПараметрСтандартноОпис
symbol'☸ 'Символ, що показується перед Кластером.
format'[$symbol$context( \($namespace\))]($style) in 'Формат модуля.
style'cyan bold'Стиль модуля.
context_aliases*{}Таблиця контекстних псевдонімів.
user_aliases*{}Таблиця псевдонімів користувача.
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]Які теки мають запускати цей модуль.
detect_env_vars[]Які змінні середовища повинні запускати цей модуль
contexts[]Кастомізовані стилі та символи для конкретних контекстів.
disabledtrueВимикає модуль kubernetes.

*: Цей параметр є застарілими, додайте contexts, відповідно, context_alias та user_alias, натомість.

Для налаштування стилю модуля для конкретних середовищ використовуйте наступну конфігурацію як частину списку contexts:

ЗміннаОпис
context_patternОбовʼязково Регулярний вираз, що повертає збіг з назвою поточного контексту Kubernetes.
user_patternРегулярний вираз, що відповідає поточному імені користувача Kubernetes.
context_aliasПсевдонім контексту для показу замість назви повного контексту.
user_aliasПсевдонім користувача для показу замість повного імені користувача.
styleСтиль для модуля, при використанні цього контексту. Якщо не вказано, використовуватиметься стиль модуля.
symbolСимвол для модуля при використанні цього контексту. Якщо не вказано, використовуватиметься символ модуля.

Зверніть увагу, що всі регулярні вирази виглядають як ^<pattern>$ і мають збігатись з усім рядком. Регулярний вираз *_pattern може мати групи, які можуть зазначатись у відповідних аліасах як $name та $N (дивіться приклад нижче та документації rust Regex::replace()).

Змінні

ЗміннаПрикладОпис
contextstarship-contextПоточна назва kubernetes context
namespacestarship-namespaceЯкщо встановлено, поточний простір імен kubernetes
userstarship-userЯкщо встановлено, поточний користувач kubernetes
clusterstarship-clusterЯкщо встановлено, поточний кластер kubernetes
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[kubernetes]
format = 'on [⛵ ($user on )($cluster in )$context \($namespace\)](dimmed green) '
disabled = false
contexts = [
  { context_pattern = "dev.local.cluster.k8s", style = "green", symbol = "💔 " },
]

Показує модуль лише у теках, що містять файл k8s.

toml
# ~/.config/starship.toml

[kubernetes]
disabled = false
detect_files = ['k8s']

Kubernetes Context спец налаштування

Параметр contexts використовується для налаштування того, як виглядає назва контексту Kubernetes (стиль та символ), якщо назва збігається з визначеною регулярним виразом.

toml
# ~/.config/starship.toml

[[kubernetes.contexts]]
# стиль "bold red" + типовий символ, коли назва поточного контексту Kubernetes збігається з "production" *та* поточний користувач
# збігається з "admin_user"
context_pattern = "production"
user_pattern = "admin_user"
style = "bold red"
context_alias = "prod"
user_alias = "admin"

[[kubernetes.contexts]]
# стиль "green" + інший символ, коли назва поточного контексту Kubernetes містить openshift
context_pattern = ".*openshift.*"
style = "green"
symbol = "💔 "
context_alias = "openshift"

[[kubernetes.contexts]]
# Використання груп
# Контекст з GKE, AWS та інших хмарних постачальників зазвичай має додаткову інформацію, наприклад регіон/зону.
# Наступний елемент збігається з форматом GKE format (`gke_projectname_zone_cluster-name`)
# та змінює кожний відповідний kube context на більш зрозумілий формат (`gke-cluster-name`):
context_pattern = "gke_.*_(?P<cluster>[\\w-]+)"
context_alias = "gke-$cluster"

Line Break

Модуль line_break розділяє командний рядок на два рядки.

Параметри

ПараметрСтандартноОпис
disabledfalseВимикає модуль line_break, перемикає вивід в один рядок.

Приклад

toml
# ~/.config/starship.toml

[line_break]
disabled = true

Local IP

Модуль localip показує IPv4 адресу основного мережевого інтерфейсу.

Параметри

ПараметрСтандартноОпис
ssh_onlytrueПоказувати IP адресу лише при підключенні через SSH.
format'[$localipv4]($style) 'Формат модуля.
style'bold yellow'Стиль модуля.
disabledtrueВимикає модуль localip.

Змінні

ЗміннаПрикладОпис
localipv4192.168.1.13Містить основну адресу IPv4
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[localip]
ssh_only = false
format = '@[$localipv4](bold red) '
disabled = false

Lua

Модуль lua показує поточну встановлену версію Lua. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл .lua-version
  • Поточна тека містить теку lua
  • Поточна тека містить файли з розширенням .lua

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🌙 'Формат рядка, що представляє символ Lua.
detect_extensions['lua']Які розширення повинні запускати цей модуль.
detect_files['.lua-version']Які імена файлів мають запускати цей модуль.
detect_folders['lua']В яких теках цей модуль має запускатись.
style'bold blue'Стиль модуля.
lua_binary'lua'Налаштовує бінарний файл lua, який Starship буде використовувати для отримання версії.
disabledfalseВимикає модуль lua.

Змінні

ЗміннаПрикладОпис
versionv5.4.0Версія lua
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[lua]
format = 'via [🌕 $version](bold blue) '

Memory Usage

Модуль memory_usage показує поточне використання оперативної памʼяті та памʼяті файлу підкачки.

Стандартно використання файлу підкачки показується якщо його розмір не є нульовим.

TIP

Цей модуль типово є вимкненим. Щоб його увімкнути, встановіть значення параметра disabled в false у вашому файлі налаштувань.

Параметри

ПараметрСтандартноОпис
threshold75Приховати використання памʼяті, якщо не перевищено цей відсоток.
format'via $symbol [${ram}( | ${swap})]($style) 'Формат модуля.
symbol'🐏'Символ, який знаходиться перед значенням використання памʼяті.
style'bold dimmed white'Стиль модуля.
disabledtrueВимикає модуль memory_usage.

Змінні

ЗміннаПрикладОпис
ram31GiB/65GiBВикористана/загальна памʼять.
ram_pct48%Відсоток завантаженості памʼяті системи.
swap**1GiB/4GiBРозмір файлу підкачки.
swap_pct**77%Процент завантаженості файлу підкачки.
symbol🐏Віддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Цю змінну можна використовувати лише як частину стилю рядка **: Інформація щодо файлів SWAP показується лише у разі наявності в поточній системі

Приклад

toml
# ~/.config/starship.toml

[memory_usage]
disabled = false
threshold = -1
symbol = ' '
style = 'bold dimmed green'

Meson

Модуль meson показує поточний стан оточення розробки Meson.

Стандартно показується назва проєкту Meson, якщо встановлено $MESON_DEVENV.

Параметри

ПараметрСтандартноОпис
truncation_length2^32 - 1Скорочує назву проєкту до N графем.
truncation_symbol'…'Символ, що використовується для позначення назви проєкту, який було скорочено. Ви можете використовувати '', щоб нічого не показувати.
format'via [$symbol$project]($style) 'Формат модуля.
symbol'⬢ 'Символ, який знаходиться перед назвою проєкту.
style'blue bold'Стиль модуля.
disabledfalseВимкнути модуль meson.

Змінні

ЗміннаПрикладОпис
projectstarshipПоточна назва проєкту з Meson
symbol🐏Віддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[meson]
disabled = false
truncation_symbol = '--'
symbol = ' '
style = 'bold dimmed green'

Mercurial Branch

Модуль hg_branch показує активну гілку та вершину репозиторію у вашій поточній теці.

Параметри

ПараметрСтандартноОпис
symbol' 'Символ, що використовується перед закладкою hg чи назвою гілки у вашій поточній теці.
style'bold purple'Стиль модуля.
format'on [$symbol$branch(:$topic)]($style) 'Формат модуля.
truncation_length2^63 - 1Скорочує назву гілки/вершини до N графем
truncation_symbol'…'Символ, що використовується для позначення назви гілки, яка була скорочена.
disabledtrueВимикає модуль hg_branch.

Змінні

ЗміннаПрикладОпис
branchmasterПоточна гілка mercurial
topicfeatureПоточна вершина mercurial
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[hg_branch]
format = 'on [🌱 $branch](bold purple)'
truncation_length = 4
truncation_symbol = ''

Mojo

Модуль mojo показує поточну версію встановленої мови програмування Mojo

Параметри

ПараметрСтандартноОпис
format'with [$symbol($version )]($style)'Формат модуля.
symbol'🔥 'Символ, який знаходиться перед версією Mojo.
style'bold 208'Стиль модуля.
disabledfalseВимикає модуль mojo.
detect_extensions['mojo', '🔥']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.

Змінні

ЗміннаПрикладОпис
version24.4.0Версія mojo
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[mojo]
format = 'via [mojo ($version )($hash )]($style)'

NATS

Модуль nats показує назву поточного контекстуNATS.

Параметри

ПараметрСтандартноОпис
symbol'✉️ 'Символ, що використовується перед контекстом NATS (типово порожнім).
style'bold purple'Стиль модуля.
format'[$symbol$name]($style)'Формат модуля.
disabledfalseВимикає модуль nats.

Змінні

ЗміннаПрикладОпис
namelocalhostНазва контексту NATS
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

Приклад

toml
[nats]
format = '[$symbol]($style)'
style = 'bold purple'

Nim

Модуль nim показує поточну встановлену версію Nim. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл nim.cfg
  • Поточна тека містить файли з розширенням .nim
  • Поточна тека містить файли з розширенням .nims
  • Поточна тека містить файли з розширенням .nimble

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'👑 'Символ, який знаходиться перед версією Nim.
detect_extensions['nim', 'nims', 'nimble']Які розширення повинні запускати цей модуль.
detect_files['nim.cfg']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold yellow'Стиль модуля.
disabledfalseВимикає модуль nim.

Змінні

ЗміннаПрикладОпис
versionv1.2.0Версія nimc
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[nim]
style = 'yellow'
symbol = '🎣 '

Nix-shell

Модуль nix_shell показує середовище nix-shell. Модуль буде показано, коли ви перебуваєте в середовищі nix-shell.

Параметри

ПараметрСтандартноОпис
format'via [$symbol$state( \($name\))]($style) 'Формат модуля.
symbol'❄️ 'Формат рядка, що представляє символ nix-shell.
style'bold blue'Стиль модуля.
impure_msg'impure'Формат рядка, який показується, коли оболонка (impure) нечиста.
pure_msg'pure'Формат рядка, який показується, коли оболонка (pure) чиста.
unknown_msg''Формат рядка, у випадку, коли стан невідомий.
disabledfalseВимикає модуль nix_shell.
heuristicfalseНамагається визначити новий nix shell-стиль евристичними методами.

Змінні

ЗміннаПрикладОпис
statepureСтан nix-shell
namelorriНазва nix-shell
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[nix_shell]
disabled = true
impure_msg = '[impure shell](bold red)'
pure_msg = '[pure shell](bold green)'
unknown_msg = '[unknown shell](bold yellow)'
format = 'via [☃️ $state( \($name\))](bold blue) '

Node.js

Модуль nodejs показує поточну встановлену версію Node.js. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл package.json
  • Поточна тека містить файл .node-version
  • Поточна тека містить файл .nvmrc
  • Поточна тека містить теку node_modules
  • Поточна тека містить файли з розширеннями .js, .mjs або .cjs
  • Поточна тека містить файли з розширеннями .ts, .mts чи .cts

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol' 'Формат рядка, що представляє символ Node.js.
detect_extensions['js', 'mjs', 'cjs', 'ts', 'mts', 'cts']Які розширення повинні запускати цей модуль.
detect_files['package.json', '.node-version', '.nvmrc']Які імена файлів мають запускати цей модуль.
detect_folders['node_modules']В яких теках цей модуль має запускатись.
style'bold green'Стиль модуля.
disabledfalseВимикає модуль nodejs.
not_capable_style'bold red'Стиль для модуля, коли версія рушія у package.json не відповідає версії Node.js.

Змінні

ЗміннаПрикладОпис
versionv13.12.0Версія node
engines_version>=12.0.0вимоги до версії node, як зазначено в описі package.json. Буде показано лише коли потрібна версія не збігається з версією node.
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[nodejs]
format = 'via [🤖 $version](bold green) '

OCaml

Модуль ocaml показує поточну встановлену версію OCaml. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файли з розширенням .opam або теку _opam
  • Поточна тека містить теку esy.lock
  • Поточна тека містить файли dune або dune-project
  • Поточна тека містить файли jbuild чи jbuild-ignore
  • Поточна тека містить файл .merlin
  • Поточна тека містить файли з розширеннями .ml, .mli, .re або .rei

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )(\($switch_indicator$switch_name\) )]($style)'Формат рядка модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🐫 'Символ, який знаходиться перед версією OCaml.
global_switch_indicator''Формат рядка для глобального перемикача OPAM.
local_switch_indicator'*'Формат рядка для локального перемикача OPAM.
detect_extensions['opam', 'ml', 'mli', 're', 'rei']Які розширення повинні запускати цей модуль.
detect_files['dune', 'dune-project', 'jbuild', 'jbuild-ignore', '.merlin']Які імена файлів мають запускати цей модуль.
detect_folders['_opam', 'esy.lock']В яких теках цей модуль має запускатись.
style'bold yellow'Стиль модуля.
disabledfalseВимикає модуль ocaml.

Змінні

ЗміннаПрикладОпис
versionv4.10.0Версія ocaml
switch_namemy-projectПоточний перемикач OPAM
switch_indicatorВіддзеркалює значення indicator для поточного перемикача OPAM
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[ocaml]
format = 'via [🐪 $version]($style) '

Odin

Модуль odin показує поточну встановлену версію Odin. Стандартно модуль буде показаний, якщо поточна тека містить файли .odin.

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
show_commitfalseПоказує коміт як частину версії.
symbol'Ø 'Символ, який знаходиться перед версією Zig.
style'bold bright-blue'Стиль модуля.
disabledfalseВимикає модуль odin.
detect_extensions['odin']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.

Змінні

ЗміннаПрикладОпис
versiondev-2024-03Версія odin
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[odin]
format = 'via [󰹩 ($version )]($style)'
show_commit = true

Open Policy Agent

Модуль opa показує поточну встановлену версію OPA. Стандартно модуль буде показаний, якщо поточна тека містить файли .rego.

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🪖 'Формат рядка, що представляє символ OPA.
detect_extensions['rego']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold blue'Стиль модуля.
disabledfalseВимикає модуль opa.

Змінні

ЗміннаПрикладОпис
versionv0.44.0Версія opa
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[opa]
format = 'via [⛑️  $version](bold red) '

OpenStack

Модуль openstack показує поточну хмару OpenStack і проєкт. Модуль активний лише тоді, коли встановлено змінну оточення OS_CLOUD, і в цьому випадку він читатиме файл clouds.yaml із будь-якого з стандартного розташування, щоб отримати поточний проєкт для використання.

Параметри

ПараметрСтандартноОпис
format'on [$symbol$cloud(\($project\))]($style) 'Формат модуля.
symbol'☁️ 'Символ, який використовується під час показу перед поточною хмарою OpenStack.
style'bold yellow'Стиль модуля.
disabledfalseВимикає модуль openstack.

Змінні

ЗміннаПрикладОпис
cloudcorpПоточна хмара OpenStack
projectdevПоточний проєкт OpenStack
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[openstack]
format = 'on [$symbol$cloud(\($project\))]($style) '
style = 'bold yellow'
symbol = '☁️ '

OS

Модуль os показує поточну операційну систему. Інформація про ОС отримується через os_info.

WARNING

os_info, що використовується в цьому модулі, може бути неточним для деяких систем.

TIP

Цей модуль типово є вимкненим. Щоб його увімкнути, встановіть значення параметра disabled в false у вашому файлі налаштувань.

Параметри

ПараметрСтандартноОпис
format'[$symbol]($style)'Формат модуля.
style'bold white'Стиль модуля.
disabledtrueВимикає модуль os.
symbolsТаблиця символів для кожної операційної системи.

symbols дозволяє визначити довільні символи для кожного типу операційної системи. Типи операційних систем не визначені вашою конфігурацією, використовують стандартну таблицю символів, дивись нижче. На цю мить усі операційні системи, що підтримуються модулем, перераховані нижче. Якщо ви бажаєте додати операційну систему, то можете створити відповідний запит.

toml
# Це таблиця стандартних символів.
[os.symbols]
AIX = "➿ "
Alpaquita = "🔔 "
AlmaLinux = "💠 "
Alpine = "🏔️ "
Amazon = "🙂 "
Android = "🤖 "
Arch = "🎗️ "
Artix = "🎗️ "
CentOS = "💠 "
Debian = "🌀 "
DragonFly = "🐉 "
Emscripten = "🔗 "
EndeavourOS = "🚀 "
Fedora = "🎩 "
FreeBSD = "😈 "
Garuda = "🦅 "
Gentoo = "🗜️ "
HardenedBSD = "🛡️ "
Illumos = "🐦 "
Kali = "🐉 "
Linux = "🐧 "
Mabox = "📦 "
Macos = "🍎 "
Manjaro = "🥭 "
Mariner = "🌊 "
MidnightBSD = "🌘 "
Mint = "🌿 "
NetBSD = "🚩 "
NixOS = "❄️ "
OpenBSD = "🐡 "
OpenCloudOS = "☁️ "
openEuler = "🦉 "
openSUSE = "🦎 "
OracleLinux = "🦴 "
Pop = "🍭 "
Raspbian = "🍓 "
Redhat = "🎩 "
RedHatEnterprise = "🎩 "
RockyLinux = "💠 "
Redox = "🧪 "
Solus = "⛵ "
SUSE = "🦎 "
Ubuntu = "🎯 "
Ultramarine = "🔷 "
Unknown = "❓ "
Void = "  "
Windows = "🪟 "

Змінні

ЗміннаПрикладОпис
symbol🎗️Поточний символ операційної системи з розширеного параметра symbols
nameArch LinuxНазва поточної операційної системи
typeArchТип поточної операційної системи
codenameПоточна кодова назва операційної системи, за наявності
editionПоточна редакція операційної системи, за наявності
versionПоточна версія операційної системи, за наявності
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[os]
format = "on [($name )]($style)"
style = "bold blue"
disabled = false

[os.symbols]
Windows = " "
Arch = "Arch is the best! "

Package Version

Модуль package показується, коли поточна тека є сховищем для пакунка, і показує його поточну версію. Наразі модуль підтримує такі пакунки: npm, nimble, cargo, poetry, python, composer, gradle, julia, mix, helm, shards, daml та dart.

  • npm — версія пакунка npm отримується з package.json з поточної теки
  • Cargo — версія пакунка cargo отримується з Cargo.toml з поточної теки
  • Nimble — версія пакунка nimble з файлу *.nimble з поточної теки, отримана командою nimble dump
  • Poetry — версія пакунка poetry отримується з pyproject.toml з поточної теки
  • Python — версія пакунка python отримана із PEP 621 сумісних файлів pyproject.toml чи setup.cfg у поточній теці
  • Composer — версія пакунка composer отримується з composer.json з поточної теки
  • Gradle — версія пакунка gradle отримується з build.gradle з поточної теки
  • Julia — версія пакунка отримується з Project.toml з поточної теки
  • Mix — версія пакунка mix отримується з mix.exs з поточної теки
  • Helm — версія чарту helm отримується з Chart.yaml з поточної теки
  • Maven — версія пакунка maven отримується з pom.xml з поточної теки
  • Meson — версія пакунка meson отримується з meson.build з поточної теки
  • Shards — версія пакунка shards отримується з shard.yml з поточної теки
  • V — версія пакунка vlang отримується з v.mod з поточної теки
  • SBT — версія пакунка sbt отримується з build.sbt з поточної теки
  • Daml — версія пакунка daml отримується з daml.yaml з поточної теки
  • Dart — версія пакунка dart отримується з pubspec.yaml з поточної теки

⚠️ Показується версія пакунка, сирці якого знаходяться у вашій поточній теці, а не у вашому менеджері пакунків.

Параметри

ПараметрСтандартноОпис
format'is [$symbol$version]($style) 'Формат модуля.
symbol'📦 'Символ, який знаходиться перед версією пакунка.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
style'bold 208'Стиль модуля.
display_privatefalseВмикає показ версій для приватних пакунків.
disabledfalseВимикає модуль package.

Змінні

ЗміннаПрикладОпис
versionv1.0.0Версія вашого пакунка
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[package]
format = 'via [🎁 $version](208 bold) '

Perl

Модуль perl показує поточну встановлену версію Perl. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файли Makefile.PL чи Build.PL
  • Поточна тека містить файли cpanfile або cpanfile.snapshot
  • Поточна тека містить файли, META.json або META.yml
  • Поточна тека містить файл .perl-version
  • Поточна тека містить файли .pl, .pm або .pod

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат рядка модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🐪 'Символ, який знаходиться перед версією Perl
detect_extensions['pl', 'pm', 'pod']Які розширення повинні запускати цей модуль.
detect_files['Makefile.PL', 'Build.PL', 'cpanfile', 'cpanfile.snapshot', 'META.json', 'META.yml', '.perl-version']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold 149'Стиль модуля.
disabledfalseВимикає модуль perl.

Змінні

ЗміннаПрикладОпис
versionv5.26.1Версія perl
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

Приклад

toml
# ~/.config/starship.toml

[perl]
format = 'via [🦪 $version]($style) '

PHP

Модуль php показує поточну встановлену версію PHP. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл composer.json
  • Поточна тека містить файл .php-version
  • Поточна тека містить файл .php

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🐘 'Символ, який знаходиться перед версією PHP.
detect_extensions['php']Які розширення повинні запускати цей модуль.
detect_files['composer.json', '.php-version']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'147 bold'Стиль модуля.
disabledfalseВимикає модуль php.

Змінні

ЗміннаПрикладОпис
versionv7.3.8Версія php
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[php]
format = 'via [🔹 $version](147 bold) '

Pijul Channel

Модуль pijul_channel показує активний канал репозиторію у вашій поточній теці.

Параметри

ПараметрСтандартноОпис
symbol' 'Символ, що використовується перед каналом pijul у вашій поточній теці.
style'bold purple'Стиль модуля.
format'on [$symbol$channel]($style) 'Формат модуля.
truncation_length2^63 - 1Скорочує назву каналу pijul до N графем
truncation_symbol'…'Символ, що використовується для позначення назви гілки, яка була скорочена.
disabledtrueВимикає модуль pijul.

Pulumi

Модуль pulumi показує імʼя поточного користувача та версію обраного Pulumi Stack.

TIP

Стандартно версія Pulumi не показується, через те що для цього потрібно набагато більше часу ніж на завантаження більшості втулків (~70ms). Якщо ви все ще хочете увімкнути показ версії, дивіться приклад нижче.

Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • У поточній теці є або Pulumi.yaml або Pulumi.yml
  • Батьківська тека містить або Pulumi.yaml або Pulumi.yml, якщо для search_upwards не встановлено значення false

Параметри

ПараметрСтандартноОпис
format'via [$symbol($username@)$stack]($style) 'Формат рядка модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol' 'Формат рядка перед стеком Pulumi.
style'bold 5'Стиль модуля.
search_upwardstrueДозволяє шукати файли налаштування pulumi у батьківських теках.
disabledfalseВимикає модуль pulumi.

Змінні

ЗміннаПрикладОпис
versionv0.12.24Версія pulumi
stackdevПоточний стек Pulumi
usernamealiceПоточне імʼя користувача Pulumi
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

З версією Pulumi

toml
# ~/.config/starship.toml

[pulumi]
format = '[🛥 ($version )$stack]($style) '

Без версії Pulumi

toml
# ~/.config/starship.toml
[pulumi]
symbol = '🛥 '
format = '[$symbol$stack]($style) '

PureScript

Модуль purescript показує поточну встановлену версію PureScript. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл spago.dhall
  • Поточна тека містить файл spago.yaml
  • Поточна тека містить файл spago.lock
  • Поточна тека містить файли з розширенням .purs

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'<=> 'Символ, який знаходиться перед версією PureScript.
detect_extensions['purs']Які розширення повинні запускати цей модуль.
detect_files['spago.dhall', 'spago.yaml', 'spago.lock']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold white'Стиль модуля.
disabledfalseВимикає модуль purescript.

Змінні

ЗміннаПрикладОпис
version0.13.5Версія purescript
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[purescript]
format = 'via [$symbol$version](bold white)'

Python

Модуль python показує поточну встановлену версію Python і поточне віртуальне середовище Python, якщо воно активоване.

Якщо pyenv_version_name має значення true, показуватиметься назва версії pyenv. В іншому випадку буде показано номер версії з python --version.

Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл .python-version
  • Поточна тека містить файл Pipfile
  • Поточна тека містить файл __init__.py
  • Поточна тека містить файл pyproject.toml
  • Поточна тека містить файл requirements.txt
  • Поточна тека містить файл setup.py
  • Поточна тека містить файл tox.ini
  • Поточна тека містить файл pixi.toml
  • Поточна тека містить файл .py.
  • Поточна тека містить файли з розширенням .ipynb.
  • Віртуальне середовище активовано

Параметри

ПараметрСтандартноОпис
format'via [${symbol}${pyenv_prefix}(${version} )(\($virtualenv\) )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🐍 'Формат рядка, що представляє символ Python
style'yellow bold'Стиль модуля.
pyenv_version_namefalseВикористовувати pyenv для отримання версії Python
pyenv_prefix'pyenv'Префікс перед версією pyenv, показується якщо pyenv використовується
python_binary['python', 'python3', 'python2']Налаштовує бінарні файли python, який Starship буде використовувати для отримання версії.
detect_extensions['py', 'ipynb']Які розширення повинні запускати цей модуль
detect_files['.python-version', 'Pipfile', '__init__.py', 'pyproject.toml', 'requirements.txt', 'setup.py', 'tox.ini', 'pixi.toml']Назви файлів, які активують модуль
detect_folders[]Назви тек, що активують модуль
disabledfalseВимикає модуль python.

TIP

Змінна python_binary приймає як рядок, так і список рядків. Starship спробує запустити кожен бінарний файл, поки це не дасть результат. Зауважте, що можна змінити двійковий файл, який використовується Starship, щоб отримати версію Python, а не параметрів, які використовуються.

Стандартні значення та порядок для python_binary було вибрано так, щоб спочатку ідентифікувати версію Python у середовищах virtualenv/conda (які наразі все ще додають python, незалежно від того, чи вказує він на python3 чи на python2). Це може мати побічний ефект: якщо у вас все ще встановлено системний Python 2, він може бути обраний перед будь-яким Python 3 (принаймні в дистрибутивах Linux, які завжди містять символічне посилання /usr/bin/python на Python 2). Якщо ви більше не працюєте з Python 2, але не можете видалити системний Python 2, змінивши його на 'python3', ви приховаєте будь-яку версію Python 2, див. приклад нижче.

Змінні

ЗміннаПрикладОпис
version'v3.8.1'Версія python
symbol'🐍 'Віддзеркалює значення параметра symbol
style'yellow bold'Віддзеркалює значення параметра style
pyenv_prefix'pyenv 'Віддзеркалює значення параметра pyenv_prefix
virtualenv'venv'Назва virtualenv

Приклад

toml
# ~/.config/starship.toml

[python]
symbol = '👾 '
pyenv_version_name = true
toml
# ~/.config/starship.toml

[python]
# Використання лише `python3` для отримання версії.
python_binary = 'python3'
toml
# ~/.config/starship.toml

[python]
# Не запускати файли з розширенням py
detect_extensions = []

Quarto

Модуль quarto показує поточну встановлену версію Quarto, що використовується в проєкті.

Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл _quarto.yml
  • Поточна тека містить файл .qmd

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'⨁ 'Формат рядка, що представляє символ Quarto
style'bold #75AADB'Стиль модуля.
detect_extensions['.qmd']Які розширення повинні запускати цей модуль.
detect_files['_quarto.yml']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
disabledfalseВимикає модуль quarto.

Змінні

ЗміннаПрикладОпис
version1.4.549Версія quarto
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

R

Модуль rlang показує поточну встановлену версію R. Модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файли з розширенням .R.
  • Поточна тека містить файли з розширенням .Rd.
  • Поточна тека містить файли з розширенням .Rmd.
  • Поточна тека містить файли з розширенням .Rproj.
  • Поточна тека містить файли з розширенням .Rsx.
  • Поточна тека містить файл .Rprofile
  • Поточна тека містить файл .Rproj.user

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'📐'Формат рядка, що представляє символ R.
style'blue bold'Стиль модуля.
detect_extensions['R', 'Rd', 'Rmd', 'Rproj', 'Rsx']Які розширення повинні запускати цей модуль
detect_files['.Rprofile']Назви файлів, які активують модуль
detect_folders['.Rproj.user']Назви тек, що активують модуль
disabledfalseВимикає модуль r.

Змінні

ЗміннаПрикладОпис
versionv4.0.5Версія R
symbolВіддзеркалює значення параметра symbol
style'blue bold'Віддзеркалює значення параметра style

Приклад

toml
# ~/.config/starship.toml

[rlang]
format = 'with [📐 $version](blue bold) '

Raku

Модуль raku показує поточну встановлену версію Raku. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл META6.json
  • Поточна тека містить файли .p6, .pm6, .raku, .rakumod або .pod6

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version-$vm_version )]($style)'Формат рядка модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🦋 'Символ, який знаходиться перед версією Raku
detect_extensions['p6', 'pm6', 'pod6', 'raku', 'rakumod']Які розширення повинні запускати цей модуль.
detect_files['META6.json']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold 149'Стиль модуля.
disabledfalseВимикає модуль raku.

Змінні

ЗміннаПрикладОпис
versionv6.dВерсія raku
vm_versionmoarВерсія VM raku
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

Приклад

toml
# ~/.config/starship.toml

[raku]
format = 'via [🦪 $version]($style) '

Red

Модуль red показує поточну встановлену версію Red. Модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файли .red або .reds

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🔺 'Формат рядка, що представляє символ Red.
detect_extensions['red']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'red bold'Стиль модуля.
disabledfalseВимикає модуль red.

Змінні

ЗміннаПрикладОпис
versionv2.5.1Версія red
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[red]
symbol = '🔴 '

Ruby

Модуль ruby показує поточну встановлену версію Ruby. Модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл Gemfile
  • Поточна тека містить файл .ruby-version
  • Поточна тека містить файл .rb
  • Встановлено змінні середовища RUBY_VERSION або RBENV_VERSION

Starship отримує поточну версію Ruby командою ruby -v.

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'💎 'Формат рядка, що представляє символ Ruby.
detect_extensions['rb']Які розширення повинні запускати цей модуль.
detect_files['Gemfile', '.ruby-version']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
detect_variables['RUBY_VERSION', 'RBENV_VERSION']Які змінні середовища повинні запускати цей модуль.
style'bold red'Стиль модуля.
disabledfalseВимикає модуль ruby.

Змінні

ЗміннаПрикладОпис
versionv2.5.1Версія ruby
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style
gemsettestОпціонально, отримує назву RVM gemset.

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[ruby]
symbol = '🔺 '

Rust

Модуль rust показує поточну встановлену версію Rust. Модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл Cargo.toml
  • Поточна тека містить файли з розширенням .rs

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🦀 'Формат рядка, що представляє символ Rust
detect_extensions['rs']Які розширення повинні запускати цей модуль.
detect_files['Cargo.toml']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold red'Стиль модуля.
disabledfalseВимикає модуль rust.

Змінні

ЗміннаПрикладОпис
versionv1.43.0-nightlyВерсія rustc
numver1.51.0Числовий компонент версії rustc
toolchainbetaВерсія toolchain
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[rust]
format = 'via [⚙️ $version](red bold)'

Scala

Модуль scala показує поточну встановлену версію Scala. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файли build.sbt, .scalaenv або .sbtenv
  • Поточна тека містить файли .scala або .sbt
  • В поточній теці є тека .metals

Параметри

ПараметрСтандартноОпис
format'via [${symbol}(${version} )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
detect_extensions['sbt', 'scala']Які розширення повинні запускати цей модуль.
detect_files['.scalaenv', '.sbtenv', 'build.sbt']Які імена файлів мають запускати цей модуль.
detect_folders['.metals']Які теки мають запускати цей модуль.
symbol'🆂 'Формат рядка, що представляє символ Scala.
style'red dimmed'Стиль модуля.
disabledfalseВимикає модуль scala.

Змінні

ЗміннаПрикладОпис
version2.13.5Версія scala
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[scala]
symbol = '🌟 '

Shell

Модуль shell показує індикатор поточної оболонки.

TIP

Цей модуль типово є вимкненим. Щоб його увімкнути, встановіть значення параметра disabled в false у вашому файлі налаштувань.

Параметри

ПараметрСтандартноОпис
bash_indicator'bsh'Формат рядка, що використовується для bash.
fish_indicator'fsh'Формат рядка, що використовується для fish.
zsh_indicator'zsh'Формат рядка, що використовується для zsh.
powershell_indicator'psh'Формат рядка, що використовується для powershell.
pwsh_indicatorФормат рядка, що використовується для pwsh. Типове значення віддзеркалює значення powershell_indicator.
ion_indicator'ion'Формат рядка, що використовується для ion.
elvish_indicator'esh'Формат рядка, що використовується для elvish.
tcsh_indicator'tsh'Формат рядка, що використовується для tcsh.
xonsh_indicator'xsh'Формат рядка, що використовується для xonsh.
cmd_indicator'cmd'Формат рядка, що використовується для cmd.
nu_indicator'nu'Формат рядка, що використовується для nu.
unknown_indicator''Типове значення, що буде показане, якщо оболонка не визначена.
format'[$indicator]($style) 'Формат модуля.
style'white bold'Стиль модуля.
disabledtrueВимикає модуль shell.

Змінні

ЗміннаСтандартноОпис
indicatorВіддзеркалює значення indicator для поточної оболонки.
style*Віддзеркалює значення параметра style.

*: Ця змінна може бути використана лише як частина стилю рядка

Приклади

toml
# ~/.config/starship.toml

[shell]
fish_indicator = '󰈺 '
powershell_indicator = '_'
unknown_indicator = 'mystery shell'
style = 'cyan bold'
disabled = false

SHLVL

Модуль shlvl показує поточний SHLVL ('shell level') змінну оточення, якщо він встановлений на число і збігається або перевищує вказаний поріг.

Параметри

ПараметрСтандартноОпис
threshold2Граничне значення для показу.
format'[$symbol$shlvl]($style) 'Формат модуля.
symbol'↕️ 'Символ, який використовується для показу SHLVL.
repeatfalseПовторно показує symbol в кількості зазначеній у SHLVL.
repeat_offset0Зменшує кількість разів, коли symbol повторюється використовуючи значення offset
style'bold yellow'Стиль модуля.
disabledtrueВимикає модуль shlvl.

Змінні

ЗміннаПрикладОпис
shlvl3Поточне значення SHLVL
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[shlvl]
disabled = false
format = '$shlvl level(s) down'
threshold = 3

Використовуючи repeat та repeat_offset разом з модулем character, ви можете отримати рядок виду ❯❯❯, де останній символ має колір відповідно до статусу виконання останньої команди, а символи, що йому передують зазначаються у shlvl.

toml
# ~/.config/starship.toml

[shlvl]
disabled = false
format = '[$symbol$shlvl]($style)'
repeat = true
symbol = '❯'
repeat_offset = 1
threshold = 0

Singularity

Модуль singularity показує поточний образ Singularity, якщо ви всередині контейнера і $SINGULARITY_NAME встановлено.

Параметри

ПараметрСтандартноОпис
format'[$symbol\[$env\]]($style) 'Формат модуля.
symbol''Формат рядка, що показується перед назвою образу.
style'bold dimmed blue'Стиль модуля.
disabledfalseВимикає модуль singularity.

Змінні

ЗміннаПрикладОпис
envcentos.imgПоточний образ Singularity
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[singularity]
format = '[📦 \[$env\]]($style) '

Solidity

Модуль solidity показує поточну версію Solidity. Модуль буде показано, якщо буде виконуються наступні умови:

  • Поточна тека містить файл .sol

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${major}.${minor}.${patch}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'S 'Формат рядка, що представляє символ Solidity
`compiler['solc']Стандартний компілятор Solidity.
detect_extensions['sol']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold blue'Стиль модуля.
disabledfalseВмикає цей модуль.

Змінні

ЗміннаПрикладОпис
versionv0.8.1Версія solidity
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml
[solidity]
format = "via [S $version](blue bold)"

Spack

Модуль spack показує інформацію про поточне оточення Spack, якщо змінна $SPACK_ENV встановлена.

Параметри

ПараметрСтандартноОпис
truncation_length1Кількість тек, до яких має бути скорочений шлях до середовища оточення. 0 – означає без скорочення. Також подивіться модуль directory.
symbol'🅢 'Символ що передує назві оточення.
style'bold blue'Стиль модуля.
format'via [$symbol$environment]($style) 'Формат модуля.
disabledfalseВимикає модуль spack.

Змінні

ЗміннаПрикладОпис
environmentastronautsПоточне середовище spack
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[spack]
format = '[$symbol$environment](dimmed blue) '

Status

Модуль status показує код завершення роботи попередньої команди. Якщо $success_symbol пустий (типово), модуль буде показаний тільки якщо код виходу не 0. Код status буде перетворений у 32-бітне ціле число.

TIP

Цей модуль типово є вимкненим. Щоб його увімкнути, встановіть значення параметра disabled в false у вашому файлі налаштувань.

Параметри

ПараметрСтандартноОпис
format'[$symbol$status]($style) 'Формат модуля
symbol'❌'Символ, що показується у випадку помилки
success_symbol''Символ, що показується після успішного завершення попередньої команди
not_executable_symbol'🚫'Символ, що показується у випадку виконати файл, який не є виконуваним
not_found_symbol'🔍'Символ, що показується, коли команду не знайдено
sigint_symbol'🧱'Символ, що показується для SIGINT (Ctrl + c)
signal_symbol'⚡'Символ для будь-якого сигналу
style'bold red'Стиль модуля.
recognize_signal_codetrueВмикає сигнал на код виходу
map_symbolfalseВмикає символ на код виходу
pipestatusfalseВмикає звітування про pipestatus
pipestatus_separator|Символ, що використовується для розділення сегментів конвеєра (підтримує форматування)
pipestatus_format'\[$pipestatus\] => [$symbol$common_meaning$signal_name$maybe_int]($style)'Формат модуля, коли команда є конвеєром
pipestatus_segment_formatЯкщо вказано, замінює format під час форматування сегментів конвеєра
disabledtrueВимикає модуль status.

Змінні

ЗміннаПрикладОпис
status127Код виходу останньої команди
hex_status0x7FКод виходу останньої команди в hex
int127Код виходу останньої команди
common_meaningERRORЗначення коду, якщо не сигнал
signal_number9Номер сигналу, що відповідає коду завершення, за наявності
signal_nameKILLНазва сигналу, що відповідає коду виходу лише в тому випадку, якщо його записано
maybe_int7Містить номер коду виходу, коли значення не знайдено
pipestatusПоказує коду виходу конвеєра, доступно тільки в форматі pipestatus_format
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

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

Модуль sudo показує, чи облікові дані sudo зараз є в кеші. Модуль показується лише за наявності даних в кеші.

TIP

Цей модуль типово є вимкненим. Щоб його увімкнути, встановіть значення параметра disabled в false у вашому файлі налаштувань.

Параметри

ПараметрСтандартноОпис
format'[as $symbol]($style)'Формат модуля
symbol'🧙 'Символ, що показується, коли облікові дані є в кеші
style'bold blue'Стиль модуля.
allow_windowsfalseОскільки Windows не має sudo, для цієї Ос модуль типово вимкнено.
disabledtrueВимикає модуль sudo.

Змінні

ЗміннаПрикладОпис
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[sudo]
style = 'bold green'
symbol = '👩‍💻 '
disabled = false
toml
# On windows
# $HOME\.starship\config.toml

[sudo]
allow_windows = true
disabled = false

Swift

Модуль swift показує поточну встановлену версію Swift. Модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл Package.swift
  • Поточна тека містить файли з розширенням .swift

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'🐦 'Формат рядка, що представляє символ Swift
detect_extensions['swift']Які розширення повинні запускати цей модуль.
detect_files['Package.swift']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'bold 202'Стиль модуля.
disabledfalseВимикає модуль swift.

Змінні

ЗміннаПрикладОпис
versionv5.2.4Версія swift
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[swift]
format = 'via [🏎  $version](red bold)'

Terraform

Модуль terraform показує поточну вибрану робочу область Terraform і версію.

TIP

Стандартно версія Terraform не показується, оскільки це повільно для поточних версій Terraform, особливо коли використовується багато втулків. Якщо ви все ще хочете увімкнути показ версії, дивіться приклад нижче.

Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл .terraform
  • Поточна тека містить файли з розширеннями.tf, .tfplan або .tfstate

Параметри

ПараметрСтандартноОпис
format'via [$symbol$workspace]($style) 'Формат рядка модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'💠'Формат рядка, що відображається перед робочою областю terraform.
detect_extensions['tf', 'tfplan', 'tfstate']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders['.terraform']В яких теках цей модуль має запускатись.
style'bold 105'Стиль модуля.
disabledfalseВимикає модуль terraform.

Змінні

ЗміннаПрикладОпис
versionv0.12.24Версія terraform
workspacedefaultПоточна робоча область Terraform
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

За версією Terraform

toml
# ~/.config/starship.toml

[terraform]
format = '[🏎💨 $version$workspace]($style) '

Без версії Terraform

toml
# ~/.config/starship.toml

[terraform]
format = '[🏎💨 $workspace]($style) '

Time

Модуль time показує поточний місцевий час. Значення format використовується крейтом chrono для визначення формату показу часу. Перегляньте документацію chrono strftime, щоб побачити, які параметри доступні.

TIP

Цей модуль типово є вимкненим. Щоб його увімкнути, встановіть значення параметра disabled в false у вашому файлі налаштувань.

Параметри

ПараметрСтандартноОпис
format'at [$time]($style) 'Формат рядка модуля.
use_12hrfalseВмикає 12-годинний формат
time_formatдивіться нижчеФормат chrono використовується для форматування часу.
style'bold yellow'Стиль модуля time
utc_time_offset'local'Встановлює зсув від UTC. Діапазон від -24 < x < 24. Дозволяє часові пояси із сувом 30/45 хвилин.
disabledtrueВимикає модуль time.
time_range'-'Встановлює діапазон часу, протягом якого модуль показується. Час має бути зазначений у 24-годинному форматі

Якщо use_12hr є true, то стандартно time_format — '%r'. В іншому випадку стандартне значення — '%T'. Налаштований вручну time_format має перевагу над параметром use_12hr.

Змінні

ЗміннаПрикладОпис
time13:08:10Поточний час.
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

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'

Typst

Модуль typst показує поточну встановлену версію Typst, що використовується в проєкті.

Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл template.typ
  • Поточна тека містить файл .typ

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol't 'Формат рядка, що представляє символ Typst
style'bold #0093A7'Стиль модуля.
detect_extensions['.typ']Які розширення повинні запускати цей модуль.
detect_files['template.typ']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
disabledfalseВимикає модуль typst.

Змінні

ЗміннаПрикладОпис
versionv0.9.0Версія typst, псевдонім для typst_version
typst_versiondefaultПоточна версія Typest
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Username

Модуль username показує імʼя активного користувача. Модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточний користувач має права суперкористувача
  • Поточний користувач не є таким же, як той, який увійшов до системи
  • Користувач зараз підключений через SSH
  • Змінна show_always встановлена в true
  • Масив detect_env_vars містить принаймні одну змінну середовища, яку було встановлено

TIP

Модуль виявляє підключення SSH перевіряючи змінні середовища SSH_CONNECTION, SSH_CLIENT і SSH_TTY. Якщо ваш хост SSH не налаштував ці змінні, одним зі способів розвʼязання проблеми є встановлення для однієї з них фіктивного значення.

Параметри

ПараметрСтандартноОпис
style_root'bold red'Стиль, який використовується коли користувач є root/admin.
style_user'bold yellow'Стиль для звичайних користувачів.
detect_env_vars[]Які змінні середовища повинні запускати цей модуль.
format'[$user]($style) in 'Формат модуля.
show_alwaysfalseЗавжди показувати модуль username.
disabledfalseВимикає модуль username.
aliases{}Переводить системні імена користувачів у щось інше.

Змінні

ЗміннаПрикладОпис
style'red bold'Віддзеркалює значення параметра style_root коли користувач root, і style_user в іншому випадку.
user'matchai'Поточний користувач.

Приклад

Завжди показувати username

toml
# ~/.config/starship.toml

[username]
style_user = 'white bold'
style_root = 'black bold'
format = 'user: [$user]($style) '
disabled = false
show_always = true
aliases = { "corpuser034g" = "matchai" }

Vagrant

Модуль vagrant показує поточну встановлену версію Vagrant. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл Vagrantfile

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'⍱ 'Формат рядка, що представляє символ Vagrant.
detect_extensions[]Які розширення повинні запускати цей модуль.
detect_files['Vagrantfile']Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'cyan bold'Стиль модуля.
disabledfalseВимикає модуль vagrant.

Змінні

ЗміннаПрикладОпис
versionVagrant 2.2.10Версія Vagrant
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[vagrant]
format = 'via [⍱ $version](bold white) '

V

Модуль vlang показує поточну встановлену версію V. Типово, модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файли з розширенням .v
  • Поточна тека містить файли v.mod, vpkg.json або .vpkg-lock.json

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'V 'Формат рядка, що представляє символ V
detect_extensions['v']Які розширення повинні запускати цей модуль.
detect_files['v.mod', 'vpkg.json', '.vpkg-lock.json' ]Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.
style'blue bold'Стиль модуля.
disabledfalseВимикає модуль vlang.

Змінні

ЗміннаПрикладОпис
versionv0.2Версія v
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

Приклад

toml
# ~/.config/starship.toml
[vlang]
format = 'via [V $version](blue bold) '

VCSH

Модуль vcsh показує поточний репозиторій VCSH. Модуль показується лише в тому випадку, якщо репозиторій використовується.

Параметри

ПараметрСтандартноОпис
symbol''Символ, який знаходиться перед назвою репозиторію.
style'bold yellow'Стиль модуля.
format'vcsh [$symbol$repo]($style) 'Формат модуля.
disabledfalseВимикає модуль vcsh.

Змінні

ЗміннаПрикладОпис
repodotfiles якщо в VCSH repo з іменем dotfilesНазва поточного репозиторію
symbolВіддзеркалює значення параметра symbol
style*black bold dimmedВіддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[vcsh]
format = '[🆅 $repo](bold blue) '

Zig

Модуль zig показує поточну встановлену версію Zig. Модуль показується, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл .zig

Параметри

ПараметрСтандартноОпис
format'via [$symbol($version )]($style)'Формат модуля.
version_format'v${raw}'Формат версії. Доступні змінні raw, major, minor та patch
symbol'↯ 'Символ, який знаходиться перед версією Zig.
style'bold yellow'Стиль модуля.
disabledfalseВимикає модуль zig.
detect_extensions['zig']Які розширення повинні запускати цей модуль.
detect_files[]Які імена файлів мають запускати цей модуль.
detect_folders[]В яких теках цей модуль має запускатись.

Змінні

ЗміннаПрикладОпис
versionv0.6.0Версія zig
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Приклад

toml
# ~/.config/starship.toml

[zig]
symbol = '⚡️ '

Власні команди

Модулі custom показують результат виконання певних довільних команд.

Модулі показуються, якщо виконується будь-яка з наступних умов:

  • Поточна тека містить файл, імʼя якого є в detect_files
  • Поточна тека містить теки, імʼя яких вказано в detect_folders
  • Поточна тека містить файл, розширення якого є в detect_extensions
  • Команда when повертає 0
  • Поточна операційна система (std::env::consts::OS) збігається з полем os, якщо визначено.

TIP

Кілька власних модулів можна визначити за допомогою символу ".".

TIP

Порядок в якому власні модулі будуть показуватись може бути встановлений індивідуально додаванням ${custom.foo} до змінної format верхнього рівня (через те, що назви містять точки вам треба використовувати${...}). Типово, модуль custom покаже усі модулі custom, в тому порядку, в якому вони були визначені.

TIP

Квиток #1252 містить приклади власних модулів. Якщо у вас є цікавий приклад ще не розкритий там, не соромтеся, поділитися ним!

Якщо увімкнено unsafe_no_escape або до версії starship v1.20 вивід команди буде виведено без екранування.

Незалежно від результату, який генерує команда, він виводиться в командний рядок у незміненому вигляді. Це означає, що якщо вивід містить специфічні для оболонки інтерпретовані послідовності, вони можуть бути інтерпретовані безпосередньо під час виведення на екран. Залежно від оболонки, це може означати, що, наприклад, рядки, у зворотніх лапках, виконуються оболонкою. Такі послідовності зазвичай залежать від оболонки, наприклад, ви можете написати командний модуль, який пише послідовності для bash, наприклад, \h, але цей модуль не працюватиме в оболонці fish або zsh.

Рядок формату також може містити специфічні послідовності командного рядка, наприклад Bash, Zsh.

Параметри

ПараметрСтандартноОпис
command''Команда, вивід якої потрібно показувати. Команду буде передано до оболонки через stdin.
whenfalseАбо булеве значення (true чи false, без лапок) або команди shell, що використовуються як умова для показу модуля. In case of a string, the module will be shown if the shell returns a 0 status code from executing it.
require_repofalseЯкщо true, модуль буде показано лише в шляхах, що містять репозиторій (git). Цей параметр сам по собі не є достатньою умовою для показу модуля за відсутності інших варіантів.
shellДивіться нижче
description'<custom module>'Опис модуля, який показується під час запуску starship explain.
unsafe_no_escapefalseЯкщо встановлено, виведення команд не екранується від символів, які можуть бути інтерпретовані оболонкою.
detect_files[]Файли, які треба шукати у робочій теці для отримання збігу.
detect_folders[]Теки, які треба шукати у робочій теці для отримання збігу.
detect_extensions[]Розширення файлів, які треба шукати у робочій теці для отримання збігу.
symbol''Символ, який йде перед виводом команди.
style'bold green'Стиль модуля.
format'[$symbol($output )]($style)'Формат модуля.
disabledfalseВимикає показ модулі custom.
osНазва операційної системи, на якій буде показано модуль (unix, linux, macos, windows, … ) Переглянути можливі значення.
use_stdinНеобов’язкове логічне значення, яке перевизначає, чи команди слід пересилати в оболонку через стандартний ввід чи як аргумент. Якщо не встановлено, типово використовується стандартний ввід, якщо оболонка не підтримує його (cmd, nushell). Встановлення цього параметра вимикає обробку специфічних для оболонки аргументів.
ignore_timeoutfalseІгнорує глобальне налаштування command_timeout і продовжує виконувати зовнішні команди, незалежно від того, скільки часу вони вимагають.

Змінні

ЗміннаОпис
outputThe output of command run in shell
symbolВіддзеркалює значення параметра symbol
style*Віддзеркалює значення параметра style

*: Ця змінна може бути використана лише як частина стилю рядка

Власні команди shell

shell приймає непустий список рядків, де:

  • Перший рядок — це шлях до оболонки для виконання команди.
  • Наступні — інші аргументи, що передаються до оболонки.

Якщо не налаштовано, модуль повертатиметься до STARSHIP_SHELL, а потім до «sh» у Linux і «cmd /C» у Windows.

The command (and when, if applicable) will be passed in on stdin.

Якщо shell не вказано або містить тільки один елемент і Starship виявить, що буде використано PowerShell, наступні аргументи будуть автоматично додані: -Noprofile -Command -. Якщо shell не вказано або міститься лише один елемент і Starship виявить, що буде використано Cmd, аргумент/C буде автоматично додано, а stdin буде встановлено у false. Якщо shell не вказано або міститься лише один елемент і Starship виявить, що буде використано Nushell, аргументc буде автоматично додано, а stdin буде встановлено у false. Такої поведінки можна уникнути шляхом явного передавання аргументів до оболонки, наприклад,

toml
shell = ['pwsh', '-Command', '-']

Переконайтеся, що ваша оболонка завершує процеси правильно

Якщо ви вказуєте власну команду, переконайтеся, що стандартний Shell, який використовується starship, буде виконувати команди з чистим (graceful) завершенням, за допомогою параметра shell.

Наприклад, PowerShell потребує параметр -Command для виконання однорядкової команди. Пропуск цього параметра може призвести до рекурсивного циклу starship, де оболонка може спробувати знову завантажити повний профіль середовища з самим starship і, отже, повторно виконати власну команду, потрапивши в нескінченний цикл.

Параметри, подібні до -NoProfile у PowerShell, також рекомендовані для інших оболонок, щоб уникнути додаткового часу завантаження власного профілю під час кожного виклику Starship.

Наразі реалізовано автоматичне виявлення оболонок і правильне додавання параметрів, але можливо, що охоплено не всі оболонки. Будь ласка, сповістіть про проблему з подробицями про термінал та конфігурацію автозапуску, якщо ви зіткнулись з таким сценарієм.

Приклад

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