An asynchronous zsh prompt
Add the following line to your .zshrc depending on your zsh plugin manager
antigen theme eendroroy/alien alien
zgen load eendroroy/alien
zplug "eendroroy/alien"
git clone https://github.com/eendroroy/alien.git
cd alien
git submodule update --init --recursive --remote
Add the following line to your ~/.zshrc
source ~/alien/alien.zsh
add all configurations before plugin definitions (or sourcing the theme)
To define the order of sections to display:
export ALIEN_SECTIONS_LEFT=(
exit
battery
user
path
newline
ssh
venv
prompt
)
export ALIEN_SECTIONS_RIGHT=(
time
)
To define if sections are to be loaded asyncronously add :async to the section-name:
export ALIEN_SECTIONS_LEFT=(
exit
battery
user
path
vcs_branch:async
vcs_status:async
vcs_dirty:async
newline
ssh
venv
prompt
)
To change the section-separator:
export ALIEN_SECTIONS_LEFT_SEP_SYM=
export ALIEN_SECTIONS_RIGHT_SEP_SYM=
prompt-sectionTo change the symbol of the input-prompt:
export ALIEN_PROMPT_SYM=
To change colors:
export ALIEN_PROMPT_FG=100
exit-sectionTo disable the numeric exit-code:
export ALIEN_SECTION_EXIT_CODE=0
To change colors:
export ALIEN_SECTION_EXIT_FG=100
export ALIEN_SECTION_EXIT_BG=150
export ALIEN_SECTION_EXIT_BG_ERROR=200
time-sectionTo change the format::
export ALIEN_SECTION_TIME_FORMAT=%H:%M:%S # default is %r
To change colors:
export ALIEN_SECTION_TIME_FG=100
export ALIEN_SECTION_TIME_BG=150
battery-sectionTo change colors:
export ALIEN_SECTION_BATTERY_FG=100
export ALIEN_SECTION_BATTERY_BG=150
user-sectionTo show the hostname:
export ALIEN_SECTION_USER_HOST=1
To change colors:
export ALIEN_SECTION_USER_FG=100
export ALIEN_SECTION_USER_BG=150
path-sectionTo change the number of path-components to display:
export ALIEN_SECTION_PATH_COMPONENTS=2
To change colors:
export ALIEN_SECTION_PATH_FG=100
export ALIEN_SECTION_PATH_BG=150
vcs_branch-sectionTo change colors:
export ALIEN_SECTION_VCS_BRANCH_FG=100
export ALIEN_SECTION_VCS_BRANCH_BG=150
vcs_status-sectionTo change colors:
export ALIEN_SECTION_VCS_STATUS_FG=100
export ALIEN_SECTION_VCS_STATUS_BG=150
vcs_dirty-sectionTo change colors:
export ALIEN_SECTION_VCS_DIRTY_FG=100
export ALIEN_SECTION_VCS_DIRTY_BG=150
versions-sectionDefine versions to show:
export ALIEN_VERSIONS_PROMPT='PYTHON_S RUBY_S NODE_S'
Supported versions:
PYTHON PYTHON_S RUBY RUBY_S JAVA JAVA_S
GO GO_S ELIXIR ELIXIR_S CRYSTAL CRYSTAL_S NODE NODE_S PHP PHP_S
you can chose from 6 different color schemes (blue is the default)
in ~/.zshrc just add any from the following three lines before your antigen theme ... line
export ALIEN_THEME="blue"

export ALIEN_THEME="green"

export ALIEN_THEME="red"

export ALIEN_THEME="soft"

export ALIEN_THEME="gruvbox"

export ALIEN_THEME="bnw"

