# Конфигурация ::: tip Подсказка 🔥 Конфигурация все еще находится в стадии разработки. Множество новых опций будут доступны в будущих версиях. ::: Чтобы начать конфигурацию Starship, создайте следующий файл: `~/.config/starship.toml`. ```sh $ mkdir -p ~/.config && touch ~/.config/starship.toml ``` Вся конфигурация Starship выполняется в этом файле [TOML](https://github.com/toml-lang/toml): ```toml # Не добавлять пустую строку в начале ввода add_newline = false # Поменять символ "❯" на символ "➜" [character] # Имя настраемого модуля - "character" symbol = "➜" # Сегменту "symbol" присваеваем значение "➜" # Отключить модуль пакетов, полностью скрывая его из терминала [package] disabled = true ``` Вы можете изменить расположение файла `starship.toml` переменной окружения `STARSHIP_CONFIG`: ```sh export STARSHIP_CONFIG=~/.starship ``` Equivalently in PowerShell (Windows) would be adding this line to your `$PROFILE`: ```ps1 $ENV:STARSHIP_CONFIG = "$HOME\.starship" ``` ### Терминология **Модуль**: Компонент строки, дающий информацию на основе контекстной информации вашей ОС. Например, модуль "nodejs" показывает установленную версию NodeJS на вашем компьютере, если вы находитесь в директории проекта NodeJS. **Сегмент**: Меньшие подкомпоненты, составляющие модуль. Например, сегмент "symbol" в модуле "nodejs" хранит символ, показываемый перед версией NodeJS (⬢, по умолчанию). Вот представление модуля "nodejs". В примере, "symbol" и "version" - его сегменты. Также, каждый модуль имеет префикс и суффикс, являющиеся цветом терминала по умолчанию. ``` [prefix] [symbol] [version] [suffix] "via " "⬢" "v10.4.1" "" ``` ### Стиль строк В Starship, большинство модулей позволяют настроить стили отображения. Это делается записью (обычно называется `style`), которая представляет собой строку, определяющую конфигурацию. Ниже приведены несколько примеров стилей строк, а также, их действия. Подробнее о полном синтаксисе можно прочитать в [расширенном разделе конфигурации](/advanced-config/). - `"fg:green bg:blue"` устанавливает зеленый текст на синем фоне - `"bg:blue fg:bright-green"` устанавливает ярко-зеленый текст на синем фоне - `"bold fg:27"` устанавливает жирный текст с [цветом ANSI](https://i.stack.imgur.com/KTSQa.png) 27 - `"underline bg:#bf5700"` устанавливает подчёркиваемый текст цвета сожженного апельсина - `"bold italic fg:purple"` устанавливает жирный фиолетовый текст - `""` выключает все стили Обратите внимание на то, что, вид стиля зависит от вашего эмулятора терминала. Например, некоторые эмуляторы терминала будут использовать яркие цвета вместо жирного текста, и некоторые цветовые темы используют одинаковые значение для обычных и ярких цветов. Также, чтобы получить курсивный текст, ваш терминал должен поддерживать курсив. ## Командная строка Ниже находится список опций, применяющихся для всей командной строки. ### Опции | Переменная | По умолчанию | Описание | | -------------- | ------------------------------- | -------------------------------------------------------- | | `add_newline` | `true` | Добавление пустой строки перед началом командной строки. | | `prompt_order` | [ссылка](#default-prompt-order) | Настройка порядка появления модулей командной строки. | | `scan_timeout` | `30` | Тайм-аут запуска сканирования файлов (в миллисекундах). | ### Пример ```toml # ~/.config/starship.toml # Не добавлять пустую строку перед началом командной строки add_newline = false # Перезаписать default_prompt_order и использовать пользовательский prompt_order prompt_order=["rust","line_break","package","line_break","character"] # Ждать 10 миллисекунд перед запуском сканирования файлов. scan_timeout = 10 ``` ### Порядок модулей командной строки по умолчанию По умолчанию, `prompt_order` определеят порядок появления модулей командной строки, если `prompt_order` пустой или не объявлен. Значение по умолчанию: ```toml prompt_order = [ "username", "hostname", "kubernetes", "directory", "git_branch", "git_commit", "git_state", "git_status", "hg_branch", "docker_context", "package", "dotnet", "elixir", "elm", "erlang", "golang", "haskell", "java", "julia", "nodejs", "ocaml", "php", "purescript", "python", "ruby", "rust", "terraform", "zig", "nix_shell", "conda", "memory_usage", "aws", "env_var", "crystal", "cmd_duration", "custom", "line_break", "jobs", "battery", "time", "character", ] ``` ## AWS Модуль `aws` показывает текущий регион и профиль AWS. Основано на `AWS_REGION`, `AWS_DEFAULT_REGION`, и `AWS_PROFILE` переменных окружения и файле`~/.aws/config`. При использовании [aws-vault](https://github.com/99designs/aws-vault) профиль читается из переменной среды `AWS_VAULT`. ### Опции | Переменная | По умолчанию | Описание | | ----------------- | --------------- | ---------------------------------------------------------------- | | `symbol` | `"☁️ "` | Символ перед отображением текущего профиля AWS. | | `displayed_items` | `all` | Выбор элементов. Возможные значения [`all`, `profile`, `region`] | | `region_aliases` | | Таблица региона псевдонимов, отображаемая вместе с именем AWS. | | `style` | `"bold yellow"` | Стиль модуля. | | `disabled` | `false` | Отключение модуля `AWS`. | ### Пример ```toml # ~/.config/starship.toml [aws] style = "bold blue" symbol = "🅰 " displayed_items = "region" [aws.region_aliases] ap-southeast-2 = "au" us-east-1 = "va" ``` ## Батарея Модуль `battery` показывает насколько заряжена батарея девайса и статус зарядки на данный момент. Модуль виден только, если заряд батареи устройства меньше 10%. ### Опции | Переменная | По умолчанию | Описание | | -------------------- | ------------------------ | ----------------------------------------------- | | `full_symbol` | `"•"` | Символ, отображаемый при полной батарее. | | `charging_symbol` | `"⇡"` | Символ, показываемый при зарядке аккумулятора. | | `discharging_symbol` | `"⇣"` | Символ, показываемый при разрядке аккумулятора. | | `display` | [link](#battery-display) | Порог отображения и стиль для модуля. | | `disabled` | `false` | Отключает модуль `battery`. |
Также, есть опции для некоторых нетипичных состояний батареи. | Переменная | Описание | | ---------------- | ------------------------------------------------------- | | `unknown_symbol` | Символ, отображаемый при неизвестном состоянии батареи. | | `empty_symbol` | Символ, отображаемый при пустом состоянии батареи. | Примечание: Индикатор батареи будет скрыт при состоянии `unknown` или `empty`, если вы не указали параметр в настройках.
### Пример ```toml # ~/.config/starship.toml [battery] full_symbol = "🔋" charging_symbol = "⚡️" discharging_symbol = "💀" ``` ### Отображение батареи Параметр `display` используется для определения того, когда индикатор батареи должен быть показан (threshhold) и как он выглядит (style). Если `display` не предоставлено. Значение по умолчанию: ```toml [[battery.display]] threshold = 10 style = "bold red" ``` #### Опции Опция `display` представляет собой массив следующей таблицы. | Переменная | Описание | | ----------- | -------------------------------------------------------- | | `threshold` | Верхняя граница опции отображения. | | `style` | Используемый стиль, если используется опция отображения. | #### Пример ```toml [[battery.display]] # стиль "bold red" (жирный красный) если заряд между 0% и 10% threshold = 10 style = "bold red" [[battery.display]] # стиль "bold yellow" (жирный желтый) если заряд между 10% и 30% threshold = 30 style = "bold yellow" # когда заряд батареи больше 30%, индикатор батареи скрыт ``` ## Символ Модуль `character` показывает символ (обычно, стрелка) рядом с вводимым текстом в терминале. Символ показывает, была ли последняя команда успешной или нет. Это возможно двумя способами: меняя цвет (красный/зеленый) или изменяя его форму (❯/✖). Последнее будет исполняться только в том случае, если переменной `use_symbol_for_status` установлено значение `true`. ### Опции | Переменная | По умолчанию | Описание | | ----------------------- | -------------- | ----------------------------------------------------------------------------------------------------------- | | `symbol` | `"❯"` | Символ, используемый перед вводом текста в командной строке. | | `error_symbol` | `"✖"` | Символ, используемый перед вводом текста, если предыдущая команда не удалась. | | `use_symbol_for_status` | `false` | Показывает статус ошибки путем изменения символа. | | `vicmd_symbol` | `"❮"` | Символ, используемый перед вводом текста в строке, если командная строка находится в нормальном режиме vim. | | `style_success` | `"bold green"` | Используемый стиль, если последняя команда была успешной. | | `style_failure` | `"bold red"` | Используемый стиль, если последняя команда была не успешной. | | `disabled` | `false` | Отключает модуль `character`. | ### Пример ```toml # ~/.config/starship.toml [character] symbol = "➜" error_symbol = "✗" use_symbol_for_status = true ``` ## Длительность команды Модуль `cmd_duration` показывает время исполнения последней команды. Модуль будет показан только, если команда заняла более двух секунд, или если задан параметр `min_time`. ::: warning Не подключайте ловушку DEBUG к Bash Если вы испоьзуете Starship в `bash`, не подключайте ловушку `DEBUG` после запуска `eval $(starship init $0)`, иначе этот модуль сломается. ::: Пользователи Bash, которым нужна функциональность, подобная preexec, могут использовать [фреймворк bash_preexec от rcaloras](https://github.com/rcaloras/bash-preexec). Просто определите массивы `preexec_functions` и `precmd_functions` перед запуском `eval $(starship init $0)`, а затем продолжайте нормально. ### Опции | Переменная | По умолчанию | Описание | | ------------------- | --------------- | -------------------------------------------------------------------- | | `min_time` | `2_000` | Кратчайшая продолжительность для показа времени (в миллисекундах). | | `show_milliseconds` | `false` | Показывать миллисекунды в дополнение к секундам в продолжительности. | | `prefix` | `took` | Префикс, отображаемый перед продолжительностью команды. | | `style` | `"bold yellow"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `cmd_duration`. | ### Пример ```toml # ~/.config/starship.toml [cmd_duration] min_time = 500 prefix = "underwent " ``` ## Конда Модуль `conda` показывает текущее окружение conda, если `$CONDA_DEFAULT_ENV` присвоено значение. ::: tip Это не подавляет модификатор командной строки самой conda. Возможно, вы захотите запустить `conda config --set changeps1 False`. ::: ### Опции | Переменная | По умолчанию | Описание | | ------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `truncation_length` | `1` | Количество каталогов, в которых путь к окружению должен быть усечен, если окружение было создано через `conda create -p [path]`. `0` означает без усечения. Также смотрите модуль [`directory`](#directory). | | `symbol` | `"C "` | Символ перед названием окружения. | | `style` | `"bold green"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `conda`. | ### Пример ```toml # ~/.config/starship.toml [conda] style = "dimmed green" ``` ## Crystal Модуль `crystal` показывает установленную версию Crystal. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `shard.yml` - Текущий каталог содержит файл `.cr` ### Опции | Переменная | По умолчанию | Описание | | ---------- | ------------ | ------------------------------------------------------- | | `symbol` | `"🔮 "` | Символ, используемый перед отображением версии crystal. | | `style` | `"bold red"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `crystal`. | ### Пример ```toml # ~/.config/starship.toml [crystal] symbol = "✨ " style = "bold blue" ``` ## Каталог Модуль `directory` показывает путь к вашей текущей директории, усеченной до трех родительских папок. Ваш каталог также будет отсечен до корня git репозитория, в котором вы находитесь. При использовании стиля оболочки fish, вместо скрытия усеченного каталога, вы увидите укороченное имя каталога, зависимое от числа символов вы установите для этой опции. Например, возьмем `~/Dev/Nix/nixpkgs/pkgs` где `nixpkgs` является корневым репозиторием, и в опции установлено `1`. Вы увидите `~/D/N/nixpkgs/pkgs`, а до этого было бы `nixpkgs/pkgs`. ### Опции | Переменная | По умолчанию | Описание | | ------------------- | ------------- | ---------------------------------------------------------------------------- | | `truncation_length` | `3` | Количество родительских папок, к которым должен быть усечен текущий каталог. | | `truncate_to_repo` | `true` | Следует или нет обрезать до корня репозитория git, в котором вы находитесь. | | `prefix` | `"in "` | Префикс, отображаемый перед папкой. | | `style` | `"bold cyan"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `directory`. |
Этот модуль имеет несколько расширенных опций конфигурации, которые контролируют отображение каталога. | Переменная | По умолчанию | Описание | | --------------------------- | ------------ | --------------------------------------------------------------------------------- | | `fish_style_pwd_dir_length` | `0` | Количество символов, используемых при использовании логики создания пути из fish. | | `use_logical_path` | `true` | Отображает логический путь от оболочки (`PWD`) вместо пути от ОС. | `fish_style_pwd_dir_length` взаимодействует со стандартными параметрами усечения, которые могут сначала показаться странными: если он не равен нулю, элементы пути, который обычно усекается, вместо этого отображаются с указанным количеством символов. For example, the path `/built/this/city/on/rock/and/roll`, which would normally be displayed as as `rock/and/roll`, would be displayed as `/b/t/c/o/rock/and/roll` with `fish_style_pwd_dir_length = 1`--the path components that would normally be removed are displayed with a single character. For `fish_style_pwd_dir_length = 2`, it would be `/bu/th/ci/on/rock/and/roll`.
### Пример ```toml # ~/.config/starship.toml [directory] truncation_length = 8 ``` ## Контекст Docker Модуль `docker_context` показывает текущий активный [контекст Docker](https://docs.docker.com/engine/context/working-with-contexts/), если он не установлен как `default`. ### Опции | Переменная | По умолчанию | Описание | | ----------------- | ------------- | --------------------------------------------------------------------------------------- | | `symbol` | `"🐳 "` | The symbol used before displaying the Docker context . | | `only_with_files` | `false` | Only show when there's a `docker-compose.yml` or `Dockerfile` in the current directory. | | `style` | `"bold blue"` | Стиль модуля. | | `disabled` | `true` | Disables the `docker_context` module. | ### Пример ```toml # ~/.config/starship.toml [docker_context] symbol = "🐋 " ``` ## Dotnet Модуль `dotnet` показывает соответствующую версию .NET Core SDK для текущего каталога. Если SDK был закреплен в текущей директории, будет показана закрепленная версия. В противном случае модуль отображает последнюю установленную версию SDK. Этот модуль будет показан только, когда один из следующих файлов присутствует в текущей директории: `global.json`, `project.json`, `*.sln`, `*.csproj`, `*.fsproj`, `*.xproj`. Также, для правильного использования, нужны инструменты командной строки .NET Core. Внутренне этот модуль использует свой собственный механизм определения версий. Обычно он в два раза быстрее, чем `dotnet --version`, но он может показывать неправильную версию, если ваш .NET проект имеет необычный формат каталога. Если точность важнее, чем скорость, вы можете отключить механизм опцией `heuristic = false` в настройках модуля. ### Опции | Переменная | По умолчанию | Описание | | ----------- | ------------- | ----------------------------------------------------------------- | | `symbol` | `"•NET "` | Символ перед отображением текущей версии dotnet. | | `heuristic` | `true` | Использовать быстрое определение версии, для сохранения скорости. | | `style` | `"bold blue"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `dotnet`. | ### Пример ```toml # ~/.config/starship.toml [dotnet] symbol = "🥅 " style = "green" heuristic = false ``` ## Elixir Модуль `elixir` показывает установленную версию Elixir и Erlang/OTP. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `mix.exs`. ### Опции | Переменная | По умолчанию | Описание | | ---------- | --------------- | ------------------------------------------------------------- | | `symbol` | `"💧 "` | Символ, используемый перед отображением версии Elixir/Erlang. | | `style` | `"bold purple"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `elixir`. | ### Пример ```toml # ~/.config/starship.toml [elixir] symbol = "🔮 " ``` ## Elm Модуль `elm` показывает установленную версию Elm. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `elm.json` - Текущий каталог содержит файл `elm-package.json` - Текущий каталог содержит файл `.elm-version` - Текущий каталог содержит папку `elm-stuff` - Текущий каталог содержит файлы `*.elm` ### Опции | Переменная | По умолчанию | Описание | | ---------- | ------------- | --------------------------------------------------- | | `symbol` | `"🌳 "` | Символ, используемый перед отображением версии Elm. | | `style` | `"bold cyan"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `elm`. | ### Пример ```toml # ~/.config/starship.toml [elm] symbol = " " ``` ## Переменная Окружения Модуль `env_var` отображает текущее значение выбранной переменной окружения. Модуль будет показан только в том случае, если любое из следующих условий соблюдено: - Опция `variable` соответствует существующей переменной среды - Опция `variable` не определена, но определена опция `default` ### Опции | Переменная | По умолчанию | Описание | | ---------- | --------------------- | ------------------------------------------------------------------ | | `symbol` | | Символ, используемый перед отображением значения переменной. | | `variable` | | Отображаемая переменная окружения. | | `default` | | Значение отображаемое, когда выбранная переменная не определена. | | `prefix` | `""` | Префикс, отображаемый, непосредственно перед значением переменной. | | `suffix` | `""` | Префикс, отображаемый, непосредственно после значением переменной. | | `style` | `"dimmed bold black"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `env_var`. | ### Пример ```toml # ~/.config/starship.toml [env_var] variable = "SHELL" default = "unknown shell" ``` ## Erlang The `erlang` module shows the currently installed version of Erlang/OTP. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `rebar.config`. - Текущий каталог содержит файл `erlang.mk`. ### Опции | Переменная | По умолчанию | Описание | | ---------- | ------------ | -------------------------------------------------------- | | `symbol` | `"🖧 "` | The symbol used before displaying the version of Erlang. | | `style` | `bold red` | The style for this module. | | `disabled` | `false` | Disables the `erlang` module. | ### Пример ```toml # ~/.config/starship.toml [erlang] symbol = "e " ``` ## Ветвь Git Модуль `git_branch` показывает активную ветку репозитория в вашем текущей директории. ### Опции | Переменная | По умолчанию | Описание | | ------------------- | --------------- | --------------------------------------------------------------------------------------------------------------- | | `symbol` | `" "` | Символ, используемый перед именем ветки репозитория в вашей текущей директории. | | `truncation_length` | `2^63 - 1` | Отрезает ветку git до X графемов | | `truncation_symbol` | `"…"` | Символ, используемый для обозначения усечения названия ветки. Вы можете использовать "", чтобы не видеть символ | | `style` | `"bold purple"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `git_branch`. | ### Пример ```toml # ~/.config/starship.toml [git_branch] symbol = "🌱 " truncation_length = 4 truncation_symbol = "" ``` ## Коммит Git Модуль `git_commit` показывает хэш текущего коммита репозитория в вашем текущем каталоге. ### Опции | Переменная | По умолчанию | Описание | | -------------------- | -------------- | ----------------------------------------------------------------------- | | `commit_hash_length` | `7` | Длина отображаемого хэша коммита git. | | `prefix` | `"("` | Префикс, отображаемый сразу после коммита. | | `suffix` | `")"` | Суффикс, отображаемый сразу после коммита git. | | `style` | `"bold green"` | Стиль модуля. | | `only_detached` | `true` | Показывать хэш коммита git, только находясь в состоянии отделённой HEAD | | `disabled` | `false` | Отключает модуль `git_commit`. | ### Пример ```toml # ~/.config/starship.toml [git_commit] commit_hash_length = 4 ``` ## Состояние Git Модуль `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`. | | `progress_divider` | `"/"` | Символ или текст, который будет разделять текущую и общую сумму прогресса. (напр., `" из "`, для `"3 из 10"`) | | `style` | `"bold yellow"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `git_state`. | ### Пример ```toml # ~/.config/starship.toml [git_state] progress_divider = " of " cherry_pick = "🍒 PICKING" ``` ## Статус Git Модуль `git_status` отображает символы, представляющие состояние репозитория в вашей текущей директории. ### Опции | Переменная | По умолчанию | Описание | | ------------------ | ---------------------------- | ---------------------------------------------------------------- | | `conflicted` | `"="` | Эта ветка имеет конфликты слияния. | | `conflicted_count` | [ссылка](#git-status-counts) | Оформленно показывать количество конфликтов. | | `ahead` | `"⇡"` | Эта ветка впереди отслеживаемой ветви. | | `behind` | `"⇣"` | Эта ветка позади отслеживаемой ветви. | | `diverged` | `"⇕"` | Эта ветка расходится от отслеживаемой ветки. | | `untracked` | `"?"` | В рабочей директории есть неотслеженные файлы. | | `untracked_count` | [ссылка](#git-status-counts) | Показывать в стиле количество неотслеженных файлов. | | `stashed` | `"$"` | Для локального репозитория существует тайник. | | `stashed_count` | [ссылка](#git-status-counts) | Оформленно показывать количество тайников. | | `modified` | `"!"` | В рабочем директории есть изменения файлов. | | `modified_count` | [ссылка](#git-status-counts) | Оформленно показывать количество измененных файлов. | | `staged` | `"+"` | В промежуточную область добавлен новый файл. | | `staged_count` | [ссылка](#git-status-counts) | Оформленно показывать количество файлов в промежуточной области. | | `renamed` | `"»"` | В промежуточную область добавлен переименованный файл. | | `renamed_count` | [ссылка](#git-status-counts) | Оформленно показывать количество переименованных файлов. | | `deleted` | `"✘"` | Удаление файла было добавлено в промежуточную область. | | `deleted_count` | [ссылка](#git-status-counts) | Оформленно показывать количество удаленных файлов. | | `show_sync_count` | `false` | Показывать счетчик впереди/позади для отслеживаемой ветки. | | `prefix` | `[` | Префикс для отображения сразу перед статусом git. | | `suffix` | `]` | Суффикс, отображаемый сразу после статуса git. | | `style` | `"bold red"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `git_status`. | #### Счетчик статуса Git | Переменная | По умолчанию | Описание | | ---------- | ------------ | ------------------------------------------------------- | | `enabled` | `false` | Показать количество файлов | | `style` | | При желании, можно оформлять счетчик не так, как модуль | ### Пример ```toml # ~/.config/starship.toml [git_status] conflicted = "🏳" ahead = "🏎💨" behind = "😰" diverged = "😵" untracked = "🤷‍" stashed = "📦" modified = "📝" staged.value = "++" staged.style = "green" staged_count.enabled = true staged_count.style = "green" renamed = "👅" deleted = "🗑" ``` ## Golang Модуль `golang` показывает установленную версию Golang. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `go.mod` - Текущий каталог содержит файл `go.sum` - Текущий каталог содержит файл `glide.yaml` - Текущий каталог содержит файл `Gopkg.yml` - Текущий каталог содержит файл `Gopkg.lock` - The current directory contains a `.go-version` file - Текущий каталог содержит папку `Godeps` - Текущий каталог содержит файл с расширением `.go` ### Опции | Переменная | По умолчанию | Описание | | ---------- | ------------- | ------------------------------------------------------ | | `symbol` | `"🐹 "` | Символ, используемый перед отображением версии Golang. | | `style` | `"bold cyan"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `golang`. | ### Пример ```toml # ~/.config/starship.toml [golang] symbol = "🏎💨 " ``` ## Haskell Модуль `haskell` показывает установленную версию Haskell Stack. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `stack.yaml` ### Опции | Переменная | По умолчанию | Описание | | ---------- | ------------ | ------------------------------------------------- | | `symbol` | `"λ "` | Символ перед отображением текущей версии Haskell. | | `style` | `"bold red"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `haskell`. | ### Пример ```toml # ~/.config/starship.toml [haskell] symbol = " " ``` ## Имя хоста Модуль `hostname` отображает имя системы (хоста). ### Опции | Переменная | По умолчанию | Описание | | ---------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | `ssh_only` | `true` | Показывать имя хоста только при подключении к SSH-сессии. | | `prefix` | `""` | Префикс, отображаемый непосредственно перед именем хоста. | | `suffix` | `""` | Суффикс, отображаемый непосредственно перед именем хоста. | | `trim_at` | `"."` | Строка, по которую имя хоста будет сокращено после первого совпадения. `"."` остановится после первой точки. `""` отключит любое усечение | | `style` | `"bold dimmed green"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `hostname`. | ### Пример ```toml # ~/.config/starship.toml [hostname] ssh_only = false prefix = "⟪" suffix = "⟫" trim_at = ".companyname.com" disabled = false ``` ## Java Модуль `java` показывает установленную версию Java. Модуль будет показан, если любое из следующих условий соблюдено: - The current directory contains a `pom.xml`, `build.gradle.kts`, `build.sbt` or `.java-version` file - The current directory contains a file with the `.java`, `.class`, `.gradle` or `.jar` extension ### Опции | Переменная | По умолчанию | Описание | | ---------- | -------------- | ---------------------------------------------------- | | `symbol` | `"☕ "` | Символ, используемый перед отображением версии Java. | | `style` | `"dimmed red"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `java`. | ### Пример ```toml # ~/.config/starship.toml [java] symbol = "🌟 " ``` ## Задачи Модуль `jobs` отображает текущее количество запущенных работ. Модуль будет показан только если работы выполняются в фоне. Модуль покажет количество запущенных задач при наличии более чем 1 задачи, или больше, чем значение конфигурации `threshold`, если оно существует. ### Опции | Переменная | По умолчанию | Описание | | ----------- | ------------- | --------------------------------------------------------- | | `symbol` | `"✦"` | Символ, используемый перед отображением количества работ. | | `threshold` | `1` | Показывать количество задач, если превышено. | | `style` | `"bold blue"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `jobs`. | ### Пример ```toml # ~/.config/starship.toml [jobs] symbol = "+ " threshold = 4 ``` ## Julia The `julia` module shows the currently installed version of Julia. Модуль будет показан, если любое из следующих условий соблюдено: - The current directory contains a `Project.toml` file - The current directory contains a `Manifest.toml` file - The current directory contains a file with the `.jl` extension ### Опции | Переменная | По умолчанию | Описание | | ---------- | --------------- | ------------------------------------------------------- | | `symbol` | `"ஃ "` | The symbol used before displaying the version of Julia. | | `style` | `"bold purple"` | Стиль модуля. | | `disabled` | `false` | Disables the `julia` module. | ### Пример ```toml # ~/.config/starship.toml [julia] symbol = "∴ " ``` ## Kubernetes Отображает текущее контекстное имя Kubernetes и, если применено, пространство имён из файла kubeconfig. Пространство имен дожно быть задано в файле kubeconfig, это делается через `kubectl config set-context starship-cluster --namespace astronaut`. Если переменная окружения `$KUBECONFIG` задана, модуль будет использовать его значение, в противном случае будет использовать `~/.kube/config`. ::: tip По умолчанию этот модуль отключен. Чтобы включить его, установите `disabled` на `false` в файле конфигурации. ::: ### Опции | Переменная | По умолчанию | Описание | | ----------------- | ------------- | ------------------------------------------------------------- | | `symbol` | `"☸ "` | Символ, используемый перед отображением информации о Cluster. | | `context_aliases` | | Table of context aliases to display | | `style` | `"bold blue"` | Стиль модуля. | | `disabled` | `true` | Отключает модуль `kubernetes` | ### Пример ```toml # ~/.config/starship.toml [kubernetes] symbol = "⛵ " style = "dimmed green" disabled = false [kubernetes.context_aliases] "dev.local.cluster.k8s" = "dev" ``` ## Перевод Строки Модуль `line_break` разделяет командную строку на две строки. ### Опции | Переменная | По умолчанию | Описание | | ---------- | ------------ | ------------------------------------------------------------------------ | | `disabled` | `false` | Отключает модуль `line_break`, отображая командную строку в одну строку. | ### Пример ```toml # ~/.config/starship.toml [line_break] disabled = true ``` ## Использование памяти Модуль `memory_usage` отображает текущую системную память и использование подкачки. По умолчанию использование подкачки отображается, если общая сумма подкачки системы не равна нулю. ::: tip По умолчанию этот модуль отключен. Чтобы включить его, установите `disabled` на `false` в файле конфигурации. ::: ### Опции | Переменная | По умолчанию | Описание | | ----------------- | --------------------- | --------------------------------------------------------------------------- | | `show_percentage` | `false` | Отображать использование памяти в процентах от доступной памяти. | | `show_swap` | `true` | Отображать использование подкачки, если общая сумма подкачки не равна нулю. | | `threshold` | `75` | Скрывать использование памяти, если она не превышает этот процент. | | `symbol` | `"🐏 "` | Символ, используемый перед отображением использования памяти. | | `separator` | `" | "` | Символ или текст, который отделит использование памяти и подкачки. | | `style` | `"bold dimmed white"` | Стиль модуля. | | `disabled` | `true` | Отключает модуль `memory_usage`. | ### Пример ```toml # ~/.config/starship.toml [memory_usage] disabled = false show_percentage = true show_swap = true threshold = -1 symbol = " " separator = "/" style = "bold dimmed green" ``` ## Ветка Mercurial Модуль `hg_branch` показывает активную ветку репозитория в вашем текущем каталоге. ### Опции | Переменная | По умолчанию | Описание | | ------------------- | --------------- | ---------------------------------------------------------------------------------------- | | `symbol` | `" "` | Символ, используемый перед закладкой hg или именем ветви репозитория в текущем каталоге. | | `truncation_length` | `2^63 - 1` | Обрезает имя ветки hg до X графемов | | `truncation_symbol` | `"…"` | Символ, используемый для обозначения усечения названия ветки. | | `style` | `"bold purple"` | Стиль модуля. | | `disabled` | `true` | Отключает модуль `hg_branch`. | ### Пример ```toml # ~/.config/starship.toml [hg_branch] symbol = "🌱 " truncation_length = 4 truncation_symbol = "" ``` ## Nix-shell Модуль `nix_shell` показывает окружение nix-shell. Модуль будет показываться внутри среды nix-shell. ### Опции | Переменная | По умолчанию | Описание | | ------------ | ------------- | ------------------------------------------------- | | `use_name` | `false` | Отображать имя nix-shell. | | `impure_msg` | `"impure"` | Настроить сообщение "impure". | | `pure_msg` | `"pure"` | Настройте сообщение "pure". | | `symbol` | `"❄️ "` | The symbol used before displaying the shell name. | | `style` | `"bold blue"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `nix_shell`. | ### Пример ```toml # ~/.config/starship.toml [nix_shell] disabled = true use_name = true impure_msg = "impure shell" pure_msg = "pure shell" symbol = "☃️ " ``` ## NodeJS Модуль `nodejs` показывает установленную версию NodeJS. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `package.json` - The current directory contains a `.node-version` file - Текущий каталог содержит каталог `node_modules` - Текущий каталог содержит файл с расширением `.js` ### Опции | Переменная | По умолчанию | Описание | | ---------- | -------------- | ------------------------------------------------------ | | `symbol` | `"⬢ "` | Символ, используемый перед отображением версии NodeJS. | | `style` | `"bold green"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `nodejs`. | ### Пример ```toml # ~/.config/starship.toml [nodejs] symbol = "🤖 " ``` ## Версия пакета Модуль `package` отображается, когда текущий каталог является репозиторием для пакета и показывает его текущую версию. The module currently supports `npm`, `cargo`, `poetry`, `composer`, `gradle`, `julia` and `mix` packages. - **npm** – Версия пакета `npm` из файла `package.json` в текущем каталоге - **cargo** – Версия пакета `cargo` из файла `Cargo.toml` в текущем каталоге - **poetry** – Версия пакета `poetry` из файла `pyproject.toml` в текущем каталоге - **composer** – Версия пакета `composer` из `composer.json` в текущем каталоге - **gradle** – Версия пакета `gradle` извлечена из `build.gradle` - **julia** - The package version is extracted from the `Project.toml` present - **mix** - The `mix` package version is extracted from the `mix.exs` present > ⚠ Показана версия пакета, исходный код которого находится в текущем каталоге, а не в менеджере пакетов. ### Опции | Переменная | По умолчанию | Описание | | ----------------- | ------------ | --------------------------------------------------------- | | `symbol` | `"📦 "` | Символ, используемый перед отображением версии пакета. | | `style` | `"bold 208"` | Стиль модуля. | | `display_private` | `false` | Enable displaying version for packages marked as private. | | `disabled` | `false` | Отключает модуль `package`. | ### Пример ```toml # ~/.config/starship.toml [package] symbol = "🎁 " ``` ## OCaml The `ocaml` module shows the currently installed version of OCaml. Модуль будет показан, если любое из следующих условий соблюдено: - The current directory contains a file with `.opam` extension or `_opam` directory - The current directory contains a `esy.lock` directory - The current directory contains a `dune` or `dune-project` file - The current directory contains a `jbuild` or `jbuild-ignore` file - The current directory contains a `.merlin` file - The current directory contains a file with `.ml`, `.mli`, `.re` or `.rei` extension ### Опции | Переменная | По умолчанию | Описание | | ---------- | --------------- | ------------------------------------------------------- | | `symbol` | `"🐫 "` | The symbol used before displaying the version of OCaml. | | `style` | `"bold yellow"` | Стиль модуля. | | `disabled` | `false` | Disables the `ocaml` module. | ### Пример ```toml # ~/.config/starship.toml [ocaml] symbol = "🐪 " ``` ## PHP Модуль `php` показывает установленную версию PHP. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `composer.json` - Текущий каталог содержит файл `.php-version` - Текущий каталог содержит файл `.php` ### Опции | Переменная | По умолчанию | Описание | | ---------- | ------------ | --------------------------------------------------- | | `symbol` | `"🐘 "` | Символ, используемый перед отображением версии PHP. | | `style` | `"bold 147"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `php`. | ### Пример ```toml # ~/.config/starship.toml [php] symbol = "🔹 " ``` ## Python The `python` module shows the currently installed version of Python and the current Python virtual environment if one is activated. If `pyenv_version_name` is set to `true`, it will display the pyenv version name. Otherwise, it will display the version number from `python --version`. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `.python-version` - Текущий каталог содержит файл `requirements.txt` - Текущий каталог содержит файл `pyproject.toml` - The current directory contains a file with the `.py` extension (and `scan_for_pyfiles` is true) - Текущий каталог содержит файл `Pipfile` - Текущий каталог содержит файл `tox.ini` - Текущий каталог содержит файл `setup.py` - The current directory contains a `__init__.py` file - Виртуальная среда в данный момент активирована ### Опции | Переменная | По умолчанию | Описание | | -------------------- | --------------- | ------------------------------------------------------------------------------------- | | `symbol` | `"🐍 "` | Символ перед отображением текущей версии Python. | | `pyenv_version_name` | `false` | Использовать pyenv для получения версии Python | | `pyenv_prefix` | `"pyenv "` | Префикс перед отображением версии pyenv (отображение по умолчанию `pyenv MY_VERSION`) | | `scan_for_pyfiles` | `true` | If false, Python files in the current directory will not show this module. | | `style` | `"bold yellow"` | Стиль модуля. | | `disabled` | `false` | Disables the `python` module. | ### Пример ```toml # ~/.config/starship.toml [python] symbol = "👾 " pyenv_version_name = true pyenv_prefix = "foo " ``` ## Ruby Модуль `ruby` показывает установленную версию Ruby. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `Gemfile` - Текущий каталог содержит файл `.ruby-version` - Текущий каталог содержит файл `.rb` ### Опции | Переменная | По умолчанию | Описание | | ---------- | ------------ | ---------------------------------------------------- | | `symbol` | `"💎 "` | Символ, используемый перед отображением версии Ruby. | | `style` | `"bold red"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `ruby`. | ### Пример ```toml # ~/.config/starship.toml [ruby] symbol = "🔺 " ``` ## Rust Модуль `rust` показывает установленную версию Rust. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит файл `Cargo.toml` - Текущий каталог содержит файл с расширением `.rs` ### Опции | Переменная | По умолчанию | Описание | | ---------- | ------------ | ---------------------------------------------------- | | `symbol` | `"🦀 "` | Символ, используемый перед отображением версии Rust. | | `style` | `"bold red"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `rust`. | ### Пример ```toml # ~/.config/starship.toml [rust] symbol = "⚙️ " ``` ## Singularity Модуль `singularity` показывает текущий образ singularity, если внутри контейнера и `$SINGULARITY_NAME` установлена. ### Опции | Переменная | По умолчанию | Описание | | ---------- | -------------------- | -------------------------------------------------- | | `label` | `""` | Префикс перед отображением имени образа. | | `prefix` | `"["` | Префикс для отображения сразу перед именем образа. | | `suffix` | `"]"` | Суффикс, отображаемый сразу после имени образа. | | `symbol` | `""` | Символ, используемый перед именем образа. | | `style` | `"bold dimmed blue"` | Стиль модуля. | | `disabled` | `false` | Disables the `singularity` module. | ### Пример ```toml # ~/.config/starship.toml [singularity] symbol = "📦 " ``` ## Terraform Модуль `terraform` показывает выбранную рабочую область и версию terraform. По умолчанию, версия terraform не показана, так как это медленно на текущих версиях terraform, при использовании большого количества плагинов. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий каталог содержит папку `.terraform` - Текущий каталог содержит файл с расширением `.tf` ### Опции | Переменная | По умолчанию | Описание | | -------------- | ------------ | --------------------------------------------------------------------------- | | `symbol` | `"💠 "` | Символ, используемый перед отображением рабочего пространства terraform. | | `show_version` | `false` | Показать версию terraform. Очень медленно на больших рабочих пространствах. | | `style` | `"bold 105"` | Стиль модуля. | | `disabled` | `false` | Отключает модуль `terraform`. | ### Пример ```toml # ~/.config/starship.toml [terraform] symbol = "🏎💨 " ``` ## Время Модуль `time` показывает текущее **локальное** время. Значение конфигурации `format` используется пакетом [`chrono`](https://crates.io/crates/chrono) для контроля того, как отображается время. Ознакомьтесь с [документацией chrono strftime](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html), чтобы увидеть доступные параметры. ::: tip По умолчанию этот модуль отключен. Чтобы включить его, установите `disabled` на `false` в файле конфигурации. ::: ### Опции | Переменная | По умолчанию | Описание | | ----------------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | `use_12hr` | `false` | Включить 12-часовое форматирование | | `format` | см. ниже | [Строка формата chrono](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html), используемая для форматирования времени. | | `style` | `"bold yellow"` | Стиль модуля времени | | `utc_time_offset` | `"local"` | Устанавливает смещение UTC. Диапазон -24 < x < 24. Разрешает числам с плавающей точкой встраивать 30/45-минутное смещение временной зоны. | | `disabled` | `true` | Отключает модуль `time`. | Если `use_12hr` равно `true`, то `format` по умолчанию равно `"%r"`. Иначе по умолчанию используется `"%T"`. Установка `format` вручную переопределит параметр `use_12hr`. ### Пример ```toml # ~/.config/starship.toml [time] disabled = false format = "🕙[ %T ]" utc_time_offset = "-5" ``` ## Имя пользователя Модуль `username` показывает имя текущего пользователя. Модуль будет показан, если любое из следующих условий соблюдено: - Текущий пользователь - root - Текущий пользователь отличается от залогиненного - Пользователь подключен к SSH-сессии - Переменная `show_always` равна true ### Опции | Переменная | По умолчанию | Описание | | ------------- | --------------- | ------------------------------------------------------- | | `style_root` | `"bold red"` | Стиль, используемый для пользователя root. | | `style_user` | `"bold yellow"` | Стиль, используемый для всех пользователей, кроме root. | | `show_always` | `false` | Всегда показывать модуль `username`. | | `disabled` | `false` | Отключает модуль `username`. | ### Пример ```toml # ~/.config/starship.toml [username] disabled = true ``` ## Zig The `zig` module shows the currently installed version of Zig. Модуль будет показан, если любое из следующих условий соблюдено: - The current directory contains a `.zig` file ### Опции | Переменная | По умолчанию | Описание | | ---------- | --------------- | ----------------------------------------------------- | | `symbol` | `"↯ "` | The symbol used before displaying the version of Zig. | | `style` | `"bold yellow"` | Стиль модуля. | | `disabled` | `false` | Disables the `zig` module. | ### Пример ```toml # ~/.config/starship.toml [zig] symbol = "⚡️ " ``` ## Custom commands The `custom` modules show the output of some arbitrary commands. These modules will be shown if any of the following conditions are met: - The current directory contains a file whose name is in `files` - The current directory contains a directory whose name is in `directories` - The current directory contains a file whose extension is in `extensions` - The `when` command returns 0 ::: tip Multiple custom modules can be defined by using a `.`. ::: ::: tip The order in which custom modules are shown can be individually set by setting `custom.foo` in `prompt_order`. By default, the `custom` module will simply show all custom modules in the order they were defined. ::: ### Опции | Переменная | По умолчанию | Описание | | ------------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | `command` | | The command whose output should be printed. | | `when` | | A shell command used as a condition to show the module. The module will be shown if the command returns a `0` status code. | | `shell` | | The path to the shell to use to execute the command. If unset, it will fallback to STARSHIP_SHELL and then to "sh". | | `описание` | `""` | The description of the module that is shown when running `starship explain`. | | `files` | `[]` | The files that will be searched in the working directory for a match. | | `directories` | `[]` | The directories that will be searched in the working directory for a match. | | `extensions` | `[]` | The extensions that will be searched in the working directory for a match. | | `symbol` | `""` | The symbol used before displaying the command output. | | `style` | `"bold green"` | Стиль модуля. | | `prefix` | `""` | Prefix to display immediately before the command output. | | `suffix` | `""` | Suffix to display immediately after the command output. | | `disabled` | `false` | Disables this `custom` module. | ### Пример ```toml # ~/.config/starship.toml [custom.foo] command = "echo foo" # shows output of command files = ["foo"] # can specify filters when = """ test "$HOME" == "$PWD" """ prefix = " transcending " ``` ## PureScript The `purescript` module shows the currently installed version of PureScript version. Модуль будет показан, если любое из следующих условий соблюдено: - The current directory contains a `spago.dhall` file - The current directory contains a \*.purs files ### Опции | Переменная | По умолчанию | Описание | | ---------- | -------------- | ------------------------------------------------------------ | | `symbol` | `"<=> "` | The symbol used before displaying the version of PureScript. | | `style` | `"bold white"` | Стиль модуля. | | `disabled` | `false` | Disables the `purescript` module. | ### Пример ```toml # ~/.config/starship.toml [purescript] symbol = "<=> " ```