Перейти до змісту

Налаштування командного рядка

Ця сторінка описує опції командного рядка Spaceship.

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

Командний рядок складається з секцій. Всі секції поєднуються в послідовність командного рядка.

Під час процесу відображення командний рядок проходить по послідовності та викликає кожну секцію. Якщо ви хочете додати власну секцію – додайте її в послідовність. Ви можете додавати чи вилучати секціїї з послідовності командного рядка в будь-який час.

Типова секція складається з префіксу, символу, змісту та суфіксу. Символ та зміст виділяються кольором. Ось приклад для секції package:

is 📦 3.16.5

У наведеному вище, is є префіксом, 📦 символом, 3.16.5 змістом, а `` (пробіл) суфіксом.

Кожна складова секції може бути налаштована за допомогою відповідних опцій. Опції це звичайні змінні середовища з такою сигнатурою: SPACESHIP_<SECTION>_<OPTION>:

# SPACESHIP_<SECTION>_<OPTION>
  SPACESHIP_PACKAGE_PREFIX="via·"
  SPACESHIP_PACKAGE_SUFFIX=" "
  SPACESHIP_PACKAGE_COLOR="green"

У прикладі вище PACKAGE це секція, а PREFIX, SUFFIX та COLOR це опції для префіксу, суфіксу та кольору відповідно.

Info

Допускається використання базових кольорів або кольорових кодів.

Послідовність командного рядка

Послідовність командного рядка визначає порядок, в якому секції виконуються і відображаються. Порядок секцій у командному рядку контролюється опцією SPACESHIP_PROMPT_ORDER.

За замовчуванням, порядок секцій наступний:

SPACESHIP_PROMPT_ORDER=(
  time # Секція міток часу
  user # Секція імені користувача
  dir # Секція поточної теки
  host # Секція імені хосту
  git # Секція Git (git_branch + git_status)
  hg # Секція Mercurial (hg_branch + hg_status)
  package # Версія пакунка
  node # Секція Node.js
  bun # Секція Bun
  deno # Секція Deno
  ruby # Секція Ruby
  python # Секція Python
  elm # Секція Elm
  elixir # Секція Elixir
  xcode # Секція Xcode
  swift # Секція Swift
  golang # Секція Go
  perl # Секція Perl
  php # Секція PHP
  rust # Секція Rust
  haskell # Секція стеку Haskell
  scala # Секція Scala
  kotlin # Секція Kotlin
  java # Секція Java
  lua # Секція Lua
  dart # Секція Dart
  julia # Секція Julia
  crystal # Секція Crystal
  docker # Секція Docker
  docker_compose # Секція Docker
  aws # Секція Amazon Web Services
  gcloud # Секція Google Cloud Platform
  azure # Секція Azure
  venv # Секція virtualenv
  conda # Секція conda virtualenv
  uv # Секція uv
  dotnet # Секція .NET
  ocaml # Секція OCaml
  vlang # Секція V
  zig # Секція Zig
  purescript # Секція PureScript
  erlang # Секція Erlang
  gleam # Секція Gleam
  kubectl # Секція контексту Kubectl
  ansible # Секція Ansible
  terraform # Секція робочого простору Terraform
  pulumi # Секція стеку Pulumi
  ibmcloud # Секція IBM Cloud
  nix_shell # Оболонка Nix
  gnu_screen # Секція GNU Screen
  exec_time # Час виконання
  async # Індикатор асинхронних завдань
  line_sep # Переведення рядка
  battery # Рівень та стан заряду батареї
  jobs # Індикатор фонових завдань
  exit_code # Секція коду виходу
  sudo # Індикатор sudo
  char # Символ запрошення
)

Ви можете додавати та видаляти секції за допомогою команд spaceship add та spaceship remove таким чином:

# Видаляє секцію git з командного рядка
spaceship remove git

# Додає секцію git до командного рядка
spaceship add git

Послідовність правого командного рядка

Також ви можете додавати секції праворуч від командного рядка, вказуючи їх у опції SPACESHIP_RPROMPT_ORDER. За замовчуванням, SPACESHIP_RPROMPT_ORDER – порожній масив.

Налаштування секцій

Ви можете налаштовувати кожну секцію командного рядка за допомогою опцій секції. Подивіться документацію секцій для отримання додаткової інформації.

Крім використання вбудованих секцій, ви можете додавати сторонні секції або створити власні.

Подивитись вбудовані секції Подивитися всі секції

Налаштування командного рядка

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

Змінна За замовчуванням Пояснення
SPACESHIP_PROMPT_ASYNC true Чи відображати командний рядок асинхронно
SPACESHIP_PROMPT_ADD_NEWLINE true Додає символ нового рядка перед кожним запитом
SPACESHIP_PROMPT_SEPARATE_LINE true Розтягнути командний рядок на два рядки
SPACESHIP_PROMPT_FIRST_PREFIX_SHOW false Показати префікс першої секції в командному рядку
SPACESHIP_RPROMPT_FIRST_PREFIX_SHOW false Показати префікс першої секції в командному рядку праворуч
SPACESHIP_PROMPT_PREFIXES_SHOW true Чи показувати префікси секцій
SPACESHIP_PROMPT_SUFFIXES_SHOW true Чи показувати суфікси секцій
SPACESHIP_PROMPT_DEFAULT_PREFIX via· Префікс за замовчуванням для секцій
SPACESHIP_PROMPT_DEFAULT_SUFFIX `` Суфікс за замовчуванням для секцій

Трохи більше про ці налаштування:

Асинхронне відображення

Опція SPACESHIP_PROMPT_ASYNC визначає, чи має командний рядок відображатися асинхронно, чи ні. За замовчуванням, він відображається асинхронно.

Синхронні секції показуються миттєво. Асинхронні секції обробляються у фоні та показуються коли інформація готова до відображення.

Секція async заміняє асинхронні секції, поки вони завантажуються.

Відступи командного рядка

Spaceship додає порожній рядок між запитами. Ви можете вимкнути цю поведінку, змінивши значення опції SPACESHIP_PROMPT_ADD_NEWLINE на false.

Командний рядок також виділяється новим рядком якщо SPACESHIP_PROMPT_SEPARATE_LINE має значення true.

Відображення префіксу першої секції

Spaceship приховує префікс першої секції командного рядка. Ви можете увімкнути цю поведінку, встановивши SPACESHIP_PROMPT_FIRST_PREFIX_SHOW у true.

Відображення префіксів та суфіксів

Ви можете вимкнути відображення префіксів та суфіксів, встановивши SPACESHIP_PROMPT_PREFIXES_SHOW та SPACESHIP_PROMPT_SUFFIXES_SHOW у false.

Додатково ви можете змінити префікс та суфікс за замовчуванням за допомогою опцій SPACESHIP_PROMPT_DEFAULT_PREFIX та SPACESHIP_PROMPT_DEFAULT_SUFFIX. Ці значення будуть використані для відображення префіксів або суфіксів, якщо не встановлено відповідні опції секції.