Custom Color
ALIEN_PROMPT_FG=87
ALIEN_SECTION_EXIT_FG=0
ALIEN_SECTION_EXIT_BG=87
ALIEN_SECTION_EXIT_BG_ERROR=202
ALIEN_SECTION_TIME_FG=0
ALIEN_SECTION_TIME_BG=193
ALIEN_SECTION_BATTERY_FG=0
ALIEN_SECTION_BATTERY_BG=193
ALIEN_SECTION_USER_FG=0
ALIEN_SECTION_USER_BG=87
ALIEN_SECTION_PATH_FG=0
ALIEN_SECTION_PATH_BG=45
ALIEN_SECTION_VCS_BRANCH_FG=87
ALIEN_SECTION_VCS_BRANCH_BG=238
ALIEN_SECTION_VCS_STATUS_FG=87
ALIEN_SECTION_VCS_STATUS_BG=238
ALIEN_SECTION_VCS_DIRTY_FG=87
ALIEN_SECTION_VCS_DIRTY_BG=238
ALIEN_SECTION_SSH_FG=238
ALIEN_SECTION_VENV_FG=238
ALIEN_GIT_TRACKED_COLOR=193
ALIEN_GIT_UN_TRACKED_COLOR=87
ALIEN_SECTION_VERSION_BG=237
ALIEN_PYTHON_COLOR=40
ALIEN_RUBY_COLOR=196
ALIEN_JAVA_COLOR=178
ALIEN_GO_COLOR=81
ALIEN_ELIXIR_COLOR=99
ALIEN_CRYSTAL_COLOR=8
ALIEN_NODE_COLOR=41
ALIEN_PHP_COLOR=57
Or creating a new theme file:
/path/to/custom/theme.zsh
#!/usr/bin/env zsh
alien_theme(){
ALIEN_PROMPT_FG=87
ALIEN_SECTION_EXIT_FG=0
ALIEN_SECTION_EXIT_BG=87
ALIEN_SECTION_EXIT_BG_ERROR=202
ALIEN_SECTION_TIME_FG=0
ALIEN_SECTION_TIME_BG=193
ALIEN_SECTION_BATTERY_FG=0
ALIEN_SECTION_BATTERY_BG=193
ALIEN_SECTION_USER_FG=0
ALIEN_SECTION_USER_BG=87
ALIEN_SECTION_PATH_FG=0
ALIEN_SECTION_PATH_BG=45
ALIEN_SECTION_VCS_BRANCH_FG=87
ALIEN_SECTION_VCS_BRANCH_BG=238
ALIEN_SECTION_VCS_STATUS_FG=87
ALIEN_SECTION_VCS_STATUS_BG=238
ALIEN_SECTION_VCS_DIRTY_FG=87
ALIEN_SECTION_VCS_DIRTY_BG=238
ALIEN_SECTION_SSH_FG=238
ALIEN_SECTION_VENV_FG=238
ALIEN_GIT_TRACKED_COLOR=193
ALIEN_GIT_UN_TRACKED_COLOR=87
ALIEN_SECTION_VERSION_BG=237
ALIEN_PYTHON_COLOR=40
ALIEN_RUBY_COLOR=196
ALIEN_JAVA_COLOR=178
ALIEN_GO_COLOR=81
ALIEN_ELIXIR_COLOR=99
ALIEN_CRYSTAL_COLOR=8
ALIEN_NODE_COLOR=41
ALIEN_PHP_COLOR=57
}
Then activate the theme using:
export ALIEN_CUSTOM_THEME_PATH=/path/to/custom/theme.zsh
export ALIEN_KEEP_PROMPT=1
This will keep previous prompt while new prompt is being rendered.
Enable Nerd Font
export ALIEN_USE_NERD_FONT=1
*Note: Nerd fonts*
export ALIEN_GIT_STASH_SYM=@
export ALIEN_GIT_SYM=G
export ALIEN_HG_SYM=H
export ALIEN_SVN_SYM=S
export ALIEN_BRANCH_SYM=
export ALIEN_GIT_ADD_SYM=+
export ALIEN_GIT_DEL_SYM=-
export ALIEN_GIT_MOD_SYM=⭑
export ALIEN_GIT_NEW_SYM=?
export ALIEN_GIT_PUSH_SYM=↑
export ALIEN_GIT_PULL_SYM=↓
export ALIEN_JAVA_SYM='JAVA:'
export ALIEN_PY_SYM='PY:'
export ALIEN_RB_SYM='RB:'
export ALIEN_GO_SYM='GO:'
export ALIEN_ELIXIR_SYM='EX:'
export ALIEN_CRYSTAL_SYM='CR:'
export ALIEN_NODE_SYM='⬡ '
export ALIEN_PHP_SYM='PHP:'
Note: this overrides ALIEN_USE_NERD_FONT configuration.
Bug reports and pull requests are welcome on GitHub at alien repository. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
git checkout -b my-new-feature)git commit -am 'Add some feature')git push origin my-new-feature)The project is available as open source under the terms of the MIT License.