You have ability to customize or disable specific elements of Spacefish. All options must be overridden in your config.fish
.
Colors for sections can be basic colors or color codes.
Note: the symbol ·
in this document represents a regular space character
, it is used to clearly indicate when an option default value starts or ends with a space.
You can specify the order of prompt section using SPACEFISH_PROMPT_ORDER
option. Use Zsh array syntax to define your own prompt order.
The order also defines which sections that Spacefish loads. If you're struggling with slow prompt, you can just omit the sections that you don't use, and they won't be loaded.
The default order is:
set SPACEFISH_PROMPT_ORDER time user dir host git package node docker ruby golang php rust haskell julia aws conda pyenv kubecontext exec_time line_sep battery jobs exit_code char
You can also add items to the right prompt by specifying them in the SPACEFISH_RPROMPT_ORDER
option. By default SPACEFISH_RPROMPT_ORDER
is empty.
This group of options defines a behavior of prompt and standard parameters for sections displaying.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_PROMPT_ADD_NEWLINE |
true |
Adds a newline character before each prompt line |
SPACEFISH_PROMPT_SEPARATE_LINE |
true |
Make the prompt span across two lines |
SPACEFISH_PROMPT_FIRST_PREFIX_SHOW |
false |
Shows a prefix of the first section in prompt |
SPACEFISH_PROMPT_PREFIXES_SHOW |
true |
Show prefixes before prompt sections |
SPACEFISH_PROMPT_SUFFIXES_SHOW |
true |
Show suffixes before prompt sections |
SPACEFISH_PROMPT_DEFAULT_PREFIX |
via |
Default prefix for prompt sections |
SPACEFISH_PROMPT_DEFAULT_SUFFIX |
|
Default suffix for prompt section |
Variable | Default | Meaning |
---|---|---|
SPACEFISH_TIME_SHOW |
false |
Show current time |
SPACEFISH_DATE_SHOW |
false· |
Show today's date |
SPACEFISH_TIME_PREFIX |
at· |
Prefix before time section |
SPACEFISH_TIME_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after time section |
SPACEFISH_TIME_FORMAT |
false |
Custom time/date formatting, set as a string to enable (man date for help) |
SPACEFISH_TIME_12HR |
false |
Use 12 hour clock AM/PM |
SPACEFISH_TIME_COLOR |
yellow |
Color of time section |
By default, a username is shown only when it's not the same as $LOGNAME
, when you're connected via SSH or when you're root. Root user is highlighted in SPACEFISH_USER_COLOR_ROOT
color (red as default).
Variable | Default | Meaning |
---|---|---|
SPACEFISH_USER_SHOW |
true |
Show user section (true , false , always or needed ) |
SPACEFISH_USER_PREFIX |
with· |
Prefix before user section |
SPACEFISH_USER_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after user section |
SPACEFISH_USER_COLOR |
yellow |
Color of user section |
SPACEFISH_USER_COLOR_ROOT |
red |
Color of user section when it's root |
SPACEFISH_USER_SHOW
defines when to show username section. Here are possible values:
SPACEFISH_USER_SHOW |
Show on local | Show on remote |
---|---|---|
false |
Never | Never |
always |
Always | Always |
true |
If needed | Always |
needed |
If needed | If needed |
Directory is always shown and truncated to the value of SPACEFISH_DIR_TRUNC
. While you are in a Git repository, this section shows only the project title and relevant status icons. If current directory is write-protected or if current user doesn't have write permissions, a padlock (by default) will be displayed as a suffix.
Hostname should only be shown while you are connected to another machine using SSH, unless you change it using SPACEFISH_HOST_SHOW.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_HOST_SHOW |
true |
Show host section (true , false , always ) |
SPACEFISH_HOST_SHOW_FULL |
false |
Show full hostname section (true , false ) |
SPACEFISH_HOST_PREFIX |
at· |
Prefix before the hostname |
SPACEFISH_HOST_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the hostname |
SPACEFISH_HOST_COLOR |
blue |
Color of the hostname |
SPACEFISH_HOST_COLOR_SSH |
green |
Color of the hostname during SSH |
Git section is consists with git_branch
and git_status
subsections. It is shown only in Git repositories.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_GIT_SHOW |
true |
Show Git section |
SPACEFISH_GIT_PREFIX |
on· |
Prefix before Git section |
SPACEFISH_GIT_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after Git section |
SPACEFISH_GIT_SYMBOL |
Character to be shown before Git section (requires powerline patched font |
Variable | Default | Meaning |
---|---|---|
SPACEFISH_GIT_BRANCH_SHOW |
true |
Show Git branch subsection |
SPACEFISH_GIT_BRANCH_PREFIX |
$SPACEFISH_GIT_SYMBOL |
Prefix before Git branch subsection |
SPACEFISH_GIT_BRANCH_SUFFIX |
|
Suffix after Git branch subsection |
SPACEFISH_GIT_BRANCH_COLOR |
(set_color magenta) |
Color of Git branch subsection |
Git status indicators is shown only when you have dirty repository.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_GIT_STATUS_SHOW |
true |
Show Git status subsection |
SPACEFISH_GIT_STATUS_PREFIX |
·[ |
Prefix before Git status subsection |
SPACEFISH_GIT_STATUS_SUFFIX |
] |
Suffix after Git status subsection |
SPACEFISH_GIT_STATUS_COLOR |
red |
Color of Git status subsection |
SPACEFISH_GIT_STATUS_UNTRACKED |
? |
Indicator for untracked changes |
SPACEFISH_GIT_STATUS_ADDED |
+ |
Indicator for added changes |
SPACEFISH_GIT_STATUS_MODIFIED |
! |
Indicator for unstaged files |
SPACEFISH_GIT_STATUS_RENAMED |
» |
Indicator for renamed files |
SPACEFISH_GIT_STATUS_DELETED |
✘ |
Indicator for deleted files |
SPACEFISH_GIT_STATUS_STASHED |
$ |
Indicator for stashed changes |
SPACEFISH_GIT_STATUS_UNMERGED |
= |
Indicator for unmerged changes |
SPACEFISH_GIT_STATUS_AHEAD |
⇡ |
Indicator for unpushed changes (ahead of remote branch) |
SPACEFISH_GIT_STATUS_BEHIND |
⇣ |
Indicator for unpulled changes (behind of remote branch) |
SPACEFISH_GIT_STATUS_DIVERGED |
⇕ |
Indicator for diverged chages (diverged with remote branch) |
Works only for npm and cargo at the moment. Please, help spaceship improve this section!
Package version is shown when repository is a package (e.g. contains a package.json
or Cargo.toml
file). If no version information is found in package.json
or there is an error parsing Cargo.toml
, the ⚠
symbol will be shown.
- npm —
npm
package contains apackage.json
file. We usejq
,python
to parse package version for improving performance andnode
as a fallback. Install jq for improved performance of this section (Why?) - cargo —
cargo
package contains aCargo.toml
file. Currently, we usecargo pkgid
, it depends onCargo.lock
. So if package version isn't shown, you may need to run some command likecargo build
which can generateCargo.lock
file.
Note: This is the version of the package you are working on, not the version of package manager itself.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_PACKAGE_SHOW |
true |
Show package version |
SPACEFISH_PACKAGE_PREFIX |
is· |
Prefix before package version section |
SPACEFISH_PACKAGE_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after package version section |
SPACEFISH_PACKAGE_SYMBOL |
📦· |
Character to be shown before package version |
SPACEFISH_PACKAGE_COLOR |
red |
Color of package version section |
Node.js section is shown only in directories that contain package.json
file, or node_modules
folder, or any other file with .js
extension.
If you set SPACEFISH_NODE_DEFAULT_VERSION
to the default Node.js version and your current version is the same as SPACEFISH_NODE_DEFAULT_VERSION
, then Node.js section will be hidden.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_NODE_SHOW |
true |
Current Node.js section |
SPACEFISH_NODE_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before Node.js section |
SPACEFISH_NODE_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after Node.js section |
SPACEFISH_NODE_SYMBOL |
⬢· |
Character to be shown before Node.js version |
SPACEFISH_NODE_DEFAULT_VERSION |
|
Node.js version to be treated as default |
SPACEFISH_NODE_COLOR |
green |
Color of Node.js section |
Julia section is shown only in directories that contain any file with .jl
extension.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_JULIA_SHOW |
true |
Show Julia section |
SPACEFISH_JULIA_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before Julia section |
SPACEFISH_JULIA_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after Julia section |
SPACEFISH_JULIA_SYMBOL |
ஃ· |
Character to be shown before Julia version |
SPACEFISH_JULIA_COLOR |
green |
Color of Julia section |
Docker section is shown only in directories that contain Dockerfile
or docker-compose.yml
and also if the $COMPOSE_FILE
is set.
The section will also appear when .dockerenv
is in the root directory, signifying that you're in a container.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_DOCKER_SHOW |
true |
Show current Docker version |
SPACEFISH_DOCKER_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before the Docker section |
SPACEFISH_DOCKER_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the Docker section |
SPACEFISH_DOCKER_SYMBOL |
🐳· |
Character to be shown before Docker version |
SPACEFISH_DOCKER_COLOR |
cyan |
Color of Docker section |
SPACEFISH_DOCKER_VERBOSE_VERSION |
false |
Show full version name. (Beta, Nightly) |
Ruby section is shown only in directories that contain Gemfile
, or Rakefile
, or any other file with .rb
extension.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_RUBY_SHOW |
true |
Show Ruby section |
SPACEFISH_RUBY_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before Ruby section |
SPACEFISH_RUBY_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after Ruby section |
SPACEFISH_RUBY_SYMBOL |
💎· |
Character to be shown before Ruby version |
SPACEFISH_RUBY_COLOR |
red |
Color of Ruby section |
Haskell section is shown only in directories that contain stack.yaml
.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_HASKELL_SHOW |
true |
Show Haskell section |
SPACEFISH_HASKELL_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before Haskell section |
SPACEFISH_HASKELL_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after Haskell section |
SPACEFISH_HASKELL_SYMBOL |
λ· |
Character to be shown before Haskell version |
SPACEFISH_HASKELL_COLOR |
red |
Color of Haskell section |
Shows selected Amazon Web Services profile configured using AWS_PROFILE
variable.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_AWS_SHOW |
true |
Show current selected AWS-cli profile or not |
SPACEFISH_AWS_PREFIX |
using· |
Prefix before the AWS section |
SPACEFISH_AWS_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the AWS section |
SPACEFISH_AWS_SYMBOL |
☁️· |
Character to be shown before AWS profile |
SPACEFISH_AWS_COLOR |
ff8700 |
Color of AWS section |
Python virtual environment when $VIRTUAL_ENV is set.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_VENV_SHOW |
true |
Show current Python virtualenv or not |
SPACEFISH_VENV_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before the virtualenv section |
SPACEFISH_VENV_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the virtualenv section |
SPACEFISH_VENV_SYMBOL |
· |
Character to be shown before virtualenv |
SPACEFISH_VENV_GENERIC_NAMES |
virtualenv venv .venv |
If the virtualenv folder is in this array, than use its parent directory as its name instead |
SPACEFISH_VENV_COLOR |
blue |
Color of virtualenv environment section |
Conda section is shown when conda
is installed and $CONDA_DEFAULT_ENV is set.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_CONDA_SHOW |
true |
Show current Conda version |
SPACEFISH_CONDA_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before the conda section |
SPACEFISH_CONDA_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the conda section |
SPACEFISH_CONDA_SYMBOL |
🅒· |
Character to be shown before Conda version |
SPACEFISH_CONDA_COLOR |
blue |
Color of Conda section |
Elixir section is shown when mix.exs
is found or elixir files are found and either kiex, exenv, elixir is avaiable on your path.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_ELIXIR_SHOW |
true |
Show current Elixir version |
SPACEFISH_ELIXIR_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before the elixir section |
SPACEFISH_ELIXIR_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the elixir section |
SPACEFISH_ELIXIR_SYMBOL |
💧· |
Character to be shown before Elixir version |
SPACEFISH_ELIXIR_COLOR |
magenta |
Color of Elixir section |
Pyenv section is shown only in directories that contain .python-version
, requirements.txt
, pyproject.toml
, or any other file with .py
extension.
The section will also be shown if the $PYENV_VERSION
environment variable is set.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_PYENV_SHOW |
true |
Show current Pyenv version |
SPACEFISH_PYENV_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before the pyenv section |
SPACEFISH_PYENV_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the pyenv section |
SPACEFISH_PYENV_SYMBOL |
🐍· |
Character to be shown before Pyenv version |
SPACEFISH_PYENV_COLOR |
yellow |
Color of Pyenv section |
Go section is shown only in directories that contain Godeps
, glide.yaml
, go.mod
, any other file with .go
extension, or when current directory is in the Go workspace defined in $GOPATH
.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_GOLANG_SHOW |
true |
Show current Go version |
SPACEFISH_GOLANG_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before the Go section |
SPACEFISH_GOLANG_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the Go section |
SPACEFISH_GOLANG_SYMBOL |
🐹· |
Character to be shown before Go version |
SPACEFISH_GOLANG_COLOR |
cyan |
Color of Go section |
PHP section is shown only in directories that contain composer.json
file, or any other file with .php
extension.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_PHP_SHOW |
true | Show PHP section |
SPACEFISH_PHP_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before the PHP section |
SPACEFISH_PHP_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the PHP section |
SPACEFISH_PHP_SYMBOL |
🐘· |
Character to be shown before PHP version |
SPACEFISH_PHP_COLOR |
blue |
Color of PHP section |
Rust section is shown only in directories that contain Cargo.toml
or any other file with .rs
extension.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_RUST_SHOW |
true |
Show current Rust version |
SPACEFISH_RUST_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before the Rust section |
SPACEFISH_RUST_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the Rust section |
SPACEFISH_RUST_SYMBOL |
𝗥· |
Character to be shown before Rust version |
SPACEFISH_RUST_COLOR |
red |
Color of Rust section |
SPACEFISH_RUST_VERBOSE_VERSION |
false |
Show what branch is being used, if any. (Beta, Nightly) |
.NET section is shown only in directories that contains a project.json
, global.json
or paket.dependencies
file, or a file with one of these extensions: .csproj
, .xproj
, .fproj
or .sln
.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_DOTNET_SHOW |
true |
Current .NET section |
SPACEFISH_DOTNET_PREFIX |
$SPACEFISH_PROMPT_DEFAULT_PREFIX |
Prefix before .NET section |
SPACEFISH_DOTNET_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after .NET section |
SPACEFISH_DOTNET_SYMBOL |
.NET· |
Character to be shown before .NET version |
SPACEFISH_DOTNET_COLOR |
128 |
Color of .NET section |
Kubernetes context is shown everywhere if kubectl
binary is found.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_KUBECONTEXT_SHOW |
true |
Show current kubectl context |
SPACEFISH_KUBECONTEXT_NAMESPACE_SHOW |
true |
Show current kubectl context namespace |
SPACEFISH_KUBECONTEXT_PREFIX |
at |
Prefix before the kubectl section |
SPACEFISH_KUBECONTEXT_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after the kubectl section |
SPACEFISH_KUBECONTEXT_SYMBOL |
☸️ |
Character to be shown before kubectl context |
SPACEFISH_KUBECONTEXT_COLOR |
cyan |
Color of kubectl section |
Execution time of the last command. Will be displayed if it exceeds the set threshold of time.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_EXEC_TIME_SHOW |
true |
Show execution time |
SPACEFISH_EXEC_TIME_PREFIX |
took· |
Prefix before exec time section |
SPACEFISH_EXEC_TIME_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after exec time section |
SPACEFISH_EXEC_TIME_COLOR |
yellow |
Color of exec time section |
SPACEFISH_EXEC_TIME_ELAPSED |
5 |
The threshold in seconds for showing exec time section |
This is where the prompt will split into two lines, if enabled.
By default, Battery section is shown only if battery level is below SPACEFISH_BATTERY_THRESHOLD
(default: 10%).
Variable | Default | Meaning |
---|---|---|
SPACEFISH_BATTERY_SHOW |
true |
Show battery section (true , false , always or charged ) |
SPACEFISH_BATTERY_PREFIX |
|
Prefix before battery section |
SPACEFISH_BATTERY_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after battery section |
SPACEFISH_BATTERY_SYMBOL_CHARGING |
⇡ |
Character to be shown if battery is charging |
SPACEFISH_BATTERY_SYMBOL_DISCHARGING |
⇣ |
Character to be shown if battery is discharging |
SPACEFISH_BATTERY_SYMBOL_FULL |
• |
Character to be shown if battery is full |
SPACEFISH_BATTERY_THRESHOLD |
10 | Battery level below which battery section will be shown |
SPACEFISH_BATTERY_SHOW
defines when to show battery section. Here are possible values:
SPACEFISH_BATTERY_SHOW |
Below threshold | Above threshold | Fully charged |
---|---|---|---|
false |
Hidden | Hidden | Hidden |
always |
Shown | Shown | Shown |
true |
Shown | Hidden | Hidden |
charged |
Shown | Hidden | Shown |
This section shows mode indicator only when Vi-mode is enabled.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_VI_MODE_SHOW |
true |
Shown current Vi-mode or not |
SPACEFISH_VI_MODE_PREFIX |
|
Prefix before Vi-mode section |
SPACEFISH_VI_MODE_SUFFIX |
$SPACEFISH_PROMPT_DEFAULT_SUFFIX |
Suffix after Vi-mode section |
SPACEFISH_VI_MODE_INSERT |
[I] |
Text to be shown when in insert mode |
SPACEFISH_VI_MODE_NORMAL |
[N] |
Text to be shown when in normal mode |
SPACEFISH_VI_MODE_VISUAL |
[V] |
Text to be shown when in visual mode |
SPACEFISH_VI_MODE_REPLACE_ONE |
[R] |
Text to be shown when in replace_one mode |
SPACEFISH_VI_MODE_COLOR |
white |
Color of Vi-mode section |
This section only shows when there are backgrounded jobs.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_JOBS_SHOW |
true |
Show background jobs indicator |
SPACEFISH_JOBS_PREFIX |
|
Prefix before the jobs indicator |
SPACEFISH_JOBS_SUFFIX |
|
Suffix after the jobs indicator |
SPACEFISH_JOBS_SYMBOL |
✦ |
Character to be shown when jobs are hiding |
SPACEFISH_JOBS_COLOR |
blue |
Color of background jobs section |
SPACEFISH_JOBS_AMOUNT_PREFIX |
|
Prefix before the number of jobs |
SPACEFISH_JOBS_AMOUNT_SUFFIX |
|
Suffix after the number of jobs |
SPACEFISH_JOBS_AMOUNT_THRESHOLD |
1 |
Number of jobs after which job count will be shown |
Disabled by default. Set SPACEFISH_EXIT_CODE_SHOW
to true
to enable.
Variable | Default | Meaning |
---|---|---|
SPACEFISH_EXIT_CODE_SHOW |
false |
Show the exit code of the previous command |
SPACEFISH_EXIT_CODE_PREFIX |
|
Prefix of exit code |
SPACEFISH_EXIT_CODE_SUFFIX |
|
Suffix of exit code |
SPACEFISH_EXIT_CODE_SYMBOL |
✘ |
Symbol before the exit code, upon failure |
SPACEFISH_EXIT_CODE_COLOR |
red |
Color of exit code section |
Variable | Default | Meaning |
---|---|---|
SPACEFISH_CHAR_PREFIX |
|
Prefix before prompt character |
SPACEFISH_CHAR_SUFFIX |
|
Suffix after prompt character |
SPACEFISH_CHAR_SYMBOL |
➜ |
Prompt character to be shown before any command |
SPACEFISH_CHAR_COLOR_SUCCESS |
green |
Color of prompt character if last command completes successfully |
SPACEFISH_CHAR_COLOR_FAILURE |
red |
Color of prompt character if last command returns non-zero exit-code |