Compare commits
No commits in common. "master" and "v1.14.6" have entirely different histories.
36 changed files with 1314 additions and 3567 deletions
11
Makefile
11
Makefile
|
@ -2,13 +2,6 @@ ZSH := $(shell command -v zsh 2> /dev/null)
|
||||||
|
|
||||||
all:
|
all:
|
||||||
|
|
||||||
zwc:
|
pkg:
|
||||||
$(MAKE) -C gitstatus zwc
|
|
||||||
$(or $(ZSH),:) -fc 'for f in *.zsh-theme internal/*.zsh; do zcompile -R -- $$f.zwc $$f || exit; done'
|
|
||||||
|
|
||||||
minify:
|
|
||||||
$(MAKE) -C gitstatus minify
|
|
||||||
rm -rf -- .git .gitattributes .gitignore LICENSE Makefile README.md font.md powerlevel10k.png
|
|
||||||
|
|
||||||
pkg: zwc
|
|
||||||
$(MAKE) -C gitstatus pkg
|
$(MAKE) -C gitstatus pkg
|
||||||
|
$(or $(ZSH),:) -fc 'for f in *.zsh-theme internal/*.zsh; do zcompile -R -- $$f.zwc $$f || exit; done'
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||||
|
|
||||||
# Zsh >= 5.1 is required.
|
# Zsh >= 5.1 is required.
|
||||||
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
|
autoload -Uz is-at-least && is-at-least 5.1 || return
|
||||||
|
|
||||||
# The list of segments shown on the left. Fill it with the most important segments.
|
# The list of segments shown on the left. Fill it with the most important segments.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
||||||
|
@ -65,30 +65,23 @@
|
||||||
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
|
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
|
||||||
jenv # java version from jenv (https://github.com/jenv/jenv)
|
jenv # java version from jenv (https://github.com/jenv/jenv)
|
||||||
plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
|
plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
|
||||||
perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
|
|
||||||
phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
|
phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
|
||||||
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
|
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
|
||||||
haskell_stack # haskell version from stack (https://haskellstack.org/)
|
haskell_stack # haskell version from stack (https://haskellstack.org/)
|
||||||
kubecontext # current kubernetes context (https://kubernetes.io/)
|
kubecontext # current kubernetes context (https://kubernetes.io/)
|
||||||
terraform # terraform workspace (https://www.terraform.io)
|
terraform # terraform workspace (https://www.terraform.io)
|
||||||
# terraform_version # terraform version (https://www.terraform.io)
|
|
||||||
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
|
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
|
||||||
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
|
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
|
||||||
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
|
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
|
||||||
gcloud # google cloud cli account and project (https://cloud.google.com/)
|
gcloud # google cloud cli account and project (https://cloud.google.com/)
|
||||||
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
|
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
|
||||||
toolbox # toolbox name (https://github.com/containers/toolbox)
|
|
||||||
context # user@hostname
|
context # user@hostname
|
||||||
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
||||||
ranger # ranger shell (https://github.com/ranger/ranger)
|
ranger # ranger shell (https://github.com/ranger/ranger)
|
||||||
yazi # yazi shell (https://github.com/sxyazi/yazi)
|
|
||||||
nnn # nnn shell (https://github.com/jarun/nnn)
|
nnn # nnn shell (https://github.com/jarun/nnn)
|
||||||
lf # lf shell (https://github.com/gokcehan/lf)
|
|
||||||
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
|
||||||
vim_shell # vim shell indicator (:sh)
|
vim_shell # vim shell indicator (:sh)
|
||||||
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
||||||
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
||||||
chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
|
|
||||||
# vi_mode # vi mode (you don't need this if you've enabled prompt_char)
|
# vi_mode # vi mode (you don't need this if you've enabled prompt_char)
|
||||||
# vpn_ip # virtual private network indicator
|
# vpn_ip # virtual private network indicator
|
||||||
# load # CPU load
|
# load # CPU load
|
||||||
|
@ -98,8 +91,6 @@
|
||||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||||
per_directory_history # Oh My Zsh per-directory-history local/global indicator
|
|
||||||
# cpu_arch # CPU architecture
|
|
||||||
# time # current time
|
# time # current time
|
||||||
# =========================[ Line #2 ]=========================
|
# =========================[ Line #2 ]=========================
|
||||||
newline # \n
|
newline # \n
|
||||||
|
@ -146,7 +137,7 @@
|
||||||
# Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or
|
# Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or
|
||||||
# '─'. The last two make it easier to see the alignment between left and right prompt and to
|
# '─'. The last two make it easier to see the alignment between left and right prompt and to
|
||||||
# separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
# separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
||||||
# for more compact prompt if using this option.
|
# for more compact prompt if using using this option.
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND=
|
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND=
|
||||||
|
@ -171,9 +162,6 @@
|
||||||
typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
|
typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
|
||||||
# Separator between different-color segments on the right.
|
# Separator between different-color segments on the right.
|
||||||
typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
|
typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
|
||||||
# To remove a separator between two segments, add "_joined" to the second segment name.
|
|
||||||
# For example: POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(os_icon context_joined)
|
|
||||||
|
|
||||||
# The right end of left prompt.
|
# The right end of left prompt.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
|
||||||
# The left end of right prompt.
|
# The left end of right prompt.
|
||||||
|
@ -243,7 +231,7 @@
|
||||||
.java-version
|
.java-version
|
||||||
.perl-version
|
.perl-version
|
||||||
.php-version
|
.php-version
|
||||||
.tool-versions
|
.tool-version
|
||||||
.shorten_folder_marker
|
.shorten_folder_marker
|
||||||
.svn
|
.svn
|
||||||
.terraform
|
.terraform
|
||||||
|
@ -349,7 +337,7 @@
|
||||||
# typeset -g POWERLEVEL9K_DIR_PREFIX='%248Fin '
|
# typeset -g POWERLEVEL9K_DIR_PREFIX='%248Fin '
|
||||||
|
|
||||||
#####################################[ vcs: git status ]######################################
|
#####################################[ vcs: git status ]######################################
|
||||||
# Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
|
# Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon.
|
||||||
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
||||||
|
|
||||||
# Untracked files icon. It's really a question mark, your font isn't broken.
|
# Untracked files icon. It's really a question mark, your font isn't broken.
|
||||||
|
@ -358,7 +346,7 @@
|
||||||
|
|
||||||
# Formatter for Git status.
|
# Formatter for Git status.
|
||||||
#
|
#
|
||||||
# Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
# Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
||||||
#
|
#
|
||||||
# You can edit the function to customize how Git status looks.
|
# You can edit the function to customize how Git status looks.
|
||||||
#
|
#
|
||||||
|
@ -416,7 +404,7 @@
|
||||||
|
|
||||||
# Display the current Git commit if there is no branch and no tag.
|
# Display the current Git commit if there is no branch and no tag.
|
||||||
# Tip: To always display the current Git commit, delete the next line.
|
# Tip: To always display the current Git commit, delete the next line.
|
||||||
[[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line
|
[[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_LOCAL_BRANCH ]] && # <-- this line
|
||||||
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
|
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
|
||||||
|
|
||||||
# Show tracking branch name if it differs from local branch.
|
# Show tracking branch name if it differs from local branch.
|
||||||
|
@ -424,22 +412,11 @@
|
||||||
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
|
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Display "wip" if the latest commit's summary contains "wip" or "WIP".
|
|
||||||
if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then
|
|
||||||
res+=" ${modified}wip"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
|
|
||||||
# ⇣42 if behind the remote.
|
# ⇣42 if behind the remote.
|
||||||
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
||||||
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
||||||
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
||||||
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
||||||
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
|
|
||||||
# Tip: Uncomment the next line to display '=' if up to date with the remote.
|
|
||||||
# res+=" ${clean}="
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ⇠42 if behind the push remote.
|
# ⇠42 if behind the push remote.
|
||||||
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
||||||
|
@ -730,30 +707,12 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]#####################
|
|
||||||
# Yazi shell color.
|
|
||||||
typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
|
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
|
||||||
# Nnn shell color.
|
# Nnn shell color.
|
||||||
typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
|
typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
|
|
||||||
# lf shell color.
|
|
||||||
typeset -g POWERLEVEL9K_LF_FOREGROUND=72
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
|
|
||||||
# xplr shell color.
|
|
||||||
typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
|
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
|
||||||
# Vim shell indicator color.
|
# Vim shell indicator color.
|
||||||
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34
|
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34
|
||||||
|
@ -770,21 +729,12 @@
|
||||||
# Nix shell color.
|
# Nix shell color.
|
||||||
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
|
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
|
||||||
|
|
||||||
# Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
|
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
|
|
||||||
|
|
||||||
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
|
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
|
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]##################
|
|
||||||
# chezmoi shell color.
|
|
||||||
typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=33
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################################[ disk_usage: disk usage ]##################################
|
##################################[ disk_usage: disk usage ]##################################
|
||||||
# Colors for different levels of disk usage.
|
# Colors for different levels of disk usage.
|
||||||
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
|
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
|
||||||
|
@ -811,8 +761,9 @@
|
||||||
# Text and color for insert vi mode.
|
# Text and color for insert vi mode.
|
||||||
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
||||||
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66
|
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_VI_MODE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######################################[ ram: free RAM ]#######################################
|
######################################[ ram: free RAM ]#######################################
|
||||||
# RAM color.
|
# RAM color.
|
||||||
|
@ -894,30 +845,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
|
|
||||||
# Color when using local/global history.
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130
|
|
||||||
|
|
||||||
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
|
|
||||||
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
################################[ cpu_arch: CPU architecture ]################################
|
|
||||||
# CPU architecture color.
|
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
|
|
||||||
|
|
||||||
# Hide the segment when on a specific CPU architecture.
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION=
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION=
|
|
||||||
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################################[ context: user@hostname ]##################################
|
##################################[ context: user@hostname ]##################################
|
||||||
# Context color when running with privileges.
|
# Context color when running with privileges.
|
||||||
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178
|
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178
|
||||||
|
@ -1006,10 +933,10 @@
|
||||||
#
|
#
|
||||||
# The default format has the following logic:
|
# The default format has the following logic:
|
||||||
#
|
#
|
||||||
# 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or
|
# 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not
|
||||||
# starts with "$P9K_PYENV_PYTHON_VERSION/".
|
# empty and unequal to $P9K_CONTENT.
|
||||||
# 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION".
|
# 2. Otherwise display just "$P9K_CONTENT".
|
||||||
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
|
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}'
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
@ -1043,11 +970,6 @@
|
||||||
##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
|
##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
|
||||||
# Nvm color.
|
# Nvm color.
|
||||||
typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
|
typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
|
||||||
# If set to false, hide node version if it's the same as default:
|
|
||||||
# $(nvm version current) == $(nvm version default).
|
|
||||||
typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false
|
|
||||||
# If set to false, hide node version if it's equal to "system".
|
|
||||||
typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
@ -1197,16 +1119,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############
|
|
||||||
# Perlbrew color.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67
|
|
||||||
# Show perlbrew version only when in a perl project subdirectory.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true
|
|
||||||
# Don't show "perl-" at the front.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
|
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
|
||||||
# PHP color.
|
# PHP color.
|
||||||
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
|
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
|
||||||
|
@ -1280,16 +1192,10 @@
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
|
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#############[ terraform_version: terraform version (https://www.terraform.io) ]##############
|
|
||||||
# Terraform version color.
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
||||||
# Show kubecontext only when the command you are typing invokes one of these tools.
|
# Show kubecontext only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show kubecontext.
|
# Tip: Remove the next line to always show kubecontext.
|
||||||
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl'
|
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile'
|
||||||
|
|
||||||
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
|
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
|
||||||
# different contexts.
|
# different contexts.
|
||||||
|
@ -1374,9 +1280,9 @@
|
||||||
# typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat '
|
# typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat '
|
||||||
|
|
||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
||||||
# Show aws only when the command you are typing invokes one of these tools.
|
# Show aws only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show aws.
|
# Tip: Remove the next line to always show aws.
|
||||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
||||||
# in each pair defines a pattern against which the current AWS profile gets matched.
|
# in each pair defines a pattern against which the current AWS profile gets matched.
|
||||||
|
@ -1408,12 +1314,6 @@
|
||||||
typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
|
typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
|
||||||
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
# AWS segment format. The following parameters are available within the expansion.
|
|
||||||
#
|
|
||||||
# - P9K_AWS_PROFILE The name of the current AWS profile.
|
|
||||||
# - P9K_AWS_REGION The region associated with the current AWS profile.
|
|
||||||
typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}'
|
|
||||||
|
|
||||||
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
|
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
|
||||||
# AWS Elastic Beanstalk environment color.
|
# AWS Elastic Beanstalk environment color.
|
||||||
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
|
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
|
||||||
|
@ -1421,47 +1321,18 @@
|
||||||
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
|
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
|
||||||
# Show azure only when the command you are typing invokes one of these tools.
|
# Show azure only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show azure.
|
# Tip: Remove the next line to always show azure.
|
||||||
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element
|
|
||||||
# in each pair defines a pattern against which the current azure account name gets matched.
|
|
||||||
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
|
||||||
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
|
|
||||||
# you'll see this value in your prompt. The second element of each pair in
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
|
|
||||||
# first match wins.
|
|
||||||
#
|
|
||||||
# For example, given these settings:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD
|
|
||||||
# '*test*' TEST
|
|
||||||
# '*' OTHER)
|
|
||||||
#
|
|
||||||
# If your current azure account is "company_test", its class is TEST because "company_test"
|
|
||||||
# doesn't match the pattern '*prod*' but does match '*test*'.
|
|
||||||
#
|
|
||||||
# You can define different colors, icons and content expansions for different classes:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
|
||||||
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD # These values are examples that are unlikely
|
|
||||||
# '*test*' TEST # to match your needs. Customize them as needed.
|
|
||||||
'*' OTHER)
|
|
||||||
|
|
||||||
# Azure account name color.
|
# Azure account name color.
|
||||||
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
|
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
# Show gcloud only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show gcloud.
|
# Tip: Remove the next line to always show gcloud.
|
||||||
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil'
|
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs'
|
||||||
# Google cloud color.
|
# Google cloud color.
|
||||||
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
|
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
|
||||||
|
|
||||||
|
@ -1500,7 +1371,7 @@
|
||||||
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
|
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
|
||||||
# Show google_app_cred only when the command you are typing invokes one of these tools.
|
# Show google_app_cred only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show google_app_cred.
|
# Tip: Remove the next line to always show google_app_cred.
|
||||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
|
@ -1553,16 +1424,6 @@
|
||||||
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
|
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
|
||||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
|
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
|
||||||
|
|
||||||
##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]###############
|
|
||||||
# Toolbox color.
|
|
||||||
typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178
|
|
||||||
# Don't display the name of the toolbox if it matches fedora-toolbox-*.
|
|
||||||
typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}'
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# Custom prefix.
|
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%248Fin '
|
|
||||||
|
|
||||||
###############################[ public_ip: public IP address ]###############################
|
###############################[ public_ip: public IP address ]###############################
|
||||||
# Public IP color.
|
# Public IP color.
|
||||||
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
|
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
|
||||||
|
@ -1577,7 +1438,7 @@
|
||||||
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
|
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
|
||||||
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
|
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
|
||||||
# to see the name of the interface.
|
# to see the name of the interface.
|
||||||
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)'
|
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*'
|
||||||
# If set to true, show one segment per matching network interface. If set to false, show only
|
# If set to true, show one segment per matching network interface. If set to false, show only
|
||||||
# one segment corresponding to the first matching network interface.
|
# one segment corresponding to the first matching network interface.
|
||||||
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
|
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
|
||||||
|
@ -1591,13 +1452,11 @@
|
||||||
# The following parameters are accessible within the expansion:
|
# The following parameters are accessible within the expansion:
|
||||||
#
|
#
|
||||||
# Parameter | Meaning
|
# Parameter | Meaning
|
||||||
# ----------------------+-------------------------------------------
|
# ----------------------+---------------
|
||||||
# P9K_IP_IP | IP address
|
# P9K_IP_IP | IP address
|
||||||
# P9K_IP_INTERFACE | network interface
|
# P9K_IP_INTERFACE | network interface
|
||||||
# P9K_IP_RX_BYTES | total number of bytes received
|
# P9K_IP_RX_BYTES | total number of bytes received
|
||||||
# P9K_IP_TX_BYTES | total number of bytes sent
|
# P9K_IP_TX_BYTES | total number of bytes sent
|
||||||
# P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt
|
|
||||||
# P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
|
|
||||||
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
||||||
# P9K_IP_TX_RATE | send rate (since last prompt)
|
# P9K_IP_TX_RATE | send rate (since last prompt)
|
||||||
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP'
|
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP'
|
||||||
|
@ -1677,7 +1536,7 @@
|
||||||
|
|
||||||
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
||||||
# is to generate the prompt segment for display in instant prompt. See
|
# is to generate the prompt segment for display in instant prompt. See
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
#
|
#
|
||||||
# Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
|
# Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
|
||||||
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
||||||
|
@ -1713,7 +1572,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# during zsh initialization. Choose this if you've read and understood
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||||
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||||
# seen the warning, or if you are unsure what this all means.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||||
|
|
||||||
# Zsh >= 5.1 is required.
|
# Zsh >= 5.1 is required.
|
||||||
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
|
autoload -Uz is-at-least && is-at-least 5.1 || return
|
||||||
|
|
||||||
# The list of segments shown on the left. Fill it with the most important segments.
|
# The list of segments shown on the left. Fill it with the most important segments.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
||||||
|
@ -65,30 +65,23 @@
|
||||||
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
|
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
|
||||||
jenv # java version from jenv (https://github.com/jenv/jenv)
|
jenv # java version from jenv (https://github.com/jenv/jenv)
|
||||||
plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
|
plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
|
||||||
perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
|
|
||||||
phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
|
phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
|
||||||
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
|
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
|
||||||
haskell_stack # haskell version from stack (https://haskellstack.org/)
|
haskell_stack # haskell version from stack (https://haskellstack.org/)
|
||||||
kubecontext # current kubernetes context (https://kubernetes.io/)
|
kubecontext # current kubernetes context (https://kubernetes.io/)
|
||||||
terraform # terraform workspace (https://www.terraform.io)
|
terraform # terraform workspace (https://www.terraform.io)
|
||||||
# terraform_version # terraform version (https://www.terraform.io)
|
|
||||||
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
|
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
|
||||||
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
|
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
|
||||||
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
|
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
|
||||||
gcloud # google cloud cli account and project (https://cloud.google.com/)
|
gcloud # google cloud cli account and project (https://cloud.google.com/)
|
||||||
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
|
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
|
||||||
toolbox # toolbox name (https://github.com/containers/toolbox)
|
|
||||||
context # user@hostname
|
context # user@hostname
|
||||||
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
||||||
ranger # ranger shell (https://github.com/ranger/ranger)
|
ranger # ranger shell (https://github.com/ranger/ranger)
|
||||||
yazi # yazi shell (https://github.com/sxyazi/yazi)
|
|
||||||
nnn # nnn shell (https://github.com/jarun/nnn)
|
nnn # nnn shell (https://github.com/jarun/nnn)
|
||||||
lf # lf shell (https://github.com/gokcehan/lf)
|
|
||||||
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
|
||||||
vim_shell # vim shell indicator (:sh)
|
vim_shell # vim shell indicator (:sh)
|
||||||
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
||||||
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
||||||
chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
|
|
||||||
# vpn_ip # virtual private network indicator
|
# vpn_ip # virtual private network indicator
|
||||||
# load # CPU load
|
# load # CPU load
|
||||||
# disk_usage # disk usage
|
# disk_usage # disk usage
|
||||||
|
@ -97,8 +90,6 @@
|
||||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||||
per_directory_history # Oh My Zsh per-directory-history local/global indicator
|
|
||||||
# cpu_arch # CPU architecture
|
|
||||||
# time # current time
|
# time # current time
|
||||||
# =========================[ Line #2 ]=========================
|
# =========================[ Line #2 ]=========================
|
||||||
newline # \n
|
newline # \n
|
||||||
|
@ -234,7 +225,7 @@
|
||||||
.java-version
|
.java-version
|
||||||
.perl-version
|
.perl-version
|
||||||
.php-version
|
.php-version
|
||||||
.tool-versions
|
.tool-version
|
||||||
.shorten_folder_marker
|
.shorten_folder_marker
|
||||||
.svn
|
.svn
|
||||||
.terraform
|
.terraform
|
||||||
|
@ -277,6 +268,10 @@
|
||||||
# the full directory that was used in previous commands.
|
# the full directory that was used in previous commands.
|
||||||
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
|
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
|
||||||
|
|
||||||
|
# Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and
|
||||||
|
# POWERLEVEL9K_DIR_CLASSES below.
|
||||||
|
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2
|
||||||
|
|
||||||
# Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
|
# Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
|
||||||
# and POWERLEVEL9K_DIR_CLASSES below.
|
# and POWERLEVEL9K_DIR_CLASSES below.
|
||||||
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3
|
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3
|
||||||
|
@ -340,7 +335,7 @@
|
||||||
# typeset -g POWERLEVEL9K_DIR_PREFIX='%fin '
|
# typeset -g POWERLEVEL9K_DIR_PREFIX='%fin '
|
||||||
|
|
||||||
#####################################[ vcs: git status ]######################################
|
#####################################[ vcs: git status ]######################################
|
||||||
# Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
|
# Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon.
|
||||||
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
||||||
|
|
||||||
# Untracked files icon. It's really a question mark, your font isn't broken.
|
# Untracked files icon. It's really a question mark, your font isn't broken.
|
||||||
|
@ -349,7 +344,7 @@
|
||||||
|
|
||||||
# Formatter for Git status.
|
# Formatter for Git status.
|
||||||
#
|
#
|
||||||
# Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
# Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
||||||
#
|
#
|
||||||
# You can edit the function to customize how Git status looks.
|
# You can edit the function to customize how Git status looks.
|
||||||
#
|
#
|
||||||
|
@ -407,7 +402,7 @@
|
||||||
|
|
||||||
# Display the current Git commit if there is no branch and no tag.
|
# Display the current Git commit if there is no branch and no tag.
|
||||||
# Tip: To always display the current Git commit, delete the next line.
|
# Tip: To always display the current Git commit, delete the next line.
|
||||||
[[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line
|
[[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_LOCAL_BRANCH ]] && # <-- this line
|
||||||
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
|
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
|
||||||
|
|
||||||
# Show tracking branch name if it differs from local branch.
|
# Show tracking branch name if it differs from local branch.
|
||||||
|
@ -415,22 +410,11 @@
|
||||||
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
|
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Display "wip" if the latest commit's summary contains "wip" or "WIP".
|
|
||||||
if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then
|
|
||||||
res+=" ${modified}wip"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
|
|
||||||
# ⇣42 if behind the remote.
|
# ⇣42 if behind the remote.
|
||||||
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
||||||
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
||||||
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
||||||
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
||||||
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
|
|
||||||
# Tip: Uncomment the next line to display '=' if up to date with the remote.
|
|
||||||
# res+=" ${clean}="
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ⇠42 if behind the push remote.
|
# ⇠42 if behind the push remote.
|
||||||
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
||||||
|
@ -493,7 +477,7 @@
|
||||||
|
|
||||||
# Show status of repositories of these types. You can add svn and/or hg if you are
|
# Show status of repositories of these types. You can add svn and/or hg if you are
|
||||||
# using them. If you do, your prompt may become slow even when your current directory
|
# using them. If you do, your prompt may become slow even when your current directory
|
||||||
# isn't in an svn or hg repository.
|
# isn't in an svn or hg reposotiry.
|
||||||
typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
|
typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
|
||||||
|
|
||||||
# These settings are used for repositories other than Git or when gitstatusd fails and
|
# These settings are used for repositories other than Git or when gitstatusd fails and
|
||||||
|
@ -721,30 +705,12 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]#####################
|
|
||||||
# Yazi shell color.
|
|
||||||
typeset -g POWERLEVEL9K_YAZI_FOREGROUND=3
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
|
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
|
||||||
# Nnn shell color.
|
# Nnn shell color.
|
||||||
typeset -g POWERLEVEL9K_NNN_FOREGROUND=3
|
typeset -g POWERLEVEL9K_NNN_FOREGROUND=3
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
|
|
||||||
# lf shell color.
|
|
||||||
typeset -g POWERLEVEL9K_LF_FOREGROUND=3
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
|
|
||||||
# xplr shell color.
|
|
||||||
typeset -g POWERLEVEL9K_XPLR_FOREGROUND=3
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
|
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
|
||||||
# Vim shell indicator color.
|
# Vim shell indicator color.
|
||||||
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=3
|
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=3
|
||||||
|
@ -761,21 +727,12 @@
|
||||||
# Nix shell color.
|
# Nix shell color.
|
||||||
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=4
|
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=4
|
||||||
|
|
||||||
# Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
|
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
|
|
||||||
|
|
||||||
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
|
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
|
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]##################
|
|
||||||
# chezmoi shell color.
|
|
||||||
typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=4
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################################[ disk_usage: disk usage ]##################################
|
##################################[ disk_usage: disk usage ]##################################
|
||||||
# Colors for different levels of disk usage.
|
# Colors for different levels of disk usage.
|
||||||
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=2
|
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=2
|
||||||
|
@ -869,30 +826,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
|
|
||||||
# Color when using local/global history.
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=5
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=3
|
|
||||||
|
|
||||||
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
|
|
||||||
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
################################[ cpu_arch: CPU architecture ]################################
|
|
||||||
# CPU architecture color.
|
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=3
|
|
||||||
|
|
||||||
# Hide the segment when on a specific CPU architecture.
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION=
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION=
|
|
||||||
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################################[ context: user@hostname ]##################################
|
##################################[ context: user@hostname ]##################################
|
||||||
# Context color when running with privileges.
|
# Context color when running with privileges.
|
||||||
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1
|
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1
|
||||||
|
@ -981,10 +914,10 @@
|
||||||
#
|
#
|
||||||
# The default format has the following logic:
|
# The default format has the following logic:
|
||||||
#
|
#
|
||||||
# 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or
|
# 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not
|
||||||
# starts with "$P9K_PYENV_PYTHON_VERSION/".
|
# empty and unequal to $P9K_CONTENT.
|
||||||
# 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION".
|
# 2. Otherwise display just "$P9K_CONTENT".
|
||||||
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
|
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}'
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
@ -1018,11 +951,6 @@
|
||||||
##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
|
##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
|
||||||
# Nvm color.
|
# Nvm color.
|
||||||
typeset -g POWERLEVEL9K_NVM_FOREGROUND=2
|
typeset -g POWERLEVEL9K_NVM_FOREGROUND=2
|
||||||
# If set to false, hide node version if it's the same as default:
|
|
||||||
# $(nvm version current) == $(nvm version default).
|
|
||||||
typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false
|
|
||||||
# If set to false, hide node version if it's equal to "system".
|
|
||||||
typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
@ -1172,16 +1100,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############
|
|
||||||
# Perlbrew color.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67
|
|
||||||
# Show perlbrew version only when in a perl project subdirectory.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true
|
|
||||||
# Don't show "perl-" at the front.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
|
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
|
||||||
# PHP color.
|
# PHP color.
|
||||||
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=5
|
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=5
|
||||||
|
@ -1223,9 +1141,9 @@
|
||||||
# typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
||||||
# Show kubecontext only when the command you are typing invokes one of these tools.
|
# Show kubecontext only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show kubecontext.
|
# Tip: Remove the next line to always show kubecontext.
|
||||||
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl'
|
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile'
|
||||||
|
|
||||||
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
|
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
|
||||||
# different contexts.
|
# different contexts.
|
||||||
|
@ -1342,16 +1260,10 @@
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=4
|
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=4
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#############[ terraform_version: terraform version (https://www.terraform.io) ]##############
|
|
||||||
# Terraform version color.
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=4
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
||||||
# Show aws only when the command you are typing invokes one of these tools.
|
# Show aws only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show aws.
|
# Tip: Remove the next line to always show aws.
|
||||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
||||||
# in each pair defines a pattern against which the current AWS profile gets matched.
|
# in each pair defines a pattern against which the current AWS profile gets matched.
|
||||||
|
@ -1383,12 +1295,6 @@
|
||||||
typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=3
|
typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=3
|
||||||
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
# AWS segment format. The following parameters are available within the expansion.
|
|
||||||
#
|
|
||||||
# - P9K_AWS_PROFILE The name of the current AWS profile.
|
|
||||||
# - P9K_AWS_REGION The region associated with the current AWS profile.
|
|
||||||
typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}'
|
|
||||||
|
|
||||||
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
|
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
|
||||||
# AWS Elastic Beanstalk environment color.
|
# AWS Elastic Beanstalk environment color.
|
||||||
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2
|
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2
|
||||||
|
@ -1396,47 +1302,18 @@
|
||||||
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
|
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
|
||||||
# Show azure only when the command you are typing invokes one of these tools.
|
# Show azure only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show azure.
|
# Tip: Remove the next line to always show azure.
|
||||||
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element
|
|
||||||
# in each pair defines a pattern against which the current azure account name gets matched.
|
|
||||||
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
|
||||||
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
|
|
||||||
# you'll see this value in your prompt. The second element of each pair in
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
|
|
||||||
# first match wins.
|
|
||||||
#
|
|
||||||
# For example, given these settings:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD
|
|
||||||
# '*test*' TEST
|
|
||||||
# '*' OTHER)
|
|
||||||
#
|
|
||||||
# If your current azure account is "company_test", its class is TEST because "company_test"
|
|
||||||
# doesn't match the pattern '*prod*' but does match '*test*'.
|
|
||||||
#
|
|
||||||
# You can define different colors, icons and content expansions for different classes:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=2
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
|
||||||
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD # These values are examples that are unlikely
|
|
||||||
# '*test*' TEST # to match your needs. Customize them as needed.
|
|
||||||
'*' OTHER)
|
|
||||||
|
|
||||||
# Azure account name color.
|
# Azure account name color.
|
||||||
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=4
|
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=4
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
# Show gcloud only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show gcloud.
|
# Tip: Remove the next line to always show gcloud.
|
||||||
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil'
|
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs'
|
||||||
# Google cloud color.
|
# Google cloud color.
|
||||||
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=4
|
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=4
|
||||||
|
|
||||||
|
@ -1475,7 +1352,7 @@
|
||||||
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
|
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
|
||||||
# Show google_app_cred only when the command you are typing invokes one of these tools.
|
# Show google_app_cred only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show google_app_cred.
|
# Tip: Remove the next line to always show google_app_cred.
|
||||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
|
@ -1528,16 +1405,6 @@
|
||||||
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
|
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
|
||||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
|
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
|
||||||
|
|
||||||
##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]###############
|
|
||||||
# Toolbox color.
|
|
||||||
typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=3
|
|
||||||
# Don't display the name of the toolbox if it matches fedora-toolbox-*.
|
|
||||||
typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}'
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# Custom prefix.
|
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%fin '
|
|
||||||
|
|
||||||
###############################[ public_ip: public IP address ]###############################
|
###############################[ public_ip: public IP address ]###############################
|
||||||
# Public IP color.
|
# Public IP color.
|
||||||
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=6
|
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=6
|
||||||
|
@ -1552,7 +1419,7 @@
|
||||||
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
|
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
|
||||||
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
|
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
|
||||||
# to see the name of the interface.
|
# to see the name of the interface.
|
||||||
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)'
|
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*'
|
||||||
# If set to true, show one segment per matching network interface. If set to false, show only
|
# If set to true, show one segment per matching network interface. If set to false, show only
|
||||||
# one segment corresponding to the first matching network interface.
|
# one segment corresponding to the first matching network interface.
|
||||||
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
|
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
|
||||||
|
@ -1566,13 +1433,11 @@
|
||||||
# The following parameters are accessible within the expansion:
|
# The following parameters are accessible within the expansion:
|
||||||
#
|
#
|
||||||
# Parameter | Meaning
|
# Parameter | Meaning
|
||||||
# ----------------------+-------------------------------------------
|
# ----------------------+---------------
|
||||||
# P9K_IP_IP | IP address
|
# P9K_IP_IP | IP address
|
||||||
# P9K_IP_INTERFACE | network interface
|
# P9K_IP_INTERFACE | network interface
|
||||||
# P9K_IP_RX_BYTES | total number of bytes received
|
# P9K_IP_RX_BYTES | total number of bytes received
|
||||||
# P9K_IP_TX_BYTES | total number of bytes sent
|
# P9K_IP_TX_BYTES | total number of bytes sent
|
||||||
# P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt
|
|
||||||
# P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
|
|
||||||
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
||||||
# P9K_IP_TX_RATE | send rate (since last prompt)
|
# P9K_IP_TX_RATE | send rate (since last prompt)
|
||||||
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %2F⇣$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %3F⇡$P9K_IP_TX_RATE}'
|
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %2F⇣$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %3F⇡$P9K_IP_TX_RATE}'
|
||||||
|
@ -1652,7 +1517,7 @@
|
||||||
|
|
||||||
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
||||||
# is to generate the prompt segment for display in instant prompt. See
|
# is to generate the prompt segment for display in instant prompt. See
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
#
|
#
|
||||||
# Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
|
# Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
|
||||||
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
||||||
|
@ -1688,7 +1553,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# during zsh initialization. Choose this if you've read and understood
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||||
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||||
# seen the warning, or if you are unsure what this all means.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||||
|
|
||||||
# Zsh >= 5.1 is required.
|
# Zsh >= 5.1 is required.
|
||||||
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
|
autoload -Uz is-at-least && is-at-least 5.1 || return
|
||||||
|
|
||||||
# The list of segments shown on the left. Fill it with the most important segments.
|
# The list of segments shown on the left. Fill it with the most important segments.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
||||||
|
@ -65,30 +65,23 @@
|
||||||
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
|
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
|
||||||
jenv # java version from jenv (https://github.com/jenv/jenv)
|
jenv # java version from jenv (https://github.com/jenv/jenv)
|
||||||
plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
|
plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
|
||||||
perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
|
|
||||||
phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
|
phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
|
||||||
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
|
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
|
||||||
haskell_stack # haskell version from stack (https://haskellstack.org/)
|
haskell_stack # haskell version from stack (https://haskellstack.org/)
|
||||||
kubecontext # current kubernetes context (https://kubernetes.io/)
|
kubecontext # current kubernetes context (https://kubernetes.io/)
|
||||||
terraform # terraform workspace (https://www.terraform.io)
|
terraform # terraform workspace (https://www.terraform.io)
|
||||||
# terraform_version # terraform version (https://www.terraform.io)
|
|
||||||
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
|
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
|
||||||
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
|
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
|
||||||
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
|
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
|
||||||
gcloud # google cloud cli account and project (https://cloud.google.com/)
|
gcloud # google cloud cli account and project (https://cloud.google.com/)
|
||||||
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
|
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
|
||||||
toolbox # toolbox name (https://github.com/containers/toolbox)
|
|
||||||
context # user@hostname
|
context # user@hostname
|
||||||
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
||||||
ranger # ranger shell (https://github.com/ranger/ranger)
|
ranger # ranger shell (https://github.com/ranger/ranger)
|
||||||
yazi # yazi shell (https://github.com/sxyazi/yazi)
|
|
||||||
nnn # nnn shell (https://github.com/jarun/nnn)
|
nnn # nnn shell (https://github.com/jarun/nnn)
|
||||||
lf # lf shell (https://github.com/gokcehan/lf)
|
|
||||||
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
|
||||||
vim_shell # vim shell indicator (:sh)
|
vim_shell # vim shell indicator (:sh)
|
||||||
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
||||||
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
||||||
chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
|
|
||||||
# vpn_ip # virtual private network indicator
|
# vpn_ip # virtual private network indicator
|
||||||
# load # CPU load
|
# load # CPU load
|
||||||
# disk_usage # disk usage
|
# disk_usage # disk usage
|
||||||
|
@ -97,8 +90,6 @@
|
||||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||||
per_directory_history # Oh My Zsh per-directory-history local/global indicator
|
|
||||||
# cpu_arch # CPU architecture
|
|
||||||
# time # current time
|
# time # current time
|
||||||
# =========================[ Line #2 ]=========================
|
# =========================[ Line #2 ]=========================
|
||||||
newline
|
newline
|
||||||
|
@ -234,7 +225,7 @@
|
||||||
.java-version
|
.java-version
|
||||||
.perl-version
|
.perl-version
|
||||||
.php-version
|
.php-version
|
||||||
.tool-versions
|
.tool-version
|
||||||
.shorten_folder_marker
|
.shorten_folder_marker
|
||||||
.svn
|
.svn
|
||||||
.terraform
|
.terraform
|
||||||
|
@ -340,7 +331,7 @@
|
||||||
# typeset -g POWERLEVEL9K_DIR_PREFIX='%fin '
|
# typeset -g POWERLEVEL9K_DIR_PREFIX='%fin '
|
||||||
|
|
||||||
#####################################[ vcs: git status ]######################################
|
#####################################[ vcs: git status ]######################################
|
||||||
# Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
|
# Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon.
|
||||||
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
||||||
|
|
||||||
# Untracked files icon. It's really a question mark, your font isn't broken.
|
# Untracked files icon. It's really a question mark, your font isn't broken.
|
||||||
|
@ -349,7 +340,7 @@
|
||||||
|
|
||||||
# Formatter for Git status.
|
# Formatter for Git status.
|
||||||
#
|
#
|
||||||
# Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
# Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
||||||
#
|
#
|
||||||
# You can edit the function to customize how Git status looks.
|
# You can edit the function to customize how Git status looks.
|
||||||
#
|
#
|
||||||
|
@ -407,7 +398,7 @@
|
||||||
|
|
||||||
# Display the current Git commit if there is no branch and no tag.
|
# Display the current Git commit if there is no branch and no tag.
|
||||||
# Tip: To always display the current Git commit, delete the next line.
|
# Tip: To always display the current Git commit, delete the next line.
|
||||||
[[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line
|
[[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_LOCAL_BRANCH ]] && # <-- this line
|
||||||
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
|
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
|
||||||
|
|
||||||
# Show tracking branch name if it differs from local branch.
|
# Show tracking branch name if it differs from local branch.
|
||||||
|
@ -415,22 +406,11 @@
|
||||||
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
|
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Display "wip" if the latest commit's summary contains "wip" or "WIP".
|
|
||||||
if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then
|
|
||||||
res+=" ${modified}wip"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
|
|
||||||
# ⇣42 if behind the remote.
|
# ⇣42 if behind the remote.
|
||||||
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
||||||
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
||||||
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
||||||
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
||||||
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
|
|
||||||
# Tip: Uncomment the next line to display '=' if up to date with the remote.
|
|
||||||
# res+=" ${clean}="
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ⇠42 if behind the push remote.
|
# ⇠42 if behind the push remote.
|
||||||
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
||||||
|
@ -493,7 +473,7 @@
|
||||||
|
|
||||||
# Show status of repositories of these types. You can add svn and/or hg if you are
|
# Show status of repositories of these types. You can add svn and/or hg if you are
|
||||||
# using them. If you do, your prompt may become slow even when your current directory
|
# using them. If you do, your prompt may become slow even when your current directory
|
||||||
# isn't in an svn or hg repository.
|
# isn't in an svn or hg reposotiry.
|
||||||
typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
|
typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
|
||||||
|
|
||||||
# These settings are used for repositories other than Git or when gitstatusd fails and
|
# These settings are used for repositories other than Git or when gitstatusd fails and
|
||||||
|
@ -721,30 +701,12 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]#####################
|
|
||||||
# Yazi shell color.
|
|
||||||
typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
|
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
|
||||||
# Nnn shell color.
|
# Nnn shell color.
|
||||||
typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
|
typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
|
|
||||||
# lf shell color.
|
|
||||||
typeset -g POWERLEVEL9K_LF_FOREGROUND=72
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
|
|
||||||
# xplr shell color.
|
|
||||||
typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
|
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
|
||||||
# Vim shell indicator color.
|
# Vim shell indicator color.
|
||||||
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34
|
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34
|
||||||
|
@ -761,21 +723,12 @@
|
||||||
# Nix shell color.
|
# Nix shell color.
|
||||||
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
|
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
|
||||||
|
|
||||||
# Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
|
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
|
|
||||||
|
|
||||||
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
|
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
|
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]##################
|
|
||||||
# chezmoi shell color.
|
|
||||||
typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=33
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################################[ disk_usage: disk usage ]##################################
|
##################################[ disk_usage: disk usage ]##################################
|
||||||
# Colors for different levels of disk usage.
|
# Colors for different levels of disk usage.
|
||||||
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
|
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
|
||||||
|
@ -869,30 +822,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
|
|
||||||
# Color when using local/global history.
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130
|
|
||||||
|
|
||||||
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
|
|
||||||
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
################################[ cpu_arch: CPU architecture ]################################
|
|
||||||
# CPU architecture color.
|
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
|
|
||||||
|
|
||||||
# Hide the segment when on a specific CPU architecture.
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION=
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION=
|
|
||||||
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################################[ context: user@hostname ]##################################
|
##################################[ context: user@hostname ]##################################
|
||||||
# Context color when running with privileges.
|
# Context color when running with privileges.
|
||||||
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178
|
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178
|
||||||
|
@ -981,10 +910,10 @@
|
||||||
#
|
#
|
||||||
# The default format has the following logic:
|
# The default format has the following logic:
|
||||||
#
|
#
|
||||||
# 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or
|
# 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not
|
||||||
# starts with "$P9K_PYENV_PYTHON_VERSION/".
|
# empty and unequal to $P9K_CONTENT.
|
||||||
# 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION".
|
# 2. Otherwise display just "$P9K_CONTENT".
|
||||||
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
|
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}'
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
@ -1018,11 +947,6 @@
|
||||||
##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
|
##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
|
||||||
# Nvm color.
|
# Nvm color.
|
||||||
typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
|
typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
|
||||||
# If set to false, hide node version if it's the same as default:
|
|
||||||
# $(nvm version current) == $(nvm version default).
|
|
||||||
typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false
|
|
||||||
# If set to false, hide node version if it's equal to "system".
|
|
||||||
typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
@ -1172,16 +1096,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############
|
|
||||||
# Perlbrew color.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67
|
|
||||||
# Show perlbrew version only when in a perl project subdirectory.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true
|
|
||||||
# Don't show "perl-" at the front.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
|
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
|
||||||
# PHP color.
|
# PHP color.
|
||||||
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
|
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
|
||||||
|
@ -1223,9 +1137,9 @@
|
||||||
# typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
||||||
# Show kubecontext only when the command you are typing invokes one of these tools.
|
# Show kubecontext only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show kubecontext.
|
# Tip: Remove the next line to always show kubecontext.
|
||||||
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl'
|
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile'
|
||||||
|
|
||||||
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
|
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
|
||||||
# different contexts.
|
# different contexts.
|
||||||
|
@ -1342,16 +1256,10 @@
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
|
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#############[ terraform_version: terraform version (https://www.terraform.io) ]##############
|
|
||||||
# Terraform version color.
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
||||||
# Show aws only when the command you are typing invokes one of these tools.
|
# Show aws only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show aws.
|
# Tip: Remove the next line to always show aws.
|
||||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
||||||
# in each pair defines a pattern against which the current AWS profile gets matched.
|
# in each pair defines a pattern against which the current AWS profile gets matched.
|
||||||
|
@ -1383,12 +1291,6 @@
|
||||||
typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
|
typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
|
||||||
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
# AWS segment format. The following parameters are available within the expansion.
|
|
||||||
#
|
|
||||||
# - P9K_AWS_PROFILE The name of the current AWS profile.
|
|
||||||
# - P9K_AWS_REGION The region associated with the current AWS profile.
|
|
||||||
typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}'
|
|
||||||
|
|
||||||
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
|
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
|
||||||
# AWS Elastic Beanstalk environment color.
|
# AWS Elastic Beanstalk environment color.
|
||||||
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
|
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
|
||||||
|
@ -1396,47 +1298,18 @@
|
||||||
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
|
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
|
||||||
# Show azure only when the command you are typing invokes one of these tools.
|
# Show azure only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show azure.
|
# Tip: Remove the next line to always show azure.
|
||||||
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element
|
|
||||||
# in each pair defines a pattern against which the current azure account name gets matched.
|
|
||||||
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
|
||||||
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
|
|
||||||
# you'll see this value in your prompt. The second element of each pair in
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
|
|
||||||
# first match wins.
|
|
||||||
#
|
|
||||||
# For example, given these settings:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD
|
|
||||||
# '*test*' TEST
|
|
||||||
# '*' OTHER)
|
|
||||||
#
|
|
||||||
# If your current azure account is "company_test", its class is TEST because "company_test"
|
|
||||||
# doesn't match the pattern '*prod*' but does match '*test*'.
|
|
||||||
#
|
|
||||||
# You can define different colors, icons and content expansions for different classes:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
|
||||||
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD # These values are examples that are unlikely
|
|
||||||
# '*test*' TEST # to match your needs. Customize them as needed.
|
|
||||||
'*' OTHER)
|
|
||||||
|
|
||||||
# Azure account name color.
|
# Azure account name color.
|
||||||
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
|
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
# Show gcloud only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show gcloud.
|
# Tip: Remove the next line to always show gcloud.
|
||||||
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil'
|
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs'
|
||||||
# Google cloud color.
|
# Google cloud color.
|
||||||
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
|
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
|
||||||
|
|
||||||
|
@ -1475,7 +1348,7 @@
|
||||||
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
|
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
|
||||||
# Show google_app_cred only when the command you are typing invokes one of these tools.
|
# Show google_app_cred only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show google_app_cred.
|
# Tip: Remove the next line to always show google_app_cred.
|
||||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
|
@ -1528,16 +1401,6 @@
|
||||||
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
|
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
|
||||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
|
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
|
||||||
|
|
||||||
##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]###############
|
|
||||||
# Toolbox color.
|
|
||||||
typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178
|
|
||||||
# Don't display the name of the toolbox if it matches fedora-toolbox-*.
|
|
||||||
typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}'
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# Custom prefix.
|
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%fin '
|
|
||||||
|
|
||||||
###############################[ public_ip: public IP address ]###############################
|
###############################[ public_ip: public IP address ]###############################
|
||||||
# Public IP color.
|
# Public IP color.
|
||||||
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
|
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
|
||||||
|
@ -1552,7 +1415,7 @@
|
||||||
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
|
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
|
||||||
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
|
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
|
||||||
# to see the name of the interface.
|
# to see the name of the interface.
|
||||||
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)'
|
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*'
|
||||||
# If set to true, show one segment per matching network interface. If set to false, show only
|
# If set to true, show one segment per matching network interface. If set to false, show only
|
||||||
# one segment corresponding to the first matching network interface.
|
# one segment corresponding to the first matching network interface.
|
||||||
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
|
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
|
||||||
|
@ -1566,13 +1429,11 @@
|
||||||
# The following parameters are accessible within the expansion:
|
# The following parameters are accessible within the expansion:
|
||||||
#
|
#
|
||||||
# Parameter | Meaning
|
# Parameter | Meaning
|
||||||
# ----------------------+-------------------------------------------
|
# ----------------------+---------------
|
||||||
# P9K_IP_IP | IP address
|
# P9K_IP_IP | IP address
|
||||||
# P9K_IP_INTERFACE | network interface
|
# P9K_IP_INTERFACE | network interface
|
||||||
# P9K_IP_RX_BYTES | total number of bytes received
|
# P9K_IP_RX_BYTES | total number of bytes received
|
||||||
# P9K_IP_TX_BYTES | total number of bytes sent
|
# P9K_IP_TX_BYTES | total number of bytes sent
|
||||||
# P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt
|
|
||||||
# P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
|
|
||||||
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
||||||
# P9K_IP_TX_RATE | send rate (since last prompt)
|
# P9K_IP_TX_RATE | send rate (since last prompt)
|
||||||
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %70F⇣$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %215F⇡$P9K_IP_TX_RATE}'
|
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %70F⇣$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %215F⇡$P9K_IP_TX_RATE}'
|
||||||
|
@ -1652,7 +1513,7 @@
|
||||||
|
|
||||||
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
||||||
# is to generate the prompt segment for display in instant prompt. See
|
# is to generate the prompt segment for display in instant prompt. See
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
#
|
#
|
||||||
# Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
|
# Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
|
||||||
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
||||||
|
@ -1688,7 +1549,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# during zsh initialization. Choose this if you've read and understood
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||||
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||||
# seen the warning, or if you are unsure what this all means.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||||
|
|
||||||
# Zsh >= 5.1 is required.
|
# Zsh >= 5.1 is required.
|
||||||
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
|
autoload -Uz is-at-least && is-at-least 5.1 || return
|
||||||
|
|
||||||
# Prompt colors.
|
# Prompt colors.
|
||||||
local grey=242
|
local grey=242
|
||||||
|
@ -169,7 +169,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# during zsh initialization. Choose this if you've read and understood
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||||
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||||
# seen the warning, or if you are unsure what this all means.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||||
|
|
||||||
# Zsh >= 5.1 is required.
|
# Zsh >= 5.1 is required.
|
||||||
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
|
autoload -Uz is-at-least && is-at-least 5.1 || return
|
||||||
|
|
||||||
# The list of segments shown on the left. Fill it with the most important segments.
|
# The list of segments shown on the left. Fill it with the most important segments.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
||||||
|
@ -65,30 +65,23 @@
|
||||||
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
|
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
|
||||||
jenv # java version from jenv (https://github.com/jenv/jenv)
|
jenv # java version from jenv (https://github.com/jenv/jenv)
|
||||||
plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
|
plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
|
||||||
perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
|
|
||||||
phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
|
phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
|
||||||
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
|
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
|
||||||
haskell_stack # haskell version from stack (https://haskellstack.org/)
|
haskell_stack # haskell version from stack (https://haskellstack.org/)
|
||||||
kubecontext # current kubernetes context (https://kubernetes.io/)
|
kubecontext # current kubernetes context (https://kubernetes.io/)
|
||||||
terraform # terraform workspace (https://www.terraform.io)
|
terraform # terraform workspace (https://www.terraform.io)
|
||||||
# terraform_version # terraform version (https://www.terraform.io)
|
|
||||||
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
|
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
|
||||||
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
|
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
|
||||||
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
|
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
|
||||||
gcloud # google cloud cli account and project (https://cloud.google.com/)
|
gcloud # google cloud cli account and project (https://cloud.google.com/)
|
||||||
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
|
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
|
||||||
toolbox # toolbox name (https://github.com/containers/toolbox)
|
|
||||||
context # user@hostname
|
context # user@hostname
|
||||||
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
||||||
ranger # ranger shell (https://github.com/ranger/ranger)
|
ranger # ranger shell (https://github.com/ranger/ranger)
|
||||||
yazi # yazi shell (https://github.com/sxyazi/yazi)
|
|
||||||
nnn # nnn shell (https://github.com/jarun/nnn)
|
nnn # nnn shell (https://github.com/jarun/nnn)
|
||||||
lf # lf shell (https://github.com/gokcehan/lf)
|
|
||||||
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
|
||||||
vim_shell # vim shell indicator (:sh)
|
vim_shell # vim shell indicator (:sh)
|
||||||
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
||||||
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
||||||
chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
|
|
||||||
# vi_mode # vi mode (you don't need this if you've enabled prompt_char)
|
# vi_mode # vi mode (you don't need this if you've enabled prompt_char)
|
||||||
# vpn_ip # virtual private network indicator
|
# vpn_ip # virtual private network indicator
|
||||||
# load # CPU load
|
# load # CPU load
|
||||||
|
@ -98,8 +91,6 @@
|
||||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||||
per_directory_history # Oh My Zsh per-directory-history local/global indicator
|
|
||||||
# cpu_arch # CPU architecture
|
|
||||||
# time # current time
|
# time # current time
|
||||||
# =========================[ Line #2 ]=========================
|
# =========================[ Line #2 ]=========================
|
||||||
newline
|
newline
|
||||||
|
@ -146,7 +137,7 @@
|
||||||
# Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or
|
# Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or
|
||||||
# '─'. The last two make it easier to see the alignment between left and right prompt and to
|
# '─'. The last two make it easier to see the alignment between left and right prompt and to
|
||||||
# separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
# separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
|
||||||
# for more compact prompt if using this option.
|
# for more compact prompt if using using this option.
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
|
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
|
||||||
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND=
|
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND=
|
||||||
|
@ -168,9 +159,6 @@
|
||||||
typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
|
typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
|
||||||
# Separator between different-color segments on the right.
|
# Separator between different-color segments on the right.
|
||||||
typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
|
typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
|
||||||
# To remove a separator between two segments, add "_joined" to the second segment name.
|
|
||||||
# For example: POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(os_icon context_joined)
|
|
||||||
|
|
||||||
# The right end of left prompt.
|
# The right end of left prompt.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
|
||||||
# The left end of right prompt.
|
# The left end of right prompt.
|
||||||
|
@ -243,7 +231,7 @@
|
||||||
.java-version
|
.java-version
|
||||||
.perl-version
|
.perl-version
|
||||||
.php-version
|
.php-version
|
||||||
.tool-versions
|
.tool-version
|
||||||
.shorten_folder_marker
|
.shorten_folder_marker
|
||||||
.svn
|
.svn
|
||||||
.terraform
|
.terraform
|
||||||
|
@ -352,14 +340,14 @@
|
||||||
# typeset -g POWERLEVEL9K_DIR_PREFIX='in '
|
# typeset -g POWERLEVEL9K_DIR_PREFIX='in '
|
||||||
|
|
||||||
#####################################[ vcs: git status ]######################################
|
#####################################[ vcs: git status ]######################################
|
||||||
# Version control background colors.
|
# Version control system colors.
|
||||||
typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2
|
typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2
|
||||||
typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3
|
typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3
|
||||||
typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2
|
typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2
|
||||||
typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3
|
typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3
|
||||||
typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8
|
typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8
|
||||||
|
|
||||||
# Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
|
# Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon.
|
||||||
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
||||||
|
|
||||||
# Untracked files icon. It's really a question mark, your font isn't broken.
|
# Untracked files icon. It's really a question mark, your font isn't broken.
|
||||||
|
@ -368,7 +356,7 @@
|
||||||
|
|
||||||
# Formatter for Git status.
|
# Formatter for Git status.
|
||||||
#
|
#
|
||||||
# Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
# Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
|
||||||
#
|
#
|
||||||
# You can edit the function to customize how Git status looks.
|
# You can edit the function to customize how Git status looks.
|
||||||
#
|
#
|
||||||
|
@ -417,7 +405,7 @@
|
||||||
|
|
||||||
# Display the current Git commit if there is no branch and no tag.
|
# Display the current Git commit if there is no branch and no tag.
|
||||||
# Tip: To always display the current Git commit, delete the next line.
|
# Tip: To always display the current Git commit, delete the next line.
|
||||||
[[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line
|
[[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_LOCAL_BRANCH ]] && # <-- this line
|
||||||
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
|
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
|
||||||
|
|
||||||
# Show tracking branch name if it differs from local branch.
|
# Show tracking branch name if it differs from local branch.
|
||||||
|
@ -425,22 +413,11 @@
|
||||||
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
|
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Display "wip" if the latest commit's summary contains "wip" or "WIP".
|
|
||||||
if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then
|
|
||||||
res+=" ${modified}wip"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
|
|
||||||
# ⇣42 if behind the remote.
|
# ⇣42 if behind the remote.
|
||||||
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
||||||
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
||||||
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
||||||
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
||||||
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
|
|
||||||
# Tip: Uncomment the next line to display '=' if up to date with the remote.
|
|
||||||
# res+=" ${clean}="
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ⇠42 if behind the push remote.
|
# ⇠42 if behind the push remote.
|
||||||
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
||||||
|
@ -499,7 +476,7 @@
|
||||||
|
|
||||||
# Show status of repositories of these types. You can add svn and/or hg if you are
|
# Show status of repositories of these types. You can add svn and/or hg if you are
|
||||||
# using them. If you do, your prompt may become slow even when your current directory
|
# using them. If you do, your prompt may become slow even when your current directory
|
||||||
# isn't in an svn or hg repository.
|
# isn't in an svn or hg reposotiry.
|
||||||
typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
|
typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
|
||||||
|
|
||||||
##########################[ status: exit code of the last command ]###########################
|
##########################[ status: exit code of the last command ]###########################
|
||||||
|
@ -749,13 +726,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]#####################
|
|
||||||
# Yazi shell color.
|
|
||||||
typeset -g POWERLEVEL9K_YAZI_FOREGROUND=3
|
|
||||||
typeset -g POWERLEVEL9K_YAZI_BACKGROUND=0
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
|
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
|
||||||
# Nnn shell color.
|
# Nnn shell color.
|
||||||
typeset -g POWERLEVEL9K_NNN_FOREGROUND=0
|
typeset -g POWERLEVEL9K_NNN_FOREGROUND=0
|
||||||
|
@ -763,20 +733,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
|
|
||||||
# lf shell color.
|
|
||||||
typeset -g POWERLEVEL9K_LF_FOREGROUND=0
|
|
||||||
typeset -g POWERLEVEL9K_LF_BACKGROUND=6
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
|
|
||||||
# xplr shell color.
|
|
||||||
typeset -g POWERLEVEL9K_XPLR_FOREGROUND=0
|
|
||||||
typeset -g POWERLEVEL9K_XPLR_BACKGROUND=6
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
|
###########################[ vim_shell: vim shell indicator (:sh) ]###########################
|
||||||
# Vim shell indicator color.
|
# Vim shell indicator color.
|
||||||
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0
|
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0
|
||||||
|
@ -796,22 +752,12 @@
|
||||||
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0
|
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0
|
||||||
typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4
|
typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4
|
||||||
|
|
||||||
# Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
|
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
|
|
||||||
|
|
||||||
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
|
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
|
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]##################
|
|
||||||
# chezmoi shell color.
|
|
||||||
typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=0
|
|
||||||
typeset -g POWERLEVEL9K_CHEZMOI_SHELL_BACKGROUND=4
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################################[ disk_usage: disk usage ]##################################
|
##################################[ disk_usage: disk usage ]##################################
|
||||||
# Colors for different levels of disk usage.
|
# Colors for different levels of disk usage.
|
||||||
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3
|
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3
|
||||||
|
@ -843,8 +789,6 @@
|
||||||
# Text and color for insert vi mode.
|
# Text and color for insert vi mode.
|
||||||
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
||||||
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8
|
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_VI_MODE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
######################################[ ram: free RAM ]#######################################
|
######################################[ ram: free RAM ]#######################################
|
||||||
# RAM color.
|
# RAM color.
|
||||||
|
@ -935,33 +879,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
|
|
||||||
# Color when using local/global history.
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=0
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_BACKGROUND=5
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=0
|
|
||||||
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_BACKGROUND=3
|
|
||||||
|
|
||||||
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
|
|
||||||
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
################################[ cpu_arch: CPU architecture ]################################
|
|
||||||
# CPU architecture color.
|
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=0
|
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_BACKGROUND=3
|
|
||||||
|
|
||||||
# Hide the segment when on a specific CPU architecture.
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION=
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION=
|
|
||||||
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
##################################[ context: user@hostname ]##################################
|
##################################[ context: user@hostname ]##################################
|
||||||
# Context color when running with privileges.
|
# Context color when running with privileges.
|
||||||
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1
|
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1
|
||||||
|
@ -1056,10 +973,10 @@
|
||||||
#
|
#
|
||||||
# The default format has the following logic:
|
# The default format has the following logic:
|
||||||
#
|
#
|
||||||
# 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or
|
# 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not
|
||||||
# starts with "$P9K_PYENV_PYTHON_VERSION/".
|
# empty and unequal to $P9K_CONTENT.
|
||||||
# 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION".
|
# 2. Otherwise display just "$P9K_CONTENT".
|
||||||
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
|
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}'
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
@ -1096,11 +1013,6 @@
|
||||||
# Nvm color.
|
# Nvm color.
|
||||||
typeset -g POWERLEVEL9K_NVM_FOREGROUND=0
|
typeset -g POWERLEVEL9K_NVM_FOREGROUND=0
|
||||||
typeset -g POWERLEVEL9K_NVM_BACKGROUND=5
|
typeset -g POWERLEVEL9K_NVM_BACKGROUND=5
|
||||||
# If set to false, hide node version if it's the same as default:
|
|
||||||
# $(nvm version current) == $(nvm version default).
|
|
||||||
typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false
|
|
||||||
# If set to false, hide node version if it's equal to "system".
|
|
||||||
typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
@ -1267,16 +1179,6 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############
|
|
||||||
# Perlbrew color.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67
|
|
||||||
# Show perlbrew version only when in a perl project subdirectory.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true
|
|
||||||
# Don't show "perl-" at the front.
|
|
||||||
typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
|
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
|
||||||
# PHP color.
|
# PHP color.
|
||||||
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0
|
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0
|
||||||
|
@ -1356,20 +1258,10 @@
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_BACKGROUND=0
|
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_BACKGROUND=0
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#############[ terraform_version: terraform version (https://www.terraform.io) ]##############
|
|
||||||
# Terraform version color.
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=4
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_BACKGROUND=0
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
|
|
||||||
################[ terraform_version: It shows active terraform version (https://www.terraform.io) ]#################
|
|
||||||
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_SHOW_ON_COMMAND='terraform|tf'
|
|
||||||
|
|
||||||
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
|
||||||
# Show kubecontext only when the command you are typing invokes one of these tools.
|
# Show kubecontext only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show kubecontext.
|
# Tip: Remove the next line to always show kubecontext.
|
||||||
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl'
|
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile'
|
||||||
|
|
||||||
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
|
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
|
||||||
# different contexts.
|
# different contexts.
|
||||||
|
@ -1456,9 +1348,9 @@
|
||||||
# typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at '
|
# typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at '
|
||||||
|
|
||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
||||||
# Show aws only when the command you are typing invokes one of these tools.
|
# Show aws only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show aws.
|
# Tip: Remove the next line to always show aws.
|
||||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
||||||
# in each pair defines a pattern against which the current AWS profile gets matched.
|
# in each pair defines a pattern against which the current AWS profile gets matched.
|
||||||
|
@ -1491,12 +1383,6 @@
|
||||||
typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1
|
typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1
|
||||||
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
# AWS segment format. The following parameters are available within the expansion.
|
|
||||||
#
|
|
||||||
# - P9K_AWS_PROFILE The name of the current AWS profile.
|
|
||||||
# - P9K_AWS_REGION The region associated with the current AWS profile.
|
|
||||||
typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}'
|
|
||||||
|
|
||||||
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
|
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
|
||||||
# AWS Elastic Beanstalk environment color.
|
# AWS Elastic Beanstalk environment color.
|
||||||
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2
|
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2
|
||||||
|
@ -1505,49 +1391,19 @@
|
||||||
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
|
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
|
||||||
# Show azure only when the command you are typing invokes one of these tools.
|
# Show azure only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show azure.
|
# Tip: Remove the next line to always show azure.
|
||||||
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element
|
|
||||||
# in each pair defines a pattern against which the current azure account name gets matched.
|
|
||||||
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
|
||||||
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
|
|
||||||
# you'll see this value in your prompt. The second element of each pair in
|
|
||||||
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
|
|
||||||
# first match wins.
|
|
||||||
#
|
|
||||||
# For example, given these settings:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD
|
|
||||||
# '*test*' TEST
|
|
||||||
# '*' OTHER)
|
|
||||||
#
|
|
||||||
# If your current azure account is "company_test", its class is TEST because "company_test"
|
|
||||||
# doesn't match the pattern '*prod*' but does match '*test*'.
|
|
||||||
#
|
|
||||||
# You can define different colors, icons and content expansions for different classes:
|
|
||||||
#
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=2
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_BACKGROUND=0
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
|
||||||
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
|
||||||
# '*prod*' PROD # These values are examples that are unlikely
|
|
||||||
# '*test*' TEST # to match your needs. Customize them as needed.
|
|
||||||
'*' OTHER)
|
|
||||||
|
|
||||||
# Azure account name color.
|
# Azure account name color.
|
||||||
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=7
|
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7
|
||||||
typeset -g POWERLEVEL9K_AZURE_OTHER_BACKGROUND=4
|
typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
# Show gcloud only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show gcloud.
|
# Tip: Remove the next line to always show gcloud.
|
||||||
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil'
|
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs'
|
||||||
# Google cloud color.
|
# Google cloud color.
|
||||||
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7
|
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7
|
||||||
typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4
|
typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4
|
||||||
|
@ -1587,7 +1443,7 @@
|
||||||
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
|
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
|
||||||
# Show google_app_cred only when the command you are typing invokes one of these tools.
|
# Show google_app_cred only when the the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show google_app_cred.
|
# Tip: Remove the next line to always show google_app_cred.
|
||||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
|
@ -1641,17 +1497,6 @@
|
||||||
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
|
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
|
||||||
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
|
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
|
||||||
|
|
||||||
##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]###############
|
|
||||||
# Toolbox color.
|
|
||||||
typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=0
|
|
||||||
typeset -g POWERLEVEL9K_TOOLBOX_BACKGROUND=3
|
|
||||||
# Don't display the name of the toolbox if it matches fedora-toolbox-*.
|
|
||||||
typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}'
|
|
||||||
# Custom icon.
|
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
|
||||||
# Custom prefix.
|
|
||||||
# typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='in '
|
|
||||||
|
|
||||||
###############################[ public_ip: public IP address ]###############################
|
###############################[ public_ip: public IP address ]###############################
|
||||||
# Public IP color.
|
# Public IP color.
|
||||||
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7
|
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7
|
||||||
|
@ -1668,7 +1513,7 @@
|
||||||
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
|
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
|
||||||
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
|
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
|
||||||
# to see the name of the interface.
|
# to see the name of the interface.
|
||||||
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)'
|
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*'
|
||||||
# If set to true, show one segment per matching network interface. If set to false, show only
|
# If set to true, show one segment per matching network interface. If set to false, show only
|
||||||
# one segment corresponding to the first matching network interface.
|
# one segment corresponding to the first matching network interface.
|
||||||
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
|
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
|
||||||
|
@ -1683,13 +1528,11 @@
|
||||||
# The following parameters are accessible within the expansion:
|
# The following parameters are accessible within the expansion:
|
||||||
#
|
#
|
||||||
# Parameter | Meaning
|
# Parameter | Meaning
|
||||||
# ----------------------+-------------------------------------------
|
# ----------------------+---------------
|
||||||
# P9K_IP_IP | IP address
|
# P9K_IP_IP | IP address
|
||||||
# P9K_IP_INTERFACE | network interface
|
# P9K_IP_INTERFACE | network interface
|
||||||
# P9K_IP_RX_BYTES | total number of bytes received
|
# P9K_IP_RX_BYTES | total number of bytes received
|
||||||
# P9K_IP_TX_BYTES | total number of bytes sent
|
# P9K_IP_TX_BYTES | total number of bytes sent
|
||||||
# P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt
|
|
||||||
# P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
|
|
||||||
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
# P9K_IP_RX_RATE | receive rate (since last prompt)
|
||||||
# P9K_IP_TX_RATE | send rate (since last prompt)
|
# P9K_IP_TX_RATE | send rate (since last prompt)
|
||||||
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP'
|
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP'
|
||||||
|
@ -1774,7 +1617,7 @@
|
||||||
|
|
||||||
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
||||||
# is to generate the prompt segment for display in instant prompt. See
|
# is to generate the prompt segment for display in instant prompt. See
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
#
|
#
|
||||||
# Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
|
# Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
|
||||||
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
||||||
|
@ -1811,7 +1654,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# during zsh initialization. Choose this if you've read and understood
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||||
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||||
# seen the warning, or if you are unsure what this all means.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||||
|
|
||||||
# Zsh >= 5.1 is required.
|
# Zsh >= 5.1 is required.
|
||||||
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
|
autoload -Uz is-at-least && is-at-least 5.1 || return
|
||||||
|
|
||||||
# Left prompt segments.
|
# Left prompt segments.
|
||||||
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(prompt_char dir vcs)
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(prompt_char dir vcs)
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# during zsh initialization. Choose this if you've read and understood
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||||
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||||
# seen the warning, or if you are unsure what this all means.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
167
font.md
167
font.md
|
@ -8,160 +8,81 @@ systems.
|
||||||
|
|
||||||
*FAQ*: [How was the recommended font created?](README.md#how-was-the-recommended-font-created)
|
*FAQ*: [How was the recommended font created?](README.md#how-was-the-recommended-font-created)
|
||||||
|
|
||||||
## Automatic font installation
|
#### Automatic font installation
|
||||||
|
|
||||||
If you are using iTerm2 or Termux, `p10k configure` can install the recommended font for you.
|
If you are using iTerm2 or Termux, `p10k configure` can install the recommended font for you.
|
||||||
Simply answer `Yes` when asked whether to install *Meslo Nerd Font*.
|
Simply answer `Yes` when asked whether to install *Meslo Nerd Font*.
|
||||||
|
|
||||||
If you are using a different terminal, proceed with manual font installation. 👇
|
If you are using a different terminal, proceed with manual font installation. 👇
|
||||||
|
|
||||||
## Manual font installation
|
#### Manual font installation
|
||||||
|
|
||||||
1. Download these four ttf files:
|
Download these four ttf files:
|
||||||
- [MesloLGS NF Regular.ttf](
|
|
||||||
|
- [MesloLGS NF Regular.ttf](
|
||||||
https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf)
|
https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf)
|
||||||
- [MesloLGS NF Bold.ttf](
|
- [MesloLGS NF Bold.ttf](
|
||||||
https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf)
|
https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf)
|
||||||
- [MesloLGS NF Italic.ttf](
|
- [MesloLGS NF Italic.ttf](
|
||||||
https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf)
|
https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf)
|
||||||
- [MesloLGS NF Bold Italic.ttf](
|
- [MesloLGS NF Bold Italic.ttf](
|
||||||
https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf)
|
https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf)
|
||||||
1. Double-click on each file and click "Install". This will make `MesloLGS NF` font available to all
|
|
||||||
applications on your system.
|
Double-click on each file and click "Install". This will make `MesloLGS NF` font available to all
|
||||||
1. Configure your terminal to use this font:
|
applications on your system. Configure your terminal to use this font:
|
||||||
- **iTerm2**: Type `p10k configure` and answer `Yes` when asked whether to install
|
|
||||||
|
- **iTerm2**: Type `p10k configure` and answer `Yes` when asked whether to install
|
||||||
*Meslo Nerd Font*. Alternatively, open *iTerm2 → Preferences → Profiles → Text* and set *Font* to
|
*Meslo Nerd Font*. Alternatively, open *iTerm2 → Preferences → Profiles → Text* and set *Font* to
|
||||||
`MesloLGS NF`.
|
`MesloLGS NF`.
|
||||||
- **Apple Terminal**: Open *Terminal → Preferences → Profiles → Text*, click *Change* under *Font*
|
- **Apple Terminal**: Open *Terminal → Preferences → Profiles → Text*, click *Change* under *Font*
|
||||||
and select `MesloLGS NF` family.
|
and select `MesloLGS NF` family.
|
||||||
- **Hyper**: Open *Hyper → Edit → Preferences* and change the value of `fontFamily` under
|
- **Hyper**: Open *Hyper → Edit → Preferences* and change the value of `fontFamily` under
|
||||||
`module.exports.config` to `MesloLGS NF`.
|
`module.exports.config` to `MesloLGS NF`.
|
||||||
- **Visual Studio Code**: Open *File → Preferences → Settings* (PC) or
|
- **Visual Studio Code**: Open *File → Preferences → Settings*, enter
|
||||||
*Code → Preferences → Settings* (Mac), enter `terminal.integrated.fontFamily` in the search box at
|
`terminal.integrated.fontFamily` in the search box and set the value to `MesloLGS NF`.
|
||||||
the top of *Settings* tab and set the value below to `MesloLGS NF`.
|
- **GNOME Terminal** (the default Ubuntu terminal): Open *Terminal → Preferences* and click on the
|
||||||
Consult [this screenshot](
|
|
||||||
https://raw.githubusercontent.com/romkatv/powerlevel10k-media/389133fb8c9a2347929a23702ce3039aacc46c3d/visual-studio-code-font-settings.jpg)
|
|
||||||
to see how it should look like or see [this issue](
|
|
||||||
https://github.com/romkatv/powerlevel10k/issues/671) for extra information.
|
|
||||||
- **GNOME Terminal** (the default Ubuntu terminal): Open *Terminal → Preferences* and click on the
|
|
||||||
selected profile under *Profiles*. Check *Custom font* under *Text Appearance* and select
|
selected profile under *Profiles*. Check *Custom font* under *Text Appearance* and select
|
||||||
`MesloLGS NF Regular`.
|
`MesloLGS NF Regular`.
|
||||||
- **Konsole**: Open *Settings → Edit Current Profile → Appearance*, click *Select Font* and select
|
- **Konsole**: Open *Settings → Edit Current Profile → Appearance*, click *Select Font* and select
|
||||||
`MesloLGS NF Regular`.
|
`MesloLGS NF Regular`.
|
||||||
- **Tilix**: Open *Tilix → Preferences* and click on the selected profile under *Profiles*. Check
|
- **Tilix**: Open *Tilix → Preferences* and click on the selected profile under *Profiles*. Check
|
||||||
*Custom font* under *Text Appearance* and select `MesloLGS NF Regular`.
|
*Custom font* under *Text Appearance* and select `MesloLGS NF Regular`.
|
||||||
- **Windows Console Host** (the old thing): Click the icon in the top left corner, then
|
- **Windows Console Host** (the old thing): Click the icon in the top left corner, then
|
||||||
*Properties → Font* and set *Font* to `MesloLGS NF`.
|
*Properties → Font* and set *Font* to `MesloLGS NF`.
|
||||||
- **Windows Terminal** by Microsoft (the new thing): Open *Settings* (<kbd>Ctrl+,</kbd>), click
|
- **Microsoft Terminal** (the new thing): Open *Settings* (`Ctrl+,`), search for `fontFace` and set
|
||||||
either on the selected profile under *Profiles* or on *Defaults*, click *Appearance* and set
|
value to `MesloLGS NF` for every profile.
|
||||||
*Font face* to `MesloLGS NF`.
|
- **IntelliJ**: Open *Intellij → Edit → Preferences → Editor → Color Scheme → Console Font*.
|
||||||
- **Conemu**: Open *Setup → General → Fonts* and set *Main console font* to `MesloLGS NF`.
|
Select *Use console font instead of the default* and set the font name to `MesloLGS NF`.
|
||||||
- **IntelliJ** (and other IDEs by Jet Brains): Open *IDE → Edit → Preferences → Editor →
|
- **Termux**: Type `p10k configure` and answer `Yes` when asked whether to install
|
||||||
Color Scheme → Console Font*. Select *Use console font instead of the default* and set the font
|
|
||||||
name to `MesloLGS NF`.
|
|
||||||
- **Termux**: Type `p10k configure` and answer `Yes` when asked whether to install
|
|
||||||
*Meslo Nerd Font*.
|
*Meslo Nerd Font*.
|
||||||
- **Blink**: Type `config`, go to *Appearance*, tap *Add a new font*, tap *Open Gallery*, select
|
- **Blink**: Type `config`, go to *Appearance*, tap *Add a new font*, tap *Open Gallery*, select
|
||||||
*MesloLGS NF.css*, tap *import* and type `exit` in the home view to reload the font.
|
*MesloLGS NF.css*, tap *import* and type `exit` in the home view to reload the font.
|
||||||
- **Tabby** (formerly **Terminus**): Open *Settings → Appearance* and set *Font* to `MesloLGS NF`.
|
- **Terminus**: Open *Settings → Appearance* and set *Font* to `MesloLGS NF`.
|
||||||
- **Terminator**: Open *Preferences* using the context menu. Under *Profiles* select the *General*
|
- **Terminator**: Open *Preferences* using the context menu. Under *Profiles* select the *General*
|
||||||
tab (should be selected already), uncheck *Use the system fixed width font* (if not already)
|
tab (should be selected already), uncheck *Use the system fixed width font* (if not already)
|
||||||
and select `MesloLGS NF Regular`. Exit the Preferences dialog by clicking *Close*.
|
and select `MesloLGS NF Regular`. Exit the Preferences dialog by clicking *Close*.
|
||||||
- **Guake**: Right Click on an open terminal and open *Preferences*. Under *Appearance*
|
- **Guake**: Right Click on an open terminal and open *Preferences*. Under *Appearance*
|
||||||
tab, uncheck *Use the system fixed width font* (if not already) and select `MesloLGS NF Regular`.
|
tab, uncheck *Use the system fixed width font* (if not already) and select `MesloLGS NF Regular`.
|
||||||
Exit the Preferences dialog by clicking *Close*.
|
Exit the Preferences dialog by clicking *Close*.
|
||||||
- **MobaXterm**: Open *Settings* → *Configuration* → *Terminal* → (under *Terminal look and feel*)
|
- **MobaXterm**: Open *Settings* → *Configuration* → *Terminal* → (Under *Terminal look and feel*)
|
||||||
and change *Font* to `MesloLGS NF`. If you have *sessions*, you need to change the font in each
|
and change *Font* to `MesloLGS NF`.
|
||||||
of them through *Settings* → right click on an individual session → *Edit Session* → *Terminal
|
- **WSLtty**: Right click on an open terminal and then on *Options*. In the *Text* section, under
|
||||||
Settings* → *Font settings*.
|
|
||||||
- **Asbrú Connection Manager**: Open *Preferences → Local Shell Options → Look and Feel*, enable
|
|
||||||
*Use these personal options* and change *Font:* under *Terminal UI* to `MesloLGS NF Regular`.
|
|
||||||
To change the font for the remote host connections, go to *Preferences → Terminal Options →
|
|
||||||
Look and Feel* and change *Font:* under *Terminal UI* to `MesloLGS NF Regular`.
|
|
||||||
- **WSLtty**: Right click on an open terminal and then on *Options*. In the *Text* section, under
|
|
||||||
*Font*, click *"Select..."* and set Font to `MesloLGS NF Regular`.
|
*Font*, click *"Select..."* and set Font to `MesloLGS NF Regular`.
|
||||||
- **Yakuake**: Click *≡* → *Manage Profiles* → *New* → *Appearance*. Click *Choose* next to the
|
- **Alacritty**: Create or open `~/.config/alacritty/alacritty.yml` and add the following section
|
||||||
*Font* dropdown, select `MesloLGS NF` and click *OK*. Click *OK* to save the profile. Select the
|
to it:
|
||||||
new profile and click *Set as Default*.
|
```yaml
|
||||||
- **Alacritty**: Create or open `~/.config/alacritty/alacritty.toml` and add the following
|
font:
|
||||||
section to it:
|
normal:
|
||||||
```toml
|
family: "MesloLGS NF"
|
||||||
[font.normal]
|
|
||||||
family = "MesloLGS NF"
|
|
||||||
```
|
```
|
||||||
- **foot**: Create or open `~/.config/foot/foot.ini` and add the following section to it:
|
- **Kitty**: Create or open `~/.config/kitty/kitty.conf` and add the following line to it:
|
||||||
```ini
|
|
||||||
font=MesloLGS NF:size=12
|
|
||||||
```
|
|
||||||
- **kitty**: Create or open `~/.config/kitty/kitty.conf` and add the following line to it:
|
|
||||||
```text
|
```text
|
||||||
font_family MesloLGS NF
|
font_family MesloLGS NF
|
||||||
```
|
```
|
||||||
Restart kitty by closing all sessions and opening a new session.
|
Restart Kitty by closing all sessions and opening a new session.
|
||||||
- **puTTY**: Set *Window* → *Appearance* → *Font* to `MesloLGS NF`. Requires puTTY
|
|
||||||
version >= 0.75.
|
**IMPORTANT:** Run `p10k configure` after changing terminal font. The old `~/.p10k.zsh` may work
|
||||||
- **WezTerm**: Create or open `$HOME/.config/wezterm/wezterm.lua` and add the following:
|
incorrectly with the new font.
|
||||||
```lua
|
|
||||||
local wezterm = require 'wezterm';
|
|
||||||
return {
|
|
||||||
font = wezterm.font("MesloLGS NF"),
|
|
||||||
}
|
|
||||||
```
|
|
||||||
If the file already exists, only add the line with the font to the existing return.
|
|
||||||
Also add the first line if it is not already present.
|
|
||||||
- **urxvt**: Create or open `~/.Xresources` and add the following line to it:
|
|
||||||
```text
|
|
||||||
URxvt.font: xft:MesloLGS NF:size=11
|
|
||||||
```
|
|
||||||
You can adjust the font size to your preference. After changing the config run
|
|
||||||
`xrdb ~/.Xresources` to reload it. The new config is applied to all new terminals.
|
|
||||||
- **xterm**: Create or open `~/.Xresources` and add the following line to it:
|
|
||||||
```text
|
|
||||||
xterm*faceName: MesloLGS NF
|
|
||||||
```
|
|
||||||
After changing the config run `xrdb ~/.Xresources` to reload it. The new config is applied to
|
|
||||||
all new terminals.
|
|
||||||
- **Zed**: Open `~/.config/zed/settings.json` and set `terminal.font_family` to `"MesloLGS NF"`.
|
|
||||||
```jsonc
|
|
||||||
{
|
|
||||||
"terminal": {
|
|
||||||
"font_family": "MesloLGS NF"
|
|
||||||
},
|
|
||||||
// Other settings.
|
|
||||||
}
|
|
||||||
```
|
|
||||||
- Crostini (Linux on Chrome OS): Open
|
|
||||||
chrome-untrusted://terminal/html/nassh_preferences_editor.html, set *Text font family* to
|
|
||||||
`'MesloLGS NF'` (including the quotes) and *Custom CSS (inline text)* to the following:
|
|
||||||
```css
|
|
||||||
@font-face {
|
|
||||||
font-family: "MesloLGS NF";
|
|
||||||
src: url("https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/MesloLGS%20NF%20Regular.ttf");
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
@font-face {
|
|
||||||
font-family: "MesloLGS NF";
|
|
||||||
src: url("https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/MesloLGS%20NF%20Bold.ttf");
|
|
||||||
font-weight: bold;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
@font-face {
|
|
||||||
font-family: "MesloLGS NF";
|
|
||||||
src: url("https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/MesloLGS%20NF%20Italic.ttf");
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
@font-face {
|
|
||||||
font-family: "MesloLGS NF";
|
|
||||||
src: url("https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/MesloLGS%20NF%20Bold%20Italic.ttf");
|
|
||||||
font-weight: bold;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
**_CAVEAT_**: If you open the normal terminal preferences these settings will be overwritten.
|
|
||||||
1. Run `p10k configure` to generate a new `~/.p10k.zsh`. The old config may work
|
|
||||||
incorrectly with the new font.
|
|
||||||
|
|
||||||
_Using a different terminal and know how to set the font for it? Share your knowledge by sending a
|
_Using a different terminal and know how to set the font for it? Share your knowledge by sending a
|
||||||
PR to expand the list!_
|
PR to expand the list!_
|
||||||
|
|
|
@ -10,7 +10,7 @@ VERSION ?= $(shell . ./build.info && printf "%s" "$$gitstatus_version")
|
||||||
#
|
#
|
||||||
# Sized delete is implemented as __ZdlPvm in /usr/lib/libc++.1.dylib but this symbol is
|
# Sized delete is implemented as __ZdlPvm in /usr/lib/libc++.1.dylib but this symbol is
|
||||||
# missing in macOS prior to 10.13.
|
# missing in macOS prior to 10.13.
|
||||||
CXXFLAGS += -std=c++14 -funsigned-char -O3 -DNDEBUG -DGITSTATUS_VERSION=$(VERSION) -Wall # -g -fsanitize=thread
|
CXXFLAGS += -std=c++14 -funsigned-char -O3 -DNDEBUG -DGITSTATUS_VERSION=$(VERSION) -Wall -Werror # -g -fsanitize=thread
|
||||||
LDFLAGS += -pthread # -fsanitize=thread
|
LDFLAGS += -pthread # -fsanitize=thread
|
||||||
LDLIBS += -lgit2 # -lprofiler -lunwind
|
LDLIBS += -lgit2 # -lprofiler -lunwind
|
||||||
|
|
||||||
|
@ -34,24 +34,8 @@ $(OBJDIR)/%.o: src/%.cc Makefile build.info | $(OBJDIR)
|
||||||
clean:
|
clean:
|
||||||
rm -rf -- $(OBJDIR)
|
rm -rf -- $(OBJDIR)
|
||||||
|
|
||||||
zwc:
|
pkg:
|
||||||
|
GITSTATUS_DAEMON= GITSTATUS_CACHE_DIR=$(shell pwd)/usrbin ./install -f
|
||||||
$(or $(ZSH),:) -fc 'for f in *.zsh install; do zcompile -R -- $$f.zwc $$f || exit; done'
|
$(or $(ZSH),:) -fc 'for f in *.zsh install; do zcompile -R -- $$f.zwc $$f || exit; done'
|
||||||
|
|
||||||
minify:
|
|
||||||
rm -rf -- .clang-format .git .gitattributes .gitignore .vscode deps docs src usrbin/.gitkeep LICENSE Makefile README.md build mbuild
|
|
||||||
|
|
||||||
pkg: zwc
|
|
||||||
GITSTATUS_DAEMON= GITSTATUS_CACHE_DIR=$(shell pwd)/usrbin ./install -f
|
|
||||||
|
|
||||||
-include $(OBJS:.o=.dep)
|
-include $(OBJS:.o=.dep)
|
||||||
|
|
||||||
.PHONY: help
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo "Usage: make [TARGET]"
|
|
||||||
@echo "Available targets:"
|
|
||||||
@echo " all Build $(APPNAME) (default target)"
|
|
||||||
@echo " clean Remove generated files and directories"
|
|
||||||
@echo " zwc Compile Zsh files"
|
|
||||||
@echo " minify Remove unnecessary files and folders"
|
|
||||||
@echo " pkg Create a package"
|
|
||||||
|
|
|
@ -22,8 +22,7 @@ Bash bindings for integration with shell.
|
||||||
|
|
||||||
The easiest way to take advantage of gitstatus from Zsh is to use a theme that's already integrated
|
The easiest way to take advantage of gitstatus from Zsh is to use a theme that's already integrated
|
||||||
with it. For example, [Powerlevel10k](https://github.com/romkatv/powerlevel10k) is a flexible and
|
with it. For example, [Powerlevel10k](https://github.com/romkatv/powerlevel10k) is a flexible and
|
||||||
fast theme with first-class gitstatus integration. If you install Powerlevel10k, you don't need to
|
fast theme with first-class gitstatus integration.
|
||||||
install gitstatus.
|
|
||||||
|
|
||||||

|
https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/prompt-styles-high-contrast.png)
|
||||||
|
@ -36,7 +35,7 @@ git clone --depth=1 https://github.com/romkatv/gitstatus.git ~/gitstatus
|
||||||
echo 'source ~/gitstatus/gitstatus.prompt.zsh' >>! ~/.zshrc
|
echo 'source ~/gitstatus/gitstatus.prompt.zsh' >>! ~/.zshrc
|
||||||
```
|
```
|
||||||
|
|
||||||
Users in China can use the official mirror on gitee.com for faster download.<br>
|
Users in mainland China can use the official mirror on gitee.com for faster download.<br>
|
||||||
中国大陆用户可以使用 gitee.com 上的官方镜像加速下载.
|
中国大陆用户可以使用 gitee.com 上的官方镜像加速下载.
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
|
@ -44,15 +43,15 @@ git clone --depth=1 https://gitee.com/romkatv/gitstatus.git ~/gitstatus
|
||||||
echo 'source ~/gitstatus/gitstatus.prompt.zsh' >>! ~/.zshrc
|
echo 'source ~/gitstatus/gitstatus.prompt.zsh' >>! ~/.zshrc
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternatively, if you have Homebrew installed:
|
Alternatively, on macOS you can install with Homebrew:
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
brew install romkatv/gitstatus/gitstatus
|
brew install romkatv/gitstatus/gitstatus
|
||||||
echo "source $(brew --prefix)/opt/gitstatus/gitstatus.prompt.zsh" >>! ~/.zshrc
|
echo 'source /usr/local/opt/gitstatus/gitstatus.prompt.zsh' >>! ~/.zshrc
|
||||||
```
|
```
|
||||||
|
|
||||||
(If you choose this option, replace `~/gitstatus` with `$(brew --prefix)/opt/gitstatus/gitstatus`
|
(If you choose this option, replace `~/gitstatus` with `/usr/local/opt/gitstatus` in all code
|
||||||
in all code snippets below.)
|
snippets below.)
|
||||||
|
|
||||||
_Make sure to disable your current theme if you have one._
|
_Make sure to disable your current theme if you have one._
|
||||||
|
|
||||||
|
@ -137,7 +136,7 @@ git clone --depth=1 https://github.com/romkatv/gitstatus.git ~/gitstatus
|
||||||
echo 'source ~/gitstatus/gitstatus.prompt.sh' >> ~/.bashrc
|
echo 'source ~/gitstatus/gitstatus.prompt.sh' >> ~/.bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
Users in China can use the official mirror on gitee.com for faster download.<br>
|
Users in mainland China can use the official mirror on gitee.com for faster download.<br>
|
||||||
中国大陆用户可以使用 gitee.com 上的官方镜像加速下载.
|
中国大陆用户可以使用 gitee.com 上的官方镜像加速下载.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -145,15 +144,15 @@ git clone --depth=1 https://gitee.com/romkatv/gitstatus.git ~/gitstatus
|
||||||
echo 'source ~/gitstatus/gitstatus.prompt.sh' >> ~/.bashrc
|
echo 'source ~/gitstatus/gitstatus.prompt.sh' >> ~/.bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternatively, if you have Homebrew installed:
|
Alternatively, on macOS you can install with Homebrew:
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
brew install romkatv/gitstatus/gitstatus
|
brew install romkatv/gitstatus/gitstatus
|
||||||
echo "source $(brew --prefix)/opt/gitstatus/gitstatus.prompt.sh" >> ~/.bashrc
|
echo 'source /usr/local/opt/gitstatus/gitstatus.prompt.sh' >> ~/.bashrc
|
||||||
```
|
```
|
||||||
|
|
||||||
(If you choose this option, replace `~/gitstatus` with `$(brew --prefix)/opt/gitstatus/gitstatus`
|
(If you choose this option, replace `~/gitstatus` with `/usr/local/opt/gitstatus` in all code
|
||||||
in all code snippets below.)
|
snippets below.)
|
||||||
|
|
||||||
This will give you a basic yet functional prompt with git status in it. It's
|
This will give you a basic yet functional prompt with git status in it. It's
|
||||||
[over 10x faster](#benchmarks) than any alternative that can give you comparable prompt.
|
[over 10x faster](#benchmarks) than any alternative that can give you comparable prompt.
|
||||||
|
@ -255,7 +254,7 @@ repository was checked out to an ext4 filesystem on M.2 SSD.
|
||||||
Three functionally equivalent tools for computing git status were benchmarked:
|
Three functionally equivalent tools for computing git status were benchmarked:
|
||||||
|
|
||||||
* `gitstatusd`
|
* `gitstatusd`
|
||||||
* `git` with `core.untrackedcache` enabled and `core.fsmonitor` disabled
|
* `git` with untracked cache enabled
|
||||||
* `lg2` -- a demo/example executable from [libgit2](https://github.com/romkatv/libgit2) that
|
* `lg2` -- a demo/example executable from [libgit2](https://github.com/romkatv/libgit2) that
|
||||||
implements a subset of `git` functionality on top of libgit2 API; for the purposes of this
|
implements a subset of `git` functionality on top of libgit2 API; for the purposes of this
|
||||||
benchmark the subset is sufficient to generate the same data as the other tools
|
benchmark the subset is sufficient to generate the same data as the other tools
|
||||||
|
@ -381,7 +380,7 @@ generated with the same tools and the same flags as the profile of libgit2.
|
||||||
|
|
||||||
Since both profiles were generated from the same workload, absolute numbers can be compared. We can
|
Since both profiles were generated from the same workload, absolute numbers can be compared. We can
|
||||||
see that gitstatusd took 62 seconds in total compared to libgit2's 232 seconds. System calls at the
|
see that gitstatusd took 62 seconds in total compared to libgit2's 232 seconds. System calls at the
|
||||||
core of the algorithm are clearly visible. `__GI___fxstatat` is a flavor of `stat()`, and the other
|
core of the algorithm are cleary visible. `__GI___fxstatat` is a flavor of `stat()`, and the other
|
||||||
three calls -- `__libc_openat64`, `__libc_close` and `__GI___fxstat` are responsible for opening
|
three calls -- `__libc_openat64`, `__libc_close` and `__GI___fxstat` are responsible for opening
|
||||||
directories and finding untracked files. Notice that there is almost nothing else in the profile
|
directories and finding untracked files. Notice that there is almost nothing else in the profile
|
||||||
apart from these calls. The rest of the code accounts for 3.77 seconds of CPU time -- 32 times less
|
apart from these calls. The rest of the code accounts for 3.77 seconds of CPU time -- 32 times less
|
||||||
|
@ -492,7 +491,7 @@ cd gitstatus
|
||||||
./build -w -s -d docker
|
./build -w -s -d docker
|
||||||
```
|
```
|
||||||
|
|
||||||
Users in China can use the official mirror on gitee.com for faster download.<br>
|
Users in mainland China can use the official mirror on gitee.com for faster download.<br>
|
||||||
中国大陆用户可以使用 gitee.com 上的官方镜像加速下载.
|
中国大陆用户可以使用 gitee.com 上的官方镜像加速下载.
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
|
|
188
gitstatus/build
188
gitstatus/build
|
@ -12,24 +12,11 @@ fi
|
||||||
export LC_ALL=C
|
export LC_ALL=C
|
||||||
|
|
||||||
if [ -z "${ZSH_VERSION-}" ] && command -v zsh >/dev/null 2>&1; then
|
if [ -z "${ZSH_VERSION-}" ] && command -v zsh >/dev/null 2>&1; then
|
||||||
# Avoid bash 3.*.
|
|
||||||
case "${BASH_VERSION-}" in
|
case "${BASH_VERSION-}" in
|
||||||
[0-3].*) exec zsh "$0" "$@";;
|
[0-3].*) exec zsh "$0" "$@";;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Avoid ksh: https://github.com/romkatv/gitstatus/issues/282.
|
|
||||||
if [ -n "${KSH_VERSION-}" ]; then
|
|
||||||
if [ -z "${ZSH_VERSION-}" ] && command -v zsh >/dev/null 2>&1; then
|
|
||||||
exec zsh "$0" "$@"
|
|
||||||
elif [ -z "${BASH_VERSION-}" ] && command -v bash >/dev/null 2>&1 &&
|
|
||||||
bash_version="$(bash --version 2>&1)"; then
|
|
||||||
case "$bash_version" in
|
|
||||||
*version\ [4-9]*|*version\ [1-9][0-9]*) exec bash "$0" "$@";;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
usage="$(command cat <<\END
|
usage="$(command cat <<\END
|
||||||
Usage: build [-m ARCH] [-c CPU] [-d CMD] [-i IMAGE] [-s] [-w]
|
Usage: build [-m ARCH] [-c CPU] [-d CMD] [-i IMAGE] [-s] [-w]
|
||||||
|
|
||||||
|
@ -68,7 +55,7 @@ workdir="$(command pwd)"
|
||||||
|
|
||||||
narg() { echo $#; }
|
narg() { echo $#; }
|
||||||
|
|
||||||
if [ "$(narg $workdir)" != 1 -o -z "${workdir##*:*}" -o -z "${workdir##*=*}" ]; then
|
if [ "$(narg $workdir)" != 1 -o -z "${workdir##*:*}" ]; then
|
||||||
>&2 echo "[error] cannot build in this directory: $workdir"
|
>&2 echo "[error] cannot build in this directory: $workdir"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -100,11 +87,8 @@ if [ -n "$gitstatus_install_tools" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
freebsd|dragonfly)
|
freebsd)
|
||||||
command pkg install -y cmake gmake binutils git perl5 wget
|
command pkg install -y cmake gmake binutils gcc git perl5
|
||||||
;;
|
|
||||||
openbsd)
|
|
||||||
command pkg_add cmake gmake gcc g++ git wget
|
|
||||||
;;
|
;;
|
||||||
netbsd)
|
netbsd)
|
||||||
command pkgin -y install cmake gmake binutils git
|
command pkgin -y install cmake gmake binutils git
|
||||||
|
@ -118,7 +102,7 @@ if [ -n "$gitstatus_install_tools" ]; then
|
||||||
sudo port -N install libiconv cmake wget
|
sudo port -N install libiconv cmake wget
|
||||||
elif command -v brew >/dev/null 2>&1; then
|
elif command -v brew >/dev/null 2>&1; then
|
||||||
for formula in libiconv cmake git wget; do
|
for formula in libiconv cmake git wget; do
|
||||||
if command brew ls --version "$formula" &>/dev/null; then
|
if command brew list "$formula" &>/dev/null; then
|
||||||
command brew upgrade "$formula"
|
command brew upgrade "$formula"
|
||||||
else
|
else
|
||||||
command brew install "$formula"
|
command brew install "$formula"
|
||||||
|
@ -145,109 +129,41 @@ cpus="$(command getconf _NPROCESSORS_ONLN 2>/dev/null)" ||
|
||||||
cpus=8
|
cpus=8
|
||||||
|
|
||||||
case "$gitstatus_cpu" in
|
case "$gitstatus_cpu" in
|
||||||
powerpc64|powerpc64le)
|
powerpc64le) archflag="-mcpu";;
|
||||||
archflag="-mcpu"
|
*) archflag="-march";;
|
||||||
;;
|
|
||||||
*)
|
|
||||||
archflag="-march"
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
cflags="$archflag=$gitstatus_cpu -fno-plt -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fpie"
|
cflags="$archflag=$gitstatus_cpu -fno-plt"
|
||||||
ldflags=
|
|
||||||
static_pie=
|
|
||||||
|
|
||||||
if [ -z "${CC-}" ]; then
|
|
||||||
case "$gitstatus_kernel" in
|
|
||||||
freebsd) export CC=clang;;
|
|
||||||
*) export CC=cc;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf 'int main() {}\n' >"$workdir"/cc-test.c
|
|
||||||
if 2>/dev/null "$CC" \
|
|
||||||
-ffile-prefix-map=x=y \
|
|
||||||
-Werror \
|
|
||||||
-c "$workdir"/cc-test.c \
|
|
||||||
-o "$workdir"/cc-test.o; then
|
|
||||||
cflags="$cflags -ffile-prefix-map=$workdir/="
|
|
||||||
fi
|
|
||||||
|
|
||||||
command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o
|
|
||||||
if 2>/dev/null "$CC" \
|
|
||||||
-fstack-clash-protection \
|
|
||||||
-Werror \
|
|
||||||
-c "$workdir"/cc-test.c \
|
|
||||||
-o "$workdir"/cc-test.o; then
|
|
||||||
cflags="$cflags -fstack-clash-protection"
|
|
||||||
fi
|
|
||||||
|
|
||||||
command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o
|
|
||||||
if 2>/dev/null "$CC" \
|
|
||||||
-fcf-protection \
|
|
||||||
-Werror \
|
|
||||||
-c "$workdir"/cc-test.c \
|
|
||||||
-o "$workdir"/cc-test.o; then
|
|
||||||
cflags="$cflags -fcf-protection"
|
|
||||||
fi
|
|
||||||
|
|
||||||
command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o
|
|
||||||
if 2>/dev/null "$CC" \
|
|
||||||
-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now \
|
|
||||||
-Werror \
|
|
||||||
"$workdir"/cc-test.c \
|
|
||||||
-o "$workdir"/cc-test; then
|
|
||||||
ldflags="$ldflags -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
|
||||||
fi
|
|
||||||
|
|
||||||
command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o
|
|
||||||
if 2>/dev/null "$CC" \
|
|
||||||
-fpie -static-pie \
|
|
||||||
-Werror \
|
|
||||||
"$workdir"/cc-test.c \
|
|
||||||
-o "$workdir"/cc-test; then
|
|
||||||
static_pie='-static-pie'
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$gitstatus_cpu" = x86-64 ]; then
|
if [ "$gitstatus_cpu" = x86-64 ]; then
|
||||||
cflags="$cflags -mtune=generic"
|
cflags="$cflags -mtune=generic"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
libgit2_cmake_flags=
|
libgit2_cmake_flags=
|
||||||
libgit2_cflags="${CFLAGS-} $cflags -O3 -DNDEBUG"
|
libgit2_cflags="$cflags"
|
||||||
|
|
||||||
gitstatus_cxx=g++
|
gitstatus_cxx=g++
|
||||||
gitstatus_cxxflags="${CXXFLAGS-} $cflags -I${workdir}/libgit2/include -DGITSTATUS_ZERO_NSEC -D_GNU_SOURCE -D_GLIBCXX_ASSERTIONS"
|
gitstatus_cxxflags="$cflags -I${workdir}/libgit2/include -DGITSTATUS_ZERO_NSEC -D_GNU_SOURCE"
|
||||||
gitstatus_ldflags="${LDFLAGS-} $ldflags -L${workdir}/libgit2/build"
|
gitstatus_ldflags="-L${workdir}/libgit2/build"
|
||||||
gitstatus_ldlibs=
|
gitstatus_ldlibs=
|
||||||
gitstatus_make=make
|
gitstatus_make=make
|
||||||
|
|
||||||
case "$gitstatus_kernel" in
|
case "$gitstatus_kernel" in
|
||||||
linux)
|
linux)
|
||||||
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
gitstatus_ldflags="$gitstatus_ldflags -static"
|
||||||
|
gitstatus_ldflags="$gitstatus_ldflags -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
freebsd)
|
freebsd)
|
||||||
gitstatus_cxx=clang++
|
|
||||||
gitstatus_make=gmake
|
gitstatus_make=gmake
|
||||||
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
gitstatus_ldflags="$gitstatus_ldflags -static"
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
gitstatus_ldflags="$gitstatus_ldflags -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
||||||
;;
|
|
||||||
dragonfly)
|
|
||||||
gitstatus_cxx=clang++12
|
|
||||||
gitstatus_make=gmake
|
|
||||||
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
|
||||||
;;
|
|
||||||
openbsd)
|
|
||||||
gitstatus_cxx=eg++
|
|
||||||
gitstatus_make=gmake
|
|
||||||
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
netbsd)
|
netbsd)
|
||||||
gitstatus_make=gmake
|
gitstatus_make=gmake
|
||||||
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
gitstatus_ldflags="$gitstatus_ldflags -static"
|
||||||
|
gitstatus_ldflags="$gitstatus_ldflags -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
darwin)
|
darwin)
|
||||||
|
@ -268,11 +184,11 @@ case "$gitstatus_kernel" in
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF"
|
||||||
;;
|
;;
|
||||||
msys*|mingw*)
|
msys*|mingw*)
|
||||||
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
gitstatus_ldflags="$gitstatus_ldflags -static"
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
cygwin*)
|
cygwin*)
|
||||||
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
gitstatus_ldflags="$gitstatus_ldflags -static"
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -281,7 +197,7 @@ case "$gitstatus_kernel" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
for cmd in cat cmake git ld ln mkdir rm strip tar "$gitstatus_make"; do
|
for cmd in cat cmake gcc g++ git ld ln mkdir rm strip tar "$gitstatus_make"; do
|
||||||
if ! command -v "$cmd" >/dev/null 2>&1; then
|
if ! command -v "$cmd" >/dev/null 2>&1; then
|
||||||
if [ -n "$gitstatus_install_tools" ]; then
|
if [ -n "$gitstatus_install_tools" ]; then
|
||||||
>&2 echo "[internal error] $cmd not found"
|
>&2 echo "[internal error] $cmd not found"
|
||||||
|
@ -315,18 +231,7 @@ if [ ! -e "$libgit2_tarball" ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
libgit2_url=https://github.com/romkatv/libgit2/archive/"$libgit2_version".tar.gz
|
libgit2_url=https://github.com/romkatv/libgit2/archive/"$libgit2_version".tar.gz
|
||||||
if ! >"$libgit2_tmp" command wget --no-config -qO- -- "$libgit2_url" &&
|
command wget -O "$libgit2_tmp" -- "$libgit2_url"
|
||||||
! >"$libgit2_tmp" command wget -qO- -- "$libgit2_url"; then
|
|
||||||
set -x
|
|
||||||
>&2 command which wget
|
|
||||||
>&2 command ls -lAd -- "$(command which wget)"
|
|
||||||
>&2 command ls -lAd -- "$outdir"
|
|
||||||
>&2 command ls -lA -- "$outdir"
|
|
||||||
>&2 command ls -lAd -- "$outdir"/deps
|
|
||||||
>&2 command ls -lA -- "$outdir"/deps
|
|
||||||
set +x
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
command mv -f -- "$libgit2_tmp" "$libgit2_tarball"
|
command mv -f -- "$libgit2_tmp" "$libgit2_tarball"
|
||||||
else
|
else
|
||||||
>&2 echo "[error] file not found: deps/libgit2-"$libgit2_version".tar.gz"
|
>&2 echo "[error] file not found: deps/libgit2-"$libgit2_version".tar.gz"
|
||||||
|
@ -372,7 +277,7 @@ command mkdir libgit2/build
|
||||||
cd libgit2/build
|
cd libgit2/build
|
||||||
|
|
||||||
CFLAGS="$libgit2_cflags" command cmake \
|
CFLAGS="$libgit2_cflags" command cmake \
|
||||||
-DCMAKE_BUILD_TYPE=None \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DZERO_NSEC=ON \
|
-DZERO_NSEC=ON \
|
||||||
-DTHREADSAFE=ON \
|
-DTHREADSAFE=ON \
|
||||||
-DUSE_BUNDLED_ZLIB=ON \
|
-DUSE_BUNDLED_ZLIB=ON \
|
||||||
|
@ -390,7 +295,7 @@ command make -j "$cpus" VERBOSE=1
|
||||||
|
|
||||||
APPNAME="$appname".tmp \
|
APPNAME="$appname".tmp \
|
||||||
OBJDIR="$workdir"/gitstatus \
|
OBJDIR="$workdir"/gitstatus \
|
||||||
CXX="${CXX:-$gitstatus_cxx}" \
|
CXX="$gitstatus_cxx" \
|
||||||
CXXFLAGS="$gitstatus_cxxflags" \
|
CXXFLAGS="$gitstatus_cxxflags" \
|
||||||
LDFLAGS="$gitstatus_ldflags" \
|
LDFLAGS="$gitstatus_ldflags" \
|
||||||
LDLIBS="$gitstatus_ldlibs" \
|
LDLIBS="$gitstatus_ldlibs" \
|
||||||
|
@ -401,33 +306,16 @@ app="$outdir"/usrbin/"$appname"
|
||||||
command strip "$app".tmp
|
command strip "$app".tmp
|
||||||
|
|
||||||
command mkdir -- "$workdir"/repo
|
command mkdir -- "$workdir"/repo
|
||||||
printf '[init]\n defaultBranch = master\n' >"$workdir"/.gitconfig
|
command git -C "$workdir"/repo init
|
||||||
(
|
command git -C "$workdir"/repo config user.name "Your Name"
|
||||||
cd -- "$workdir"/repo
|
command git -C "$workdir"/repo config user.email "you@example.com"
|
||||||
GIT_CONFIG_NOSYSTEM=1 HOME="$workdir" command git init
|
command git -C "$workdir"/repo commit --allow-empty --allow-empty-message --no-gpg-sign -m ''
|
||||||
GIT_CONFIG_NOSYSTEM=1 HOME="$workdir" command git config user.name "Your Name"
|
|
||||||
GIT_CONFIG_NOSYSTEM=1 HOME="$workdir" command git config user.email "you@example.com"
|
|
||||||
GIT_CONFIG_NOSYSTEM=1 HOME="$workdir" command git commit \
|
|
||||||
--allow-empty --allow-empty-message --no-gpg-sign -m ''
|
|
||||||
)
|
|
||||||
|
|
||||||
resp="$(printf "hello\037$workdir/repo\036" | "$app".tmp)"
|
resp="$(printf "hello\037$workdir/repo\036" | "$app".tmp)"
|
||||||
case "$resp" in
|
[ -n "$resp" -a -z "${resp##hello*1*$workdir/repo*master*}" ]
|
||||||
hello*1*/repo*master*);;
|
|
||||||
*)
|
|
||||||
>&2 echo 'error: invalid gitstatusd response for a git repo'
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
resp="$(printf 'hello\037\036' | "$app".tmp)"
|
resp="$(printf 'hello\037\036' | "$app".tmp)"
|
||||||
case "$resp" in
|
[ -n "$resp" -a -z "${resp##hello*0*}" ]
|
||||||
hello*0*);;
|
|
||||||
*)
|
|
||||||
>&2 echo 'error: invalid gitstatusd response for a non-repo'
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
command mv -f -- "$app".tmp "$app"
|
command mv -f -- "$app".tmp "$app"
|
||||||
|
|
||||||
|
@ -535,16 +423,13 @@ fi
|
||||||
|
|
||||||
if [ -z "$gitstatus_cpu" ]; then
|
if [ -z "$gitstatus_cpu" ]; then
|
||||||
case "$gitstatus_arch" in
|
case "$gitstatus_arch" in
|
||||||
armel) gitstatus_cpu=armv5;;
|
armv6l) gitstatus_cpu=armv6;;
|
||||||
armv6l|armhf) gitstatus_cpu=armv6;;
|
|
||||||
armv7l) gitstatus_cpu=armv7;;
|
armv7l) gitstatus_cpu=armv7;;
|
||||||
arm64|aarch64) gitstatus_cpu=armv8-a;;
|
arm64) gitstatus_cpu=armv8;;
|
||||||
ppc64|ppc64le) gitstatus_cpu=powerpc64le;;
|
aarch64) gitstatus_cpu=armv8-a;;
|
||||||
|
ppc64le) gitstatus_cpu=powerpc64le;;
|
||||||
riscv64) gitstatus_cpu=rv64imafdc;;
|
riscv64) gitstatus_cpu=rv64imafdc;;
|
||||||
loongarch64) gitstatus_cpu=loongarch64;;
|
|
||||||
x86_64|amd64) gitstatus_cpu=x86-64;;
|
x86_64|amd64) gitstatus_cpu=x86-64;;
|
||||||
x86) gitstatus_cpu=i586;;
|
|
||||||
s390x) gitstatus_cpu=z900;;
|
|
||||||
i386|i586|i686) gitstatus_cpu="$gitstatus_arch";;
|
i386|i586|i686) gitstatus_cpu="$gitstatus_arch";;
|
||||||
*)
|
*)
|
||||||
>&2 echo '[error] unable to infer target CPU architecture'
|
>&2 echo '[error] unable to infer target CPU architecture'
|
||||||
|
@ -574,12 +459,11 @@ case "$gitstatus_kernel" in
|
||||||
if [ -z "$docker_image" ]; then
|
if [ -z "$docker_image" ]; then
|
||||||
case "$gitstatus_arch" in
|
case "$gitstatus_arch" in
|
||||||
x86_64) docker_image=alpine:3.11.6;;
|
x86_64) docker_image=alpine:3.11.6;;
|
||||||
x86|i386|i586|i686) docker_image=i386/alpine:3.11.6;;
|
i386|i586|i686) docker_image=i386/alpine:3.11.6;;
|
||||||
armv6l|armhf) docker_image=arm32v6/alpine:3.11.6;;
|
armv6l) docker_image=arm32v6/alpine:3.11.6;;
|
||||||
armv7l) docker_image=arm32v7/alpine:3.11.6;;
|
armv7l) docker_image=arm32v7/alpine:3.11.6;;
|
||||||
aarch64) docker_image=arm64v8/alpine:3.11.6;;
|
aarch64) docker_image=arm64v8/alpine:3.11.6;;
|
||||||
ppc64|ppc64le) docker_image=ppc64le/alpine:3.11.6;;
|
ppc64le) docker_image=ppc64le/alpine:3.11.6;;
|
||||||
s390x) docker_image=s390x/alpine:3.11.6;;
|
|
||||||
*)
|
*)
|
||||||
>&2 echo '[error] unable to infer docker image'
|
>&2 echo '[error] unable to infer docker image'
|
||||||
>&2 echo 'Please specify explicitly with `-i IMAGE`.'
|
>&2 echo 'Please specify explicitly with `-i IMAGE`.'
|
||||||
|
@ -589,7 +473,7 @@ case "$gitstatus_kernel" in
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
freebsd|openbsd|netbsd|darwin|dragonfly)
|
freebsd|netbsd|darwin)
|
||||||
if [ -n "$docker_cmd" ]; then
|
if [ -n "$docker_cmd" ]; then
|
||||||
>&2 echo "[error] docker (-d) is not supported on $gitstatus_kernel"
|
>&2 echo "[error] docker (-d) is not supported on $gitstatus_kernel"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
# This value is also read by shell bindings (indirectly, through
|
# This value is also read by shell bindings (indirectly, through
|
||||||
# ./install) when using GITSTATUS_DAEMON or usrbin/gitstatusd.
|
# ./install) when using GITSTATUS_DAEMON or usrbin/gitstatusd.
|
||||||
gitstatus_version="v1.5.4"
|
gitstatus_version="v1.3.1"
|
||||||
|
|
||||||
# libgit2 is a build time dependency of gitstatusd. The values of
|
# libgit2 is a build time dependency of gitstatusd. The values of
|
||||||
# libgit2_version and libgit2_sha256 are read by ./build.
|
# libgit2_version and libgit2_sha256 are read by ./build.
|
||||||
|
@ -18,5 +18,5 @@ gitstatus_version="v1.5.4"
|
||||||
#
|
#
|
||||||
# If sha256 of ./deps/libgit2-${libgit2_version}.tar.gz doesn't match,
|
# If sha256 of ./deps/libgit2-${libgit2_version}.tar.gz doesn't match,
|
||||||
# build gets aborted.
|
# build gets aborted.
|
||||||
libgit2_version="tag-2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6"
|
libgit2_version="tag-82cefe2b42300224ad3c148f8b1a569757cc617a"
|
||||||
libgit2_sha256="4ce11d71ee576dbbc410b9fa33a9642809cc1fa687b315f7c23eeb825b251e93"
|
libgit2_sha256="dc701c4e2080f7901f5d599d642b629569e5581086b9838d481d09f284dc7621"
|
||||||
|
|
|
@ -35,11 +35,6 @@
|
||||||
#
|
#
|
||||||
# -D Unless this option is specified, report zero staged, unstaged and conflicted
|
# -D Unless this option is specified, report zero staged, unstaged and conflicted
|
||||||
# changes for repositories with bash.showDirtyState = false.
|
# changes for repositories with bash.showDirtyState = false.
|
||||||
#
|
|
||||||
# -r INT Close git repositories that haven't been used for this many seconds. This is
|
|
||||||
# meant to release resources such as memory and file descriptors. The next request
|
|
||||||
# for a repo that's been closed is much slower than for a repo that hasn't been.
|
|
||||||
# Negative value means infinity. The default is 3600 (one hour).
|
|
||||||
function gitstatus_start() {
|
function gitstatus_start() {
|
||||||
if [[ "$BASH_VERSION" < 4 ]]; then
|
if [[ "$BASH_VERSION" < 4 ]]; then
|
||||||
>&2 printf 'gitstatus_start: need bash version >= 4.0, found %s\n' "$BASH_VERSION"
|
>&2 printf 'gitstatus_start: need bash version >= 4.0, found %s\n' "$BASH_VERSION"
|
||||||
|
@ -53,9 +48,10 @@ function gitstatus_start() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset OPTIND
|
unset OPTIND
|
||||||
local opt timeout=5 max_dirty=-1 ttl=3600 extra_flags=
|
local opt timeout=5 max_dirty=-1 extra_flags
|
||||||
local max_num_staged=1 max_num_unstaged=1 max_num_conflicted=1 max_num_untracked=1
|
local max_num_staged=1 max_num_unstaged=1 max_num_conflicted=1 max_num_untracked=1
|
||||||
while getopts "t:s:u:c:d:m:r:eUWD" opt; do
|
local ignore_status_show_untracked_files
|
||||||
|
while getopts "t:s:u:c:d:m:eUWD" opt; do
|
||||||
case "$opt" in
|
case "$opt" in
|
||||||
t) timeout=$OPTARG;;
|
t) timeout=$OPTARG;;
|
||||||
s) max_num_staged=$OPTARG;;
|
s) max_num_staged=$OPTARG;;
|
||||||
|
@ -63,7 +59,6 @@ function gitstatus_start() {
|
||||||
c) max_num_conflicted=$OPTARG;;
|
c) max_num_conflicted=$OPTARG;;
|
||||||
d) max_num_untracked=$OPTARG;;
|
d) max_num_untracked=$OPTARG;;
|
||||||
m) max_dirty=$OPTARG;;
|
m) max_dirty=$OPTARG;;
|
||||||
r) ttl=$OPTARG;;
|
|
||||||
e) extra_flags+='--recurse-untracked-dirs ';;
|
e) extra_flags+='--recurse-untracked-dirs ';;
|
||||||
U) extra_flags+='--ignore-status-show-untracked-files ';;
|
U) extra_flags+='--ignore-status-show-untracked-files ';;
|
||||||
W) extra_flags+='--ignore-bash-show-untracked-files ';;
|
W) extra_flags+='--ignore-bash-show-untracked-files ';;
|
||||||
|
@ -118,15 +113,9 @@ function gitstatus_start() {
|
||||||
--max-num-conflicted="$max_num_conflicted"
|
--max-num-conflicted="$max_num_conflicted"
|
||||||
--max-num-untracked="$max_num_untracked"
|
--max-num-untracked="$max_num_untracked"
|
||||||
--dirty-max-index-size="$max_dirty"
|
--dirty-max-index-size="$max_dirty"
|
||||||
--repo-ttl-seconds="$ttl"
|
|
||||||
$extra_flags)
|
$extra_flags)
|
||||||
|
|
||||||
if [[ -n "$TMPDIR" && ( ( -d "$TMPDIR" && -w "$TMPDIR" ) || ! ( -d /tmp && -w /tmp ) ) ]]; then
|
tmpdir="$(command mktemp -d "${TMPDIR:-/tmp}"/gitstatus.bash.$$.XXXXXXXXXX)" || return
|
||||||
local tmpdir=$TMPDIR
|
|
||||||
else
|
|
||||||
local tmpdir=/tmp
|
|
||||||
fi
|
|
||||||
tmpdir="$(command mktemp -d "$tmpdir"/gitstatus.bash.$$.XXXXXXXXXX)" || return
|
|
||||||
|
|
||||||
if [[ -n "$log_level" ]]; then
|
if [[ -n "$log_level" ]]; then
|
||||||
GITSTATUS_DAEMON_LOG="$tmpdir"/daemon.log
|
GITSTATUS_DAEMON_LOG="$tmpdir"/daemon.log
|
||||||
|
@ -275,22 +264,54 @@ function gitstatus_start() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export _GITSTATUS_CLIENT_PID _GITSTATUS_REQ_FD _GITSTATUS_RESP_FD GITSTATUS_DAEMON_PID
|
|
||||||
unset -f gitstatus_start_impl
|
unset -f gitstatus_start_impl
|
||||||
|
|
||||||
|
if [[ "${GITSTATUS_STOP_ON_EXEC:-1}" == 1 ]]; then
|
||||||
|
type -t _gitstatus_exec &>/dev/null || function _gitstatus_exec() { exec "$@"; }
|
||||||
|
type -t _gitstatus_builtin &>/dev/null || function _gitstatus_builtin() { builtin "$@"; }
|
||||||
|
|
||||||
|
function _gitstatus_exec_wrapper() {
|
||||||
|
(( ! $# )) || gitstatus_stop
|
||||||
|
local ret=0
|
||||||
|
_gitstatus_exec "$@" || ret=$?
|
||||||
|
[[ -n "${GITSTATUS_DAEMON_PID:-}" ]] || gitstatus_start || true
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
function _gitstatus_builtin_wrapper() {
|
||||||
|
while [[ "${1:-}" == builtin ]]; do shift; done
|
||||||
|
if [[ "${1:-}" == exec ]]; then
|
||||||
|
_gitstatus_exec_wrapper "${@:2}"
|
||||||
|
else
|
||||||
|
_gitstatus_builtin "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
alias exec=_gitstatus_exec_wrapper
|
||||||
|
alias builtin=_gitstatus_builtin_wrapper
|
||||||
|
|
||||||
|
_GITSTATUS_EXEC_HOOK=1
|
||||||
|
else
|
||||||
|
unset _GITSTATUS_EXEC_HOOK
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Stops gitstatusd if it's running.
|
# Stops gitstatusd if it's running.
|
||||||
function gitstatus_stop() {
|
function gitstatus_stop() {
|
||||||
if [[ "${_GITSTATUS_CLIENT_PID:-$BASHPID}" == "$BASHPID" ]]; then
|
[[ "${_GITSTATUS_CLIENT_PID:-$BASHPID}" == "$BASHPID" ]] || return 0
|
||||||
[[ -z "${_GITSTATUS_REQ_FD:-}" ]] || exec {_GITSTATUS_REQ_FD}>&- || true
|
[[ -z "${_GITSTATUS_REQ_FD:-}" ]] || exec {_GITSTATUS_REQ_FD}>&- || true
|
||||||
[[ -z "${_GITSTATUS_RESP_FD:-}" ]] || exec {_GITSTATUS_RESP_FD}>&- || true
|
[[ -z "${_GITSTATUS_RESP_FD:-}" ]] || exec {_GITSTATUS_RESP_FD}>&- || true
|
||||||
[[ -z "${GITSTATUS_DAEMON_PID:-}" ]] || kill "$GITSTATUS_DAEMON_PID" &>/dev/null || true
|
[[ -z "${GITSTATUS_DAEMON_PID:-}" ]] || kill "$GITSTATUS_DAEMON_PID" &>/dev/null || true
|
||||||
|
if [[ -n "${_GITSTATUS_EXEC_HOOK:-}" ]]; then
|
||||||
|
unalias exec builtin &>/dev/null || true
|
||||||
|
function _gitstatus_exec_wrapper() { _gitstatus_exec "$@"; }
|
||||||
|
function _gitstatus_builtin_wrapper() { _gitstatus_builtin "$@"; }
|
||||||
fi
|
fi
|
||||||
unset _GITSTATUS_REQ_FD _GITSTATUS_RESP_FD GITSTATUS_DAEMON_PID
|
unset _GITSTATUS_REQ_FD _GITSTATUS_RESP_FD GITSTATUS_DAEMON_PID _GITSTATUS_EXEC_HOOK
|
||||||
unset _GITSTATUS_DIRTY_MAX_INDEX_SIZE _GITSTATUS_CLIENT_PID
|
unset _GITSTATUS_DIRTY_MAX_INDEX_SIZE _GITSTATUS_CLIENT_PID
|
||||||
}
|
}
|
||||||
|
|
||||||
# Retrieves status of a git repository from a directory under its working tree.
|
# Retrives status of a git repository from a directory under its working tree.
|
||||||
#
|
#
|
||||||
# Usage: gitstatus_query [OPTION]...
|
# Usage: gitstatus_query [OPTION]...
|
||||||
#
|
#
|
||||||
|
@ -311,8 +332,6 @@ function gitstatus_stop() {
|
||||||
# VCS_STATUS_WORKDIR Git repo working directory. Not empty.
|
# VCS_STATUS_WORKDIR Git repo working directory. Not empty.
|
||||||
# VCS_STATUS_COMMIT Commit hash that HEAD is pointing to. Either 40 hex digits or
|
# VCS_STATUS_COMMIT Commit hash that HEAD is pointing to. Either 40 hex digits or
|
||||||
# empty if there is no HEAD (empty repo).
|
# empty if there is no HEAD (empty repo).
|
||||||
# VCS_STATUS_COMMIT_ENCODING Encoding of the HEAD's commit message. Empty value means UTF-8.
|
|
||||||
# VCS_STATUS_COMMIT_SUMMARY The first paragraph of the HEAD's commit message as one line.
|
|
||||||
# VCS_STATUS_LOCAL_BRANCH Local branch name or empty if not on a branch.
|
# VCS_STATUS_LOCAL_BRANCH Local branch name or empty if not on a branch.
|
||||||
# VCS_STATUS_REMOTE_NAME The remote name, e.g. "upstream" or "origin".
|
# VCS_STATUS_REMOTE_NAME The remote name, e.g. "upstream" or "origin".
|
||||||
# VCS_STATUS_REMOTE_BRANCH Upstream branch name. Can be empty.
|
# VCS_STATUS_REMOTE_BRANCH Upstream branch name. Can be empty.
|
||||||
|
@ -360,7 +379,7 @@ function gitstatus_stop() {
|
||||||
# shell or the call had failed.
|
# shell or the call had failed.
|
||||||
function gitstatus_query() {
|
function gitstatus_query() {
|
||||||
unset OPTIND
|
unset OPTIND
|
||||||
local opt dir= timeout=() no_diff=0
|
local opt dir timeout=() no_diff=0
|
||||||
while getopts "d:c:t:p" opt "$@"; do
|
while getopts "d:c:t:p" opt "$@"; do
|
||||||
case "$opt" in
|
case "$opt" in
|
||||||
d) dir=$OPTARG;;
|
d) dir=$OPTARG;;
|
||||||
|
@ -371,7 +390,7 @@ function gitstatus_query() {
|
||||||
done
|
done
|
||||||
(( OPTIND == $# + 1 )) || { echo "usage: gitstatus_query [OPTION]..." >&2; return 1; }
|
(( OPTIND == $# + 1 )) || { echo "usage: gitstatus_query [OPTION]..." >&2; return 1; }
|
||||||
|
|
||||||
[[ -n "${GITSTATUS_DAEMON_PID-}" ]] || return # not started
|
[[ -n "$GITSTATUS_DAEMON_PID" ]] || return # not started
|
||||||
|
|
||||||
local req_id="$RANDOM.$RANDOM.$RANDOM.$RANDOM"
|
local req_id="$RANDOM.$RANDOM.$RANDOM.$RANDOM"
|
||||||
if [[ -z "${GIT_DIR:-}" ]]; then
|
if [[ -z "${GIT_DIR:-}" ]]; then
|
||||||
|
@ -416,8 +435,6 @@ function gitstatus_query() {
|
||||||
VCS_STATUS_PUSH_COMMITS_BEHIND="${resp[24]:-0}"
|
VCS_STATUS_PUSH_COMMITS_BEHIND="${resp[24]:-0}"
|
||||||
VCS_STATUS_NUM_SKIP_WORKTREE="${resp[25]:-0}"
|
VCS_STATUS_NUM_SKIP_WORKTREE="${resp[25]:-0}"
|
||||||
VCS_STATUS_NUM_ASSUME_UNCHANGED="${resp[26]:-0}"
|
VCS_STATUS_NUM_ASSUME_UNCHANGED="${resp[26]:-0}"
|
||||||
VCS_STATUS_COMMIT_ENCODING="${resp[27]-}"
|
|
||||||
VCS_STATUS_COMMIT_SUMMARY="${resp[28]-}"
|
|
||||||
VCS_STATUS_HAS_STAGED=$((VCS_STATUS_NUM_STAGED > 0))
|
VCS_STATUS_HAS_STAGED=$((VCS_STATUS_NUM_STAGED > 0))
|
||||||
if (( _GITSTATUS_DIRTY_MAX_INDEX_SIZE >= 0 &&
|
if (( _GITSTATUS_DIRTY_MAX_INDEX_SIZE >= 0 &&
|
||||||
VCS_STATUS_INDEX_SIZE > _GITSTATUS_DIRTY_MAX_INDEX_SIZE_ )); then
|
VCS_STATUS_INDEX_SIZE > _GITSTATUS_DIRTY_MAX_INDEX_SIZE_ )); then
|
||||||
|
@ -460,8 +477,6 @@ function gitstatus_query() {
|
||||||
unset VCS_STATUS_PUSH_COMMITS_BEHIND
|
unset VCS_STATUS_PUSH_COMMITS_BEHIND
|
||||||
unset VCS_STATUS_NUM_SKIP_WORKTREE
|
unset VCS_STATUS_NUM_SKIP_WORKTREE
|
||||||
unset VCS_STATUS_NUM_ASSUME_UNCHANGED
|
unset VCS_STATUS_NUM_ASSUME_UNCHANGED
|
||||||
unset VCS_STATUS_COMMIT_ENCODING
|
|
||||||
unset VCS_STATUS_COMMIT_SUMMARY
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
# VCS_STATUS_COMMIT=c000eddcff0fb38df2d0137efe24d9d2d900f209
|
# VCS_STATUS_COMMIT=c000eddcff0fb38df2d0137efe24d9d2d900f209
|
||||||
# VCS_STATUS_COMMITS_AHEAD=0
|
# VCS_STATUS_COMMITS_AHEAD=0
|
||||||
# VCS_STATUS_COMMITS_BEHIND=0
|
# VCS_STATUS_COMMITS_BEHIND=0
|
||||||
# VCS_STATUS_COMMIT_ENCODING=''
|
|
||||||
# VCS_STATUS_COMMIT_SUMMARY='pull upstream changes from gitstatus'
|
|
||||||
# VCS_STATUS_HAS_CONFLICTED=0
|
# VCS_STATUS_HAS_CONFLICTED=0
|
||||||
# VCS_STATUS_HAS_STAGED=0
|
# VCS_STATUS_HAS_STAGED=0
|
||||||
# VCS_STATUS_HAS_UNSTAGED=1
|
# VCS_STATUS_HAS_UNSTAGED=1
|
||||||
|
@ -59,7 +57,7 @@ zmodload -F zsh/files b:zf_rm || return
|
||||||
|
|
||||||
typeset -g _gitstatus_plugin_dir"${1:-}"="${${(%):-%x}:A:h}"
|
typeset -g _gitstatus_plugin_dir"${1:-}"="${${(%):-%x}:A:h}"
|
||||||
|
|
||||||
# Retrieves status of a git repo from a directory under its working tree.
|
# Retrives status of a git repo from a directory under its working tree.
|
||||||
#
|
#
|
||||||
## Usage: gitstatus_query [OPTION]... NAME
|
## Usage: gitstatus_query [OPTION]... NAME
|
||||||
#
|
#
|
||||||
|
@ -90,8 +88,6 @@ typeset -g _gitstatus_plugin_dir"${1:-}"="${${(%):-%x}:A:h}"
|
||||||
# VCS_STATUS_WORKDIR Git repo working directory. Not empty.
|
# VCS_STATUS_WORKDIR Git repo working directory. Not empty.
|
||||||
# VCS_STATUS_COMMIT Commit hash that HEAD is pointing to. Either 40 hex digits or
|
# VCS_STATUS_COMMIT Commit hash that HEAD is pointing to. Either 40 hex digits or
|
||||||
# empty if there is no HEAD (empty repo).
|
# empty if there is no HEAD (empty repo).
|
||||||
# VCS_STATUS_COMMIT_ENCODING Encoding of the HEAD's commit message. Empty value means UTF-8.
|
|
||||||
# VCS_STATUS_COMMIT_SUMMARY The first paragraph of the HEAD's commit message as one line.
|
|
||||||
# VCS_STATUS_LOCAL_BRANCH Local branch name or empty if not on a branch.
|
# VCS_STATUS_LOCAL_BRANCH Local branch name or empty if not on a branch.
|
||||||
# VCS_STATUS_REMOTE_NAME The remote name, e.g. "upstream" or "origin".
|
# VCS_STATUS_REMOTE_NAME The remote name, e.g. "upstream" or "origin".
|
||||||
# VCS_STATUS_REMOTE_BRANCH Upstream branch name. Can be empty.
|
# VCS_STATUS_REMOTE_BRANCH Upstream branch name. Can be empty.
|
||||||
|
@ -185,21 +181,9 @@ function gitstatus_query"${1:-}"() {
|
||||||
(( _GITSTATUS_STATE_$name == 2 )) || return
|
(( _GITSTATUS_STATE_$name == 2 )) || return
|
||||||
|
|
||||||
if [[ -z $GIT_DIR ]]; then
|
if [[ -z $GIT_DIR ]]; then
|
||||||
if [[ $dir != /* ]]; then
|
[[ $dir == /* ]] || dir=${(%):-%/}/$dir
|
||||||
if [[ $PWD == /* && $PWD -ef . ]]; then
|
|
||||||
dir=$PWD/$dir
|
|
||||||
else
|
else
|
||||||
dir=${dir:a}
|
[[ $GIT_DIR == /* ]] && dir=:$GIT_DIR || dir=:${(%):-%/}/$GIT_DIR
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [[ $GIT_DIR == /* ]]; then
|
|
||||||
dir=:$GIT_DIR
|
|
||||||
elif [[ $PWD == /* && $PWD -ef . ]]; then
|
|
||||||
dir=:$PWD/$GIT_DIR
|
|
||||||
else
|
|
||||||
dir=:${GIT_DIR:a}
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $dir != (|:)/* ]]; then
|
if [[ $dir != (|:)/* ]]; then
|
||||||
|
@ -345,9 +329,7 @@ function _gitstatus_process_response"${1:-}"() {
|
||||||
VCS_STATUS_PUSH_COMMITS_AHEAD \
|
VCS_STATUS_PUSH_COMMITS_AHEAD \
|
||||||
VCS_STATUS_PUSH_COMMITS_BEHIND \
|
VCS_STATUS_PUSH_COMMITS_BEHIND \
|
||||||
VCS_STATUS_NUM_SKIP_WORKTREE \
|
VCS_STATUS_NUM_SKIP_WORKTREE \
|
||||||
VCS_STATUS_NUM_ASSUME_UNCHANGED \
|
VCS_STATUS_NUM_ASSUME_UNCHANGED in "${(@)resp[3,27]}"; do
|
||||||
VCS_STATUS_COMMIT_ENCODING \
|
|
||||||
VCS_STATUS_COMMIT_SUMMARY in "${(@)resp[3,29]}"; do
|
|
||||||
done
|
done
|
||||||
typeset -gi VCS_STATUS_{INDEX_SIZE,NUM_STAGED,NUM_UNSTAGED,NUM_CONFLICTED,NUM_UNTRACKED,COMMITS_AHEAD,COMMITS_BEHIND,STASHES,NUM_UNSTAGED_DELETED,NUM_STAGED_NEW,NUM_STAGED_DELETED,PUSH_COMMITS_AHEAD,PUSH_COMMITS_BEHIND,NUM_SKIP_WORKTREE,NUM_ASSUME_UNCHANGED}
|
typeset -gi VCS_STATUS_{INDEX_SIZE,NUM_STAGED,NUM_UNSTAGED,NUM_CONFLICTED,NUM_UNTRACKED,COMMITS_AHEAD,COMMITS_BEHIND,STASHES,NUM_UNSTAGED_DELETED,NUM_STAGED_NEW,NUM_STAGED_DELETED,PUSH_COMMITS_AHEAD,PUSH_COMMITS_BEHIND,NUM_SKIP_WORKTREE,NUM_ASSUME_UNCHANGED}
|
||||||
typeset -gi VCS_STATUS_HAS_STAGED=$((VCS_STATUS_NUM_STAGED > 0))
|
typeset -gi VCS_STATUS_HAS_STAGED=$((VCS_STATUS_NUM_STAGED > 0))
|
||||||
|
@ -470,7 +452,7 @@ function _gitstatus_daemon"${1:-}"() {
|
||||||
(( lock_fd == -1 )) && return
|
(( lock_fd == -1 )) && return
|
||||||
|
|
||||||
{
|
{
|
||||||
if zsystem flock -- $file_prefix.lock && command sleep 5 && [[ -e $file_prefix.lock ]]; then
|
if zsystem flock -- $file_prefix.lock && [[ -e $file_prefix.lock ]]; then
|
||||||
zf_rm -f -- $file_prefix.lock $file_prefix.fifo
|
zf_rm -f -- $file_prefix.lock $file_prefix.fifo
|
||||||
kill -- -$pgid
|
kill -- -$pgid
|
||||||
fi
|
fi
|
||||||
|
@ -574,12 +556,7 @@ function gitstatus_start"${1:-}"() {
|
||||||
else
|
else
|
||||||
typeset -gi _GITSTATUS_START_COUNTER
|
typeset -gi _GITSTATUS_START_COUNTER
|
||||||
local log_level=$GITSTATUS_LOG_LEVEL
|
local log_level=$GITSTATUS_LOG_LEVEL
|
||||||
if [[ -n "$TMPDIR" && ( ( -d "$TMPDIR" && -w "$TMPDIR" ) || ! ( -d /tmp && -w /tmp ) ) ]]; then
|
local file_prefix=${${TMPDIR:-/tmp}:A}/gitstatus.$name.$EUID
|
||||||
local tmpdir=$TMPDIR
|
|
||||||
else
|
|
||||||
local tmpdir=/tmp
|
|
||||||
fi
|
|
||||||
local file_prefix=${tmpdir:A}/gitstatus.$name.$EUID
|
|
||||||
file_prefix+=.$sysparams[pid].$EPOCHSECONDS.$((++_GITSTATUS_START_COUNTER))
|
file_prefix+=.$sysparams[pid].$EPOCHSECONDS.$((++_GITSTATUS_START_COUNTER))
|
||||||
(( GITSTATUS_ENABLE_LOGGING )) && : ${log_level:=INFO}
|
(( GITSTATUS_ENABLE_LOGGING )) && : ${log_level:=INFO}
|
||||||
if [[ -n $log_level ]]; then
|
if [[ -n $log_level ]]; then
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Source gitstatus.plugin.sh from $GITSTATUS_DIR or from the same directory
|
# Source gitstatus.plugin.sh from $GITSTATUS_DIR or from the same directory
|
||||||
# in which the current script resides if the variable isn't set.
|
# in which the current script resides if the variable isn't set.
|
||||||
if [[ -n "${GITSTATUS_DIR-}" ]]; then
|
if [[ -n "${GITSTATUS_DIR:-}" ]]; then
|
||||||
source "$GITSTATUS_DIR" || return
|
source "$GITSTATUS_DIR" || return
|
||||||
elif [[ "${BASH_SOURCE[0]}" == */* ]]; then
|
elif [[ "${BASH_SOURCE[0]}" == */* ]]; then
|
||||||
source "${BASH_SOURCE[0]%/*}/gitstatus.plugin.sh" || return
|
source "${BASH_SOURCE[0]%/*}/gitstatus.plugin.sh" || return
|
||||||
|
@ -33,11 +33,11 @@ function gitstatus_prompt_update() {
|
||||||
gitstatus_query "$@" || return 1 # error
|
gitstatus_query "$@" || return 1 # error
|
||||||
[[ "$VCS_STATUS_RESULT" == ok-sync ]] || return 0 # not a git repo
|
[[ "$VCS_STATUS_RESULT" == ok-sync ]] || return 0 # not a git repo
|
||||||
|
|
||||||
local reset=$'\001\e[0m\002' # no color
|
local reset=$'\e[0m' # no color
|
||||||
local clean=$'\001\e[38;5;076m\002' # green foreground
|
local clean=$'\e[38;5;076m' # green foreground
|
||||||
local untracked=$'\001\e[38;5;014m\002' # teal foreground
|
local untracked=$'\e[38;5;014m' # teal foreground
|
||||||
local modified=$'\001\e[38;5;011m\002' # yellow foreground
|
local modified=$'\e[38;5;011m' # yellow foreground
|
||||||
local conflicted=$'\001\e[38;5;196m\002' # red foreground
|
local conflicted=$'\e[38;5;196m' # red foreground
|
||||||
|
|
||||||
local p
|
local p
|
||||||
|
|
||||||
|
@ -85,15 +85,7 @@ function gitstatus_prompt_update() {
|
||||||
gitstatus_stop && gitstatus_start -s -1 -u -1 -c -1 -d -1
|
gitstatus_stop && gitstatus_start -s -1 -u -1 -c -1 -d -1
|
||||||
|
|
||||||
# On every prompt, fetch git status and set GITSTATUS_PROMPT.
|
# On every prompt, fetch git status and set GITSTATUS_PROMPT.
|
||||||
if [[ -z "${PROMPT_COMMAND[*]}" ]]; then
|
PROMPT_COMMAND=gitstatus_prompt_update
|
||||||
PROMPT_COMMAND=gitstatus_prompt_update
|
|
||||||
elif [[ ! "${PROMPT_COMMAND[*]}" =~ [[:space:]\;]?gitstatus_prompt_update[[:space:]\;]? ]]; then
|
|
||||||
# Note: If PROMPT_COMMAND is an array, this will modify its first element.
|
|
||||||
PROMPT_COMMAND=$'gitstatus_prompt_update\n'"$PROMPT_COMMAND"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Retain 3 trailing components of the current directory.
|
|
||||||
PROMPT_DIRTRIM=3
|
|
||||||
|
|
||||||
# Enable promptvars so that ${GITSTATUS_PROMPT} in PS1 is expanded.
|
# Enable promptvars so that ${GITSTATUS_PROMPT} in PS1 is expanded.
|
||||||
shopt -s promptvars
|
shopt -s promptvars
|
||||||
|
|
|
@ -245,30 +245,27 @@ END
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "${TMPDIR-}" -a '(' '(' -d "${TMPDIR-}" -a -w "${TMPDIR-}" ')' -o '!' '(' -d /tmp -a -w /tmp ')' ')' ]; then
|
local tmpdir
|
||||||
local tmp="$TMPDIR"
|
|
||||||
else
|
|
||||||
local tmp=/tmp
|
|
||||||
fi
|
|
||||||
if ! command -v mktemp >/dev/null 2>&1 ||
|
if ! command -v mktemp >/dev/null 2>&1 ||
|
||||||
! tmpdir="$(command mktemp -d "$tmp"/gitstatus-install.XXXXXXXXXX)"; then
|
! tmpdir="$(command mktemp -d "${TMPDIR:-/tmp}"/gitstatus-install.XXXXXXXXXX)"; then
|
||||||
tmpdir="$tmp/gitstatus-install.tmp.$$"
|
tmpdir="${TMPDIR:-/tmp}/gitstatus-install.tmp.$$"
|
||||||
if ! mkdir -p -- "$tmpdir"; then
|
if ! mkdir -p -- "$tmpdir"; then
|
||||||
if [ "$tmp" = /tmp ]; then
|
local dir="${TMPDIR:-/tmp}"
|
||||||
|
if [ -z "${TMPDIR:-}" ]; then
|
||||||
local label='directory'
|
local label='directory'
|
||||||
else
|
else
|
||||||
local label='directory (\033[1mTMPDIR\033[m)'
|
local label='directory (\033[1mTMPDIR\033[m)'
|
||||||
fi
|
fi
|
||||||
if [ ! -e "$tmp" ]; then
|
if [ ! -e "$dir" ]; then
|
||||||
>&"$e" printf 'Temporary '"$label"' does not exist: \033[4;31m%s\033[0m\n' "$tmp"
|
>&"$e" printf 'Temporary '"$label"' does not exist: \033[4;31m%s\033[0m\n' "$dir"
|
||||||
>&"$e" printf '\n'
|
>&"$e" printf '\n'
|
||||||
>&"$e" printf 'Create it, then restart your shell.\n'
|
>&"$e" printf 'Create it, then restart your shell.\n'
|
||||||
elif [ ! -d "$tmp" ]; then
|
elif [ ! -d "$dir" ]; then
|
||||||
>&"$e" printf 'Not a '"$label"': \033[4;31m%s\033[0m\n' "$tmp"
|
>&"$e" printf 'Not a '"$label"': \033[4;31m%s\033[0m\n' "$dir"
|
||||||
>&"$e" printf '\n'
|
>&"$e" printf '\n'
|
||||||
>&"$e" printf 'Make it a directory, then restart your shell.\n'
|
>&"$e" printf 'Make it a directory, then restart your shell.\n'
|
||||||
elif [ ! -w "$tmp" ]; then
|
elif [ ! -w "$dir" ]; then
|
||||||
>&"$e" printf 'Temporary '"$label"' is not writable: \033[4;31m%s\033[0m\n' "$tmp"
|
>&"$e" printf 'Temporary '"$label"' is not writable: \033[4;31m%s\033[0m\n' "$dir"
|
||||||
>&"$e" printf '\n'
|
>&"$e" printf '\n'
|
||||||
>&"$e" printf 'Make it writable, then restart your shell.\n'
|
>&"$e" printf 'Make it writable, then restart your shell.\n'
|
||||||
fi
|
fi
|
||||||
|
@ -307,29 +304,27 @@ END
|
||||||
local data_file="$tmpdir"/"$1".tar.gz
|
local data_file="$tmpdir"/"$1".tar.gz
|
||||||
local hash_file="$tmpdir"/"$1".tar.gz.sha256
|
local hash_file="$tmpdir"/"$1".tar.gz.sha256
|
||||||
local hash=
|
local hash=
|
||||||
{
|
if command -v shasum >/dev/null 2>/dev/null; then
|
||||||
command -v shasum >/dev/null 2>/dev/null &&
|
if run_cmd shasum -b -a 256 -- "$data_file" >"$hash_file"; then
|
||||||
run_cmd shasum -b -a 256 -- "$data_file" >"$hash_file" </dev/null &&
|
IFS= read -r hash <"$hash_file" || hash=
|
||||||
IFS= read -r hash <"$hash_file" &&
|
hash="${hash%% *}"
|
||||||
hash="${hash%% *}" &&
|
fi
|
||||||
[ ${#hash} -eq 64 ]
|
elif command -v sha256sum >/dev/null 2>/dev/null; then
|
||||||
} || {
|
if run_cmd sha256sum -b -- "$data_file" >"$hash_file"; then
|
||||||
command -v sha256sum >/dev/null 2>/dev/null &&
|
IFS= read -r hash <"$hash_file" || hash=
|
||||||
run_cmd sha256sum -b -- "$data_file" >"$hash_file" </dev/null &&
|
hash="${hash%% *}"
|
||||||
IFS= read -r hash <"$hash_file" &&
|
fi
|
||||||
hash="${hash%% *}" &&
|
elif command -v sha256 >/dev/null 2>/dev/null; then
|
||||||
[ ${#hash} -eq 64 ]
|
if run_cmd sha256 -- "$data_file" </dev/null >"$hash_file"; then
|
||||||
} || {
|
IFS= read -r hash <"$hash_file" || hash=
|
||||||
# Note: sha256 can be from hashalot. It's incompatible.
|
# Ignore sha256 output if it's from hashalot. It's incompatible.
|
||||||
# Thankfully, it produces shorter output.
|
if [ ${#hash} -lt 64 ]; then
|
||||||
command -v sha256 >/dev/null 2>/dev/null &&
|
|
||||||
run_cmd sha256 -- "$data_file" >"$hash_file" </dev/null &&
|
|
||||||
IFS= read -r hash <"$hash_file" &&
|
|
||||||
hash="${hash##* }" &&
|
|
||||||
[ ${#hash} -eq 64 ]
|
|
||||||
} || {
|
|
||||||
hash=
|
hash=
|
||||||
}
|
else
|
||||||
|
hash="${hash##* }"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
[ "$1" = 1 -a -z "$hash" -o "$hash" = "$sha256" ]
|
[ "$1" = 1 -a -z "$hash" -o "$hash" = "$sha256" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -345,7 +340,7 @@ END
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
local cmd part url ret
|
local cmd part url ret
|
||||||
for cmd in 'curl -kfsSL' 'wget -qO-' 'curl -q -kfsSL' 'wget --no-config -qO-'; do
|
for cmd in 'curl -q -kfsSL' 'wget --no-config -qO-' 'wget -qO-' 'curl -kfsSL'; do
|
||||||
part=0
|
part=0
|
||||||
while true; do
|
while true; do
|
||||||
if [ "$part" = 2 ]; then
|
if [ "$part" = 2 ]; then
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# 3
|
# 0
|
||||||
#
|
#
|
||||||
# This file is used by ./install and indirectly by shell bindings.
|
# This file is used by ./install and indirectly by shell bindings.
|
||||||
#
|
#
|
||||||
|
@ -8,27 +8,27 @@
|
||||||
# work fine.
|
# work fine.
|
||||||
|
|
||||||
# Official gitstatusd binaries.
|
# Official gitstatusd binaries.
|
||||||
uname_s_glob="cygwin_nt-10.0"; uname_m_glob="i686"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.4"; sha256="5a8a809dcebdb6aa9b47d37e086c0485424a9d9c136770eec3c26cedf5bb75e3";
|
uname_s_glob="cygwin_nt-10.0"; uname_m_glob="i686"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="c96baef70b81b5a1d46adcc9e93721eaf4bdc295562bdd2baf210a6b416b9911";
|
||||||
uname_s_glob="cygwin_nt-10.0"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.1"; sha256="c84cade0d6b86e04c27a6055f45851f6b46d6b88ba58772f7ca8ef4d295c800f";
|
uname_s_glob="cygwin_nt-10.0"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="18b5be49f6eb9ff1cf25e76d6f2333c7402e686e05ce5b88ca107c80504210d8";
|
||||||
uname_s_glob="darwin"; uname_m_glob="arm64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.4"; sha256="eae979e990ca37c56ee39fadd0c3f392cbbd0c6bdfb9a603010be60d9e48910a";
|
uname_s_glob="darwin"; uname_m_glob="arm64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="0394e2ac880c1e190ace0346499d4670861297ecc2f84315ecb8ba3c98aa68d9";
|
||||||
uname_s_glob="darwin"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.4"; sha256="9fd3913ec1b6b856ab6e08a99a2343f0e8e809eb6b62ca4b0963163656c668e6";
|
uname_s_glob="darwin"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="26d582fe9a0b2090c28e84e5e32a6d42d6988cedff51e41ec5f789512c53b0fc";
|
||||||
uname_s_glob="freebsd"; uname_m_glob="amd64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.4"; sha256="8e57ad642251e5acfa430aed82cd4ffe103db0bfadae4a15ccaf462c455d0442";
|
uname_s_glob="freebsd"; uname_m_glob="amd64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="54a823373458a0908187ba8d1c5b8921015c844811916451674cc09fbdff88bb";
|
||||||
uname_s_glob="linux"; uname_m_glob="aarch64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.4"; sha256="32b57eb28bf6d80b280e4020a0045184f8ca897b20b570c12948aa6838673225";
|
uname_s_glob="linux"; uname_m_glob="aarch64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="4e0a506eafb14b009cf6670f0e11399ac7e765cad17b9fcf38ef65516d248bfa";
|
||||||
uname_s_glob="linux"; uname_m_glob="armv6l"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.1"; sha256="4bf5a0d0a082f544a48536ad3675930d5d2cc6a8cf906710045e0788f51192b3";
|
uname_s_glob="linux"; uname_m_glob="armv6l"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="4cc78bf24c6cfb4580ae48b13e1f26b6b00869c612b5d662632f7561f7475252";
|
||||||
uname_s_glob="linux"; uname_m_glob="armv7l"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.1"; sha256="2b9deb29f86c8209114b71b94fc2e1ed936a1658808a1bee46f4a82fd6a1f8cc";
|
uname_s_glob="linux"; uname_m_glob="armv7l"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="80f5ebc8efe62a0c322e92d15d469e80f9d3ce967c5d5118138674c47f96747b";
|
||||||
uname_s_glob="linux"; uname_m_glob="armv8l"; file="gitstatusd-${uname_s}-aarch64"; version="v1.5.4"; sha256="32b57eb28bf6d80b280e4020a0045184f8ca897b20b570c12948aa6838673225";
|
uname_s_glob="linux"; uname_m_glob="armv8l"; file="gitstatusd-${uname_s}-aarch64"; version="v1.3.1"; sha256="4e0a506eafb14b009cf6670f0e11399ac7e765cad17b9fcf38ef65516d248bfa";
|
||||||
uname_s_glob="linux"; uname_m_glob="i686"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.4"; sha256="56d55e2e9a202d3072fa612d8fa1faa61243ffc86418a7fa64c2c9d9a82e0f64";
|
uname_s_glob="linux"; uname_m_glob="i686"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="ba506fbecf4a4430533e661bb63c7b77f6b4836ea013bdf8a6eabeace456f3b9";
|
||||||
uname_s_glob="linux"; uname_m_glob="ppc64le"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.4"; sha256="1afd072c8c26ef6ec2d9ac11cef96c84cd6f10e859665a6ffcfb6112c758547e";
|
uname_s_glob="linux"; uname_m_glob="ppc64le"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="1bf907db28ac7d6516add51be47b73b1854b84ecf46de56ccb1479e6a7e29ed2";
|
||||||
uname_s_glob="linux"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.4"; sha256="9633816e7832109e530c9e2532b11a1edae08136d63aa7e40246c0339b7db304";
|
uname_s_glob="linux"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="91bcc1efafff8c896e8f172ff624d9407494f7a26b4ad1bf573f52623be2ca91";
|
||||||
uname_s_glob="msys_nt-10.0"; uname_m_glob="i686"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.1"; sha256="7f9b849fc52e7a95b9b933e25121ad5ae990a1871aad6616922ad7bcf1eebf20";
|
uname_s_glob="msys_nt-10.0"; uname_m_glob="i686"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="618d2425c6a22fa3762fe6fe252f9ddb4ed9138df1377e48b2f119cd4875f400";
|
||||||
uname_s_glob="msys_nt-10.0"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.5.1"; sha256="5d3c626b5ee564dbc13ddba89752dc58b0efe925b26dbd8b2304849d9ba01732";
|
uname_s_glob="msys_nt-10.0"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="bdfae7a7c0fd83d0214a7eabde3b7d8709336bd08697a74d48bea4a04c352676";
|
||||||
|
|
||||||
# Fallbacks to official gitstatusd binaries.
|
# Fallbacks to official gitstatusd binaries.
|
||||||
uname_s_glob="cygwin_nt-*"; uname_m_glob="i686"; file="gitstatusd-cygwin_nt-10.0-${uname_m}"; version="v1.5.2"; sha256="5a8a809dcebdb6aa9b47d37e086c0485424a9d9c136770eec3c26cedf5bb75e3";
|
uname_s_glob="cygwin_nt-*"; uname_m_glob="i686"; file="gitstatusd-cygwin_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="c96baef70b81b5a1d46adcc9e93721eaf4bdc295562bdd2baf210a6b416b9911";
|
||||||
uname_s_glob="cygwin_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-cygwin_nt-10.0-${uname_m}"; version="v1.5.1"; sha256="c84cade0d6b86e04c27a6055f45851f6b46d6b88ba58772f7ca8ef4d295c800f";
|
uname_s_glob="cygwin_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-cygwin_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="18b5be49f6eb9ff1cf25e76d6f2333c7402e686e05ce5b88ca107c80504210d8";
|
||||||
uname_s_glob="mingw32_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.5.1"; sha256="7f9b849fc52e7a95b9b933e25121ad5ae990a1871aad6616922ad7bcf1eebf20";
|
uname_s_glob="mingw32_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="618d2425c6a22fa3762fe6fe252f9ddb4ed9138df1377e48b2f119cd4875f400";
|
||||||
uname_s_glob="mingw32_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.5.1"; sha256="5d3c626b5ee564dbc13ddba89752dc58b0efe925b26dbd8b2304849d9ba01732";
|
uname_s_glob="mingw32_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="bdfae7a7c0fd83d0214a7eabde3b7d8709336bd08697a74d48bea4a04c352676";
|
||||||
uname_s_glob="mingw64_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.5.1"; sha256="7f9b849fc52e7a95b9b933e25121ad5ae990a1871aad6616922ad7bcf1eebf20";
|
uname_s_glob="mingw64_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="618d2425c6a22fa3762fe6fe252f9ddb4ed9138df1377e48b2f119cd4875f400";
|
||||||
uname_s_glob="mingw64_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.5.1"; sha256="5d3c626b5ee564dbc13ddba89752dc58b0efe925b26dbd8b2304849d9ba01732";
|
uname_s_glob="mingw64_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="bdfae7a7c0fd83d0214a7eabde3b7d8709336bd08697a74d48bea4a04c352676";
|
||||||
uname_s_glob="msys_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.5.1"; sha256="7f9b849fc52e7a95b9b933e25121ad5ae990a1871aad6616922ad7bcf1eebf20";
|
uname_s_glob="msys_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="618d2425c6a22fa3762fe6fe252f9ddb4ed9138df1377e48b2f119cd4875f400";
|
||||||
uname_s_glob="msys_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.5.1"; sha256="5d3c626b5ee564dbc13ddba89752dc58b0efe925b26dbd8b2304849d9ba01732";
|
uname_s_glob="msys_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="bdfae7a7c0fd83d0214a7eabde3b7d8709336bd08697a74d48bea4a04c352676";
|
||||||
|
|
|
@ -94,7 +94,9 @@
|
||||||
setopt no_unset extended_glob pipe_fail prompt_percent typeset_silent \
|
setopt no_unset extended_glob pipe_fail prompt_percent typeset_silent \
|
||||||
no_prompt_subst no_prompt_bang pushd_silent warn_create_global
|
no_prompt_subst no_prompt_bang pushd_silent warn_create_global
|
||||||
|
|
||||||
if [[ $ZSH_VERSION != (5.<1->*|<6->.*) || $ZSH_VERSION == 5.4(|.*) ]]; then
|
autoload -Uz is-at-least
|
||||||
|
|
||||||
|
if ! is-at-least 5.1 || [[ $ZSH_VERSION == 5.4.* ]]; then
|
||||||
print -ru2 -- "[error] unsupported zsh version: $ZSH_VERSION"
|
print -ru2 -- "[error] unsupported zsh version: $ZSH_VERSION"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
@ -182,7 +184,7 @@ function build-unix() {
|
||||||
case $2 in
|
case $2 in
|
||||||
linux-ppc64le) ;;
|
linux-ppc64le) ;;
|
||||||
linux-*) flags+=(-d docker);;
|
linux-*) flags+=(-d docker);;
|
||||||
darwin-arm64) intro='PATH="/opt/homebrew/bin:$PATH"';;
|
darwin-arm64) intro='PATH="/opt/local/bin:$PATH"';;
|
||||||
darwin-*) intro='PATH="/usr/local/bin:$PATH"';;
|
darwin-*) intro='PATH="/usr/local/bin:$PATH"';;
|
||||||
esac
|
esac
|
||||||
ssh $1 -- /bin/sh -uex <<<"
|
ssh $1 -- /bin/sh -uex <<<"
|
||||||
|
@ -210,11 +212,10 @@ function build-windows() {
|
||||||
tmp='/cygdrive/c/tmp'
|
tmp='/cygdrive/c/tmp'
|
||||||
;|
|
;|
|
||||||
msys_nt-10.0-*)
|
msys_nt-10.0-*)
|
||||||
|
flags+=(-s)
|
||||||
tmp='/c/tmp'
|
tmp='/c/tmp'
|
||||||
env='MSYSTEM=MSYS'
|
env='MSYSTEM=MSYS'
|
||||||
# TODO: fix this (some errors about PGP keys).
|
intro='pacman -Syu --noconfirm; pacman -S --needed --noconfirm git; '
|
||||||
# flags+=(-s)
|
|
||||||
# intro='pacman -S --needed --noconfirm git; '
|
|
||||||
intro+='PATH="$PATH:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"'
|
intro+='PATH="$PATH:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"'
|
||||||
while true; do
|
while true; do
|
||||||
# TODO: run autorebase only when getting an error that can be fixed by autorebasing.
|
# TODO: run autorebase only when getting an error that can be fixed by autorebasing.
|
||||||
|
@ -229,8 +230,6 @@ function build-windows() {
|
||||||
done
|
done
|
||||||
() {
|
() {
|
||||||
while true; do
|
while true; do
|
||||||
# TODO: fix this (some errors about PGP keys).
|
|
||||||
break
|
|
||||||
local -i fd
|
local -i fd
|
||||||
exec {fd}< <(
|
exec {fd}< <(
|
||||||
ssh $1 $c/$bin/env.exe $env c:/$bin/bash.exe -l 2>&1 <<<"
|
ssh $1 $c/$bin/env.exe $env c:/$bin/bash.exe -l 2>&1 <<<"
|
||||||
|
@ -269,52 +268,16 @@ function build-windows() {
|
||||||
chmod +x $binaries/gitstatusd-$2
|
chmod +x $binaries/gitstatusd-$2
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ -r /proc/version && "$(</proc/version)" == *Microsoft* ]]; then
|
|
||||||
() {
|
|
||||||
(( $# )) || return 0
|
|
||||||
print -ru2 -- "WARNING: lock files exist: $@"
|
|
||||||
(( $# )) && rm -- $@
|
|
||||||
} $locks/*(N)
|
|
||||||
|
|
||||||
function flock() {
|
|
||||||
local fd
|
|
||||||
sysopen -ro cloexec -u fd <(
|
|
||||||
exec </dev/null 2>/dev/null
|
|
||||||
(
|
|
||||||
trap '' TERM PIPE
|
|
||||||
local fd
|
|
||||||
while true; do
|
|
||||||
sysopen -wo create,excl -u fd -- $1 && break
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
exec {fd}>&-
|
|
||||||
while true; do
|
|
||||||
print || break
|
|
||||||
done
|
|
||||||
rm -- $1
|
|
||||||
) &!
|
|
||||||
)
|
|
||||||
local REPLY
|
|
||||||
IFS= read -ru $fd
|
|
||||||
}
|
|
||||||
else
|
|
||||||
function flock() {
|
|
||||||
: >>$1
|
|
||||||
zsystem flock $1
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
function build() (
|
function build() (
|
||||||
setopt xtrace
|
setopt xtrace
|
||||||
local platform=$1
|
local platform=$1
|
||||||
local machine=$assets[$platform]
|
local machine=$assets[$platform]
|
||||||
flock $locks/$machine
|
print -n >>$locks/$machine
|
||||||
|
zsystem flock $locks/$machine
|
||||||
build-${protocol[(k)$platform]} $machine $platform
|
build-${protocol[(k)$platform]} $machine $platform
|
||||||
local tmp=gitstatusd-$platform.tmp.$$.tar.gz
|
local tmp=gitstatusd-$platform.tmp.$$.tar.gz
|
||||||
( cd -q -- $binaries; tar --owner=0 --group=0 -I 'gzip -9' -cf $tmp gitstatusd-$platform )
|
( cd -q -- $binaries; tar --owner=0 --group=0 -I 'gzip -9' -cf $tmp gitstatusd-$platform )
|
||||||
mv -f -- $binaries/$tmp $binaries/gitstatusd-$platform.tar.gz
|
mv -f -- $binaries/$tmp $binaries/gitstatusd-$platform.tar.gz
|
||||||
# Make sure the last command is a built-in (important for flock).
|
|
||||||
:
|
|
||||||
)
|
)
|
||||||
|
|
||||||
function mbuild() {
|
function mbuild() {
|
||||||
|
@ -399,8 +362,4 @@ function run-process-tree() {
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir -p -- $logs $locks $binaries
|
mkdir -p -- $logs $locks $binaries
|
||||||
|
run-process-tree mbuild $@
|
||||||
() {
|
|
||||||
run-process-tree mbuild $@
|
|
||||||
exit
|
|
||||||
} "$@"
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
// The argument must be an expression convertible to bool.
|
// The argument must be an expression convertible to bool.
|
||||||
// Does nothing if the expression evaluates to true. Otherwise
|
// Does nothing if the expression evalutes to true. Otherwise
|
||||||
// it's equivalent to LOG(FATAL).
|
// it's equivalent to LOG(FATAL).
|
||||||
#define CHECK(cond...) \
|
#define CHECK(cond...) \
|
||||||
static_cast<void>(0), (!!(cond)) ? static_cast<void>(0) : LOG(FATAL) << #cond << ": "
|
static_cast<void>(0), (!!(cond)) ? static_cast<void>(0) : LOG(FATAL) << #cond << ": "
|
||||||
|
|
|
@ -106,14 +106,14 @@ bool ListDir(int dir_fd, Arena& arena, std::vector<char*>& entries, bool precomp
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr size_t kBufSize = 8 << 10;
|
constexpr size_t kBufSize = 8 << 10;
|
||||||
const size_t orig_size = entries.size();
|
entries.clear();
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
char* buf = static_cast<char*>(arena.Allocate(kBufSize, alignof(linux_dirent64)));
|
char* buf = static_cast<char*>(arena.Allocate(kBufSize, alignof(linux_dirent64)));
|
||||||
// Save 256 bytes for the rainy day.
|
// Save 256 bytes for the rainy day.
|
||||||
int n = syscall(SYS_getdents64, dir_fd, buf, kBufSize - 256);
|
int n = syscall(SYS_getdents64, dir_fd, buf, kBufSize - 256);
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
entries.resize(orig_size);
|
entries.clear();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for (int pos = 0; pos < n;) {
|
for (int pos = 0; pos < n;) {
|
||||||
|
@ -131,9 +131,9 @@ bool ListDir(int dir_fd, Arena& arena, std::vector<char*>& entries, bool precomp
|
||||||
}
|
}
|
||||||
|
|
||||||
if (case_sensitive) {
|
if (case_sensitive) {
|
||||||
SortEntries<true>(entries.data() + orig_size, entries.data() + entries.size());
|
SortEntries<true>(entries.data(), entries.data() + entries.size());
|
||||||
} else {
|
} else {
|
||||||
SortEntries<false>(entries.data() + orig_size, entries.data() + entries.size());
|
SortEntries<false>(entries.data(), entries.data() + entries.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -211,7 +211,7 @@ char* DirenvConvert(Arena& arena, struct dirent& ent, bool do_convert) {
|
||||||
|
|
||||||
bool ListDir(int dir_fd, Arena& arena, std::vector<char*>& entries, bool precompose_unicode,
|
bool ListDir(int dir_fd, Arena& arena, std::vector<char*>& entries, bool precompose_unicode,
|
||||||
bool case_sensitive) {
|
bool case_sensitive) {
|
||||||
const size_t orig_size = entries.size();
|
entries.clear();
|
||||||
dir_fd = dup(dir_fd);
|
dir_fd = dup(dir_fd);
|
||||||
if (dir_fd < 0) return false;
|
if (dir_fd < 0) return false;
|
||||||
DIR* dir = fdopendir(dir_fd);
|
DIR* dir = fdopendir(dir_fd);
|
||||||
|
@ -225,10 +225,10 @@ bool ListDir(int dir_fd, Arena& arena, std::vector<char*>& entries, bool precomp
|
||||||
entries.push_back(DirenvConvert(arena, *ent, precompose_unicode));
|
entries.push_back(DirenvConvert(arena, *ent, precompose_unicode));
|
||||||
}
|
}
|
||||||
if (errno) {
|
if (errno) {
|
||||||
entries.resize(orig_size);
|
entries.clear();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
StrSort(entries.data() + orig_size, entries.data() + entries.size(), case_sensitive);
|
StrSort(entries.data(), entries.data() + entries.size(), case_sensitive);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,11 +25,11 @@
|
||||||
|
|
||||||
namespace gitstatus {
|
namespace gitstatus {
|
||||||
|
|
||||||
// On error, leaves entries unchanged and returns false. Does not throw.
|
// On error, clears entries and returns false. Does not throw.
|
||||||
//
|
//
|
||||||
// On success, appends names of files from the specified directory to entries and returns true.
|
// On success, fills entries with the names of files from the specified directory and returns true.
|
||||||
// Every appended entry is a null-terminated string. At -1 offset is its d_type. All elements
|
// Every entry is a null-terminated string. At -1 offset is its d_type. All elements point into the
|
||||||
// point into the arena. They are sorted either by strcmp or strcasecmp depending on case_sensitive.
|
// arena. They are sorted either by strcmp or strcasecmp depending on case_sensitive.
|
||||||
//
|
//
|
||||||
// Does not close dir_fd.
|
// Does not close dir_fd.
|
||||||
//
|
//
|
||||||
|
|
|
@ -239,12 +239,4 @@ PushRemotePtr GetPushRemote(git_repository* repo, const git_reference* local) {
|
||||||
return PushRemotePtr(res.release());
|
return PushRemotePtr(res.release());
|
||||||
}
|
}
|
||||||
|
|
||||||
CommitMessage GetCommitMessage(git_repository* repo, const git_oid& id) {
|
|
||||||
git_commit* commit;
|
|
||||||
VERIFY(!git_commit_lookup(&commit, repo, &id)) << GitError();
|
|
||||||
ON_SCOPE_EXIT(=) { git_commit_free(commit); };
|
|
||||||
return {.encoding = git_commit_message_encoding(commit) ?: "",
|
|
||||||
.summary = git_commit_summary(commit) ?: ""};
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace gitstatus
|
} // namespace gitstatus
|
||||||
|
|
|
@ -48,15 +48,6 @@ git_reference* Head(git_repository* repo);
|
||||||
// Returns the name of the local branch, or an empty string.
|
// Returns the name of the local branch, or an empty string.
|
||||||
const char* LocalBranchName(const git_reference* ref);
|
const char* LocalBranchName(const git_reference* ref);
|
||||||
|
|
||||||
struct CommitMessage {
|
|
||||||
// Can be empty, meaning "UTF-8".
|
|
||||||
std::string encoding;
|
|
||||||
// The first paragraph of the commit's message as a one-liner.
|
|
||||||
std::string summary;
|
|
||||||
};
|
|
||||||
|
|
||||||
CommitMessage GetCommitMessage(git_repository* repo, const git_oid& id);
|
|
||||||
|
|
||||||
struct Remote {
|
struct Remote {
|
||||||
// Tip of the remote branch.
|
// Tip of the remote branch.
|
||||||
git_reference* ref;
|
git_reference* ref;
|
||||||
|
|
|
@ -41,10 +41,6 @@ namespace {
|
||||||
|
|
||||||
using namespace std::string_literals;
|
using namespace std::string_literals;
|
||||||
|
|
||||||
void Truncate(std::string& s, size_t max_len) {
|
|
||||||
if (s.size() > max_len) s.resize(max_len);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ProcessRequest(const Options& opts, RepoCache& cache, Request req) {
|
void ProcessRequest(const Options& opts, RepoCache& cache, Request req) {
|
||||||
Timer timer;
|
Timer timer;
|
||||||
ON_SCOPE_EXIT(&) { timer.Report("request"); };
|
ON_SCOPE_EXIT(&) { timer.Report("request"); };
|
||||||
|
@ -171,11 +167,6 @@ void ProcessRequest(const Options& opts, RepoCache& cache, Request req) {
|
||||||
// The number of files in the index with assume-unchanged bit set.
|
// The number of files in the index with assume-unchanged bit set.
|
||||||
resp.Print(stats.num_assume_unchanged);
|
resp.Print(stats.num_assume_unchanged);
|
||||||
|
|
||||||
CommitMessage msg = head_target ? GetCommitMessage(repo->repo(), *head_target) : CommitMessage();
|
|
||||||
Truncate(msg.summary, opts.max_commit_summary_length);
|
|
||||||
resp.Print(msg.encoding);
|
|
||||||
resp.Print(msg.summary);
|
|
||||||
|
|
||||||
resp.Dump("with git status");
|
resp.Dump("with git status");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -242,7 +242,6 @@ std::vector<const char*> ScanDirs(git_index* index, int root_fd, IndexDir* const
|
||||||
dir.st = st;
|
dir.st = st;
|
||||||
}
|
}
|
||||||
|
|
||||||
entries.clear();
|
|
||||||
arena.Reuse();
|
arena.Reuse();
|
||||||
if (!ListDir(*dir_fd, arena, entries, caps.precompose_unicode, caps.case_sensitive)) {
|
if (!ListDir(*dir_fd, arena, entries, caps.precompose_unicode, caps.case_sensitive)) {
|
||||||
AddUnmached("");
|
AddUnmached("");
|
||||||
|
|
|
@ -53,15 +53,9 @@ long ParseInt(const char* s) {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ParseSizeT(const char* s) {
|
|
||||||
static_assert(sizeof(long) <= sizeof(size_t), "");
|
|
||||||
long res = ParseLong(s);
|
|
||||||
return res >= 0 ? res : -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void PrintUsage() {
|
void PrintUsage() {
|
||||||
std::cout << "Usage: gitstatusd [OPTION]...\n"
|
std::cout << "Usage: gitstatusd [OPTION]...\n"
|
||||||
<< "Print machine-readable status of the git repos for directories in stdin.\n"
|
<< "Print machine-readable status of the git repos for directores in stdin.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "OPTIONS\n"
|
<< "OPTIONS\n"
|
||||||
<< " -l, --lock-fd=NUM [default=-1]\n"
|
<< " -l, --lock-fd=NUM [default=-1]\n"
|
||||||
|
@ -78,7 +72,7 @@ void PrintUsage() {
|
||||||
<< " maximum performance.\n"
|
<< " maximum performance.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< " -v, --log-level=STR [default=INFO]\n"
|
<< " -v, --log-level=STR [default=INFO]\n"
|
||||||
<< " Don't write entries to log whose log level is below this. Log levels in\n"
|
<< " Don't write entires to log whose log level is below this. Log levels in\n"
|
||||||
<< " increasing order: DEBUG, INFO, WARN, ERROR, FATAL.\n"
|
<< " increasing order: DEBUG, INFO, WARN, ERROR, FATAL.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< " -r, --repo-ttl-seconds=NUM [default=3600]\n"
|
<< " -r, --repo-ttl-seconds=NUM [default=3600]\n"
|
||||||
|
@ -87,18 +81,12 @@ void PrintUsage() {
|
||||||
<< " repo that's been closed is much slower than for a repo that hasn't been.\n"
|
<< " repo that's been closed is much slower than for a repo that hasn't been.\n"
|
||||||
<< " Negative value means infinity.\n"
|
<< " Negative value means infinity.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< " -z, --max-commit-summary-length=NUM [default=256]\n"
|
|
||||||
<< " Truncate commit summary if it's longer than this many bytes.\n"
|
|
||||||
<< "\n"
|
|
||||||
<< " -s, --max-num-staged=NUM [default=1]\n"
|
<< " -s, --max-num-staged=NUM [default=1]\n"
|
||||||
<< " Report at most this many staged changes; negative value means infinity.\n"
|
<< " Report at most this many staged changes; negative value means infinity.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< " -u, --max-num-unstaged=NUM [default=1]\n"
|
<< " -u, --max-num-unstaged=NUM [default=1]\n"
|
||||||
<< " Report at most this many unstaged changes; negative value means infinity.\n"
|
<< " Report at most this many unstaged changes; negative value means infinity.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< " -c, --max-num-conflicted=NUM [default=1]\n"
|
|
||||||
<< " Report at most this many conflicted changes; negative value means infinity.\n"
|
|
||||||
<< "\n"
|
|
||||||
<< " -d, --max-num-untracked=NUM [default=1]\n"
|
<< " -d, --max-num-untracked=NUM [default=1]\n"
|
||||||
<< " Report at most this many untracked files; negative value means infinity.\n"
|
<< " Report at most this many untracked files; negative value means infinity.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
|
@ -141,7 +129,7 @@ void PrintUsage() {
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< " 1. Request ID. Any string. Can be empty.\n"
|
<< " 1. Request ID. Any string. Can be empty.\n"
|
||||||
<< " 2. Path to the directory for which git stats are being requested.\n"
|
<< " 2. Path to the directory for which git stats are being requested.\n"
|
||||||
<< " If the first character is ':', it is removed and the remaining path\n"
|
<< " If the first character is ':', it is removed and the remaning path\n"
|
||||||
<< " is treated as GIT_DIR.\n"
|
<< " is treated as GIT_DIR.\n"
|
||||||
<< " 3. (Optional) '1' to disable computation of anything that requires reading\n"
|
<< " 3. (Optional) '1' to disable computation of anything that requires reading\n"
|
||||||
<< " git index; '0' for the default behavior of computing everything.\n"
|
<< " git index; '0' for the default behavior of computing everything.\n"
|
||||||
|
@ -182,8 +170,6 @@ void PrintUsage() {
|
||||||
<< " 25. Number of commits the current branch is behind push remote.\n"
|
<< " 25. Number of commits the current branch is behind push remote.\n"
|
||||||
<< " 26. Number of files in the index with skip-worktree bit set.\n"
|
<< " 26. Number of files in the index with skip-worktree bit set.\n"
|
||||||
<< " 27. Number of files in the index with assume-unchanged bit set.\n"
|
<< " 27. Number of files in the index with assume-unchanged bit set.\n"
|
||||||
<< " 28. Encoding of the HEAD's commit message. Empty value means UTF-8.\n"
|
|
||||||
<< " 29. The first paragraph of the HEAD's commit message as one line.\n"
|
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "Note: Renamed files are reported as deleted plus new.\n"
|
<< "Note: Renamed files are reported as deleted plus new.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
|
@ -226,8 +212,6 @@ void PrintUsage() {
|
||||||
<< " '0'\n"
|
<< " '0'\n"
|
||||||
<< " '0'\n"
|
<< " '0'\n"
|
||||||
<< " '0'\n"
|
<< " '0'\n"
|
||||||
<< " ''\n"
|
|
||||||
<< " 'add a build server for darwin-arm64'\n"
|
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "EXIT STATUS\n"
|
<< "EXIT STATUS\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
|
@ -255,13 +239,12 @@ const char* Version() {
|
||||||
Options ParseOptions(int argc, char** argv) {
|
Options ParseOptions(int argc, char** argv) {
|
||||||
const struct option opts[] = {{"help", no_argument, nullptr, 'h'},
|
const struct option opts[] = {{"help", no_argument, nullptr, 'h'},
|
||||||
{"version", no_argument, nullptr, 'V'},
|
{"version", no_argument, nullptr, 'V'},
|
||||||
{"version-glob", required_argument, nullptr, 'G'},
|
{"version-glob", no_argument, nullptr, 'G'},
|
||||||
{"lock-fd", required_argument, nullptr, 'l'},
|
{"lock-fd", required_argument, nullptr, 'l'},
|
||||||
{"parent-pid", required_argument, nullptr, 'p'},
|
{"parent-pid", required_argument, nullptr, 'p'},
|
||||||
{"num-threads", required_argument, nullptr, 't'},
|
{"num-threads", required_argument, nullptr, 't'},
|
||||||
{"log-level", required_argument, nullptr, 'v'},
|
{"log-level", required_argument, nullptr, 'v'},
|
||||||
{"repo-ttl-seconds", required_argument, nullptr, 'r'},
|
{"repo-ttl-seconds", required_argument, nullptr, 'r'},
|
||||||
{"max-commit-summary-length", required_argument, nullptr, 'z'},
|
|
||||||
{"max-num-staged", required_argument, nullptr, 's'},
|
{"max-num-staged", required_argument, nullptr, 's'},
|
||||||
{"max-num-unstaged", required_argument, nullptr, 'u'},
|
{"max-num-unstaged", required_argument, nullptr, 'u'},
|
||||||
{"max-num-conflicted", required_argument, nullptr, 'c'},
|
{"max-num-conflicted", required_argument, nullptr, 'c'},
|
||||||
|
@ -274,7 +257,7 @@ Options ParseOptions(int argc, char** argv) {
|
||||||
{}};
|
{}};
|
||||||
Options res;
|
Options res;
|
||||||
while (true) {
|
while (true) {
|
||||||
switch (getopt_long(argc, argv, "hVG:l:p:t:v:r:z:s:u:c:d:m:eUWD", opts, nullptr)) {
|
switch (getopt_long(argc, argv, "hVG:l:p:t:v:r:s:u:c:d:m:eUWD", opts, nullptr)) {
|
||||||
case -1:
|
case -1:
|
||||||
if (optind != argc) {
|
if (optind != argc) {
|
||||||
std::cerr << "unexpected positional argument: " << argv[optind] << std::endl;
|
std::cerr << "unexpected positional argument: " << argv[optind] << std::endl;
|
||||||
|
@ -323,23 +306,20 @@ Options ParseOptions(int argc, char** argv) {
|
||||||
res.num_threads = n;
|
res.num_threads = n;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'z':
|
|
||||||
res.max_commit_summary_length = ParseSizeT(optarg);
|
|
||||||
break;
|
|
||||||
case 's':
|
case 's':
|
||||||
res.max_num_staged = ParseSizeT(optarg);
|
res.max_num_staged = ParseLong(optarg);
|
||||||
break;
|
break;
|
||||||
case 'u':
|
case 'u':
|
||||||
res.max_num_unstaged = ParseSizeT(optarg);
|
res.max_num_unstaged = ParseLong(optarg);
|
||||||
break;
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
res.max_num_conflicted = ParseSizeT(optarg);
|
res.max_num_conflicted = ParseLong(optarg);
|
||||||
break;
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
res.max_num_untracked = ParseSizeT(optarg);
|
res.max_num_untracked = ParseLong(optarg);
|
||||||
break;
|
break;
|
||||||
case 'm':
|
case 'm':
|
||||||
res.dirty_max_index_size = ParseSizeT(optarg);
|
res.dirty_max_index_size = ParseLong(optarg);
|
||||||
break;
|
break;
|
||||||
case 'e':
|
case 'e':
|
||||||
res.recurse_untracked_dirs = true;
|
res.recurse_untracked_dirs = true;
|
||||||
|
|
|
@ -27,8 +27,6 @@
|
||||||
namespace gitstatus {
|
namespace gitstatus {
|
||||||
|
|
||||||
struct Limits {
|
struct Limits {
|
||||||
// Truncate commit summary if it's longer than this many bytes.
|
|
||||||
size_t max_commit_summary_length = 256;
|
|
||||||
// Report at most this many staged changes.
|
// Report at most this many staged changes.
|
||||||
size_t max_num_staged = 1;
|
size_t max_num_staged = 1;
|
||||||
// Report at most this many unstaged changes.
|
// Report at most this many unstaged changes.
|
||||||
|
@ -62,7 +60,7 @@ struct Options : Limits {
|
||||||
// If non-negative, send signal 0 to the specified PID when not receiving any requests for one
|
// If non-negative, send signal 0 to the specified PID when not receiving any requests for one
|
||||||
// second; exit if signal sending fails.
|
// second; exit if signal sending fails.
|
||||||
int parent_pid = -1;
|
int parent_pid = -1;
|
||||||
// Don't write entries to log whose log level is below this. Log levels in increasing order:
|
// Don't write entires to log whose log level is below this. Log levels in increasing order:
|
||||||
// DEBUG, INFO, WARN, ERROR, FATAL.
|
// DEBUG, INFO, WARN, ERROR, FATAL.
|
||||||
LogLevel log_level = INFO;
|
LogLevel log_level = INFO;
|
||||||
// Close git repositories that haven't been used for this long. This is meant to release resources
|
// Close git repositories that haven't been used for this long. This is meant to release resources
|
||||||
|
|
|
@ -155,7 +155,7 @@ IndexStats Repo::GetIndexStats(const git_oid* head, git_config* cfg) {
|
||||||
VERIFY(!git_repository_index(&git_index_, repo_)) << GitError();
|
VERIFY(!git_repository_index(&git_index_, repo_)) << GitError();
|
||||||
// Query an attribute (doesn't matter which) to initialize repo's attribute
|
// Query an attribute (doesn't matter which) to initialize repo's attribute
|
||||||
// cache. It's a workaround for synchronization bugs (data races) in libgit2
|
// cache. It's a workaround for synchronization bugs (data races) in libgit2
|
||||||
// that result from lazy cache initialization without synchronization.
|
// that result from lazy cache initialization without synchrnonization.
|
||||||
// Thankfully, subsequent cache reads and writes are properly synchronized.
|
// Thankfully, subsequent cache reads and writes are properly synchronized.
|
||||||
const char* attr;
|
const char* attr;
|
||||||
VERIFY(!git_attr_get(&attr, repo_, 0, "x", "x")) << GitError();
|
VERIFY(!git_attr_get(&attr, repo_, 0, "x", "x")) << GitError();
|
||||||
|
|
|
@ -155,8 +155,6 @@ void TagDb::ReadLooseTags() {
|
||||||
int dir_fd = open(dirname.c_str(), O_RDONLY | O_DIRECTORY | O_CLOEXEC);
|
int dir_fd = open(dirname.c_str(), O_RDONLY | O_DIRECTORY | O_CLOEXEC);
|
||||||
if (dir_fd < 0) return;
|
if (dir_fd < 0) return;
|
||||||
ON_SCOPE_EXIT(&) { CHECK(!close(dir_fd)) << Errno(); };
|
ON_SCOPE_EXIT(&) { CHECK(!close(dir_fd)) << Errno(); };
|
||||||
// TODO: recursively traverse directories so that the file refs/tags/foo/bar gets interpreted
|
|
||||||
// as the tag foo/bar. See https://github.com/romkatv/gitstatus/issues/254.
|
|
||||||
(void)ListDir(dir_fd, loose_arena_, loose_tags_, /* precompose_unicode = */ false,
|
(void)ListDir(dir_fd, loose_arena_, loose_tags_, /* precompose_unicode = */ false,
|
||||||
/* case_sensitive = */ true);
|
/* case_sensitive = */ true);
|
||||||
}
|
}
|
||||||
|
@ -214,29 +212,13 @@ void TagDb::ParsePack() {
|
||||||
char* p = &pack_[0];
|
char* p = &pack_[0];
|
||||||
char* e = p + pack_.size();
|
char* e = p + pack_.size();
|
||||||
|
|
||||||
// Usually packed-refs starts with the following line:
|
if (*p == '#') {
|
||||||
//
|
|
||||||
// # pack-refs with: peeled fully-peeled sorted
|
|
||||||
//
|
|
||||||
// However, some users can produce pack-refs without this line.
|
|
||||||
// See https://github.com/romkatv/powerlevel10k/issues/1428.
|
|
||||||
// I don't know how they do it. Without the header line we cannot
|
|
||||||
// assume that refs are sorted, which isn't a big deal because we
|
|
||||||
// can just sort them. What's worse is that refs cannot be assumed
|
|
||||||
// to be fully-peeled. We don't want to peel them, so we just drop
|
|
||||||
// all tags.
|
|
||||||
if (*p != '#') {
|
|
||||||
LOG(WARN) << "packed-refs doesn't have a header. Won't resolve tags.";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
char* eol = std::strchr(p, '\n');
|
char* eol = std::strchr(p, '\n');
|
||||||
if (!eol) return;
|
if (!eol) return;
|
||||||
*eol = 0;
|
*eol = 0;
|
||||||
if (!std::strstr(p, " fully-peeled") || !std::strstr(p, " sorted")) {
|
if (!std::strstr(p, " fully-peeled") || !std::strstr(p, " sorted")) return;
|
||||||
LOG(WARN) << "packed-refs has unexpected header. Won't resolve tags.";
|
|
||||||
}
|
|
||||||
p = eol + 1;
|
p = eol + 1;
|
||||||
|
}
|
||||||
|
|
||||||
name2id_.reserve(pack_.size() / 128);
|
name2id_.reserve(pack_.size() / 128);
|
||||||
id2name_.reserve(pack_.size() / 128);
|
id2name_.reserve(pack_.size() / 128);
|
||||||
|
@ -267,10 +249,7 @@ void TagDb::ParsePack() {
|
||||||
id2name_.push_back(tag);
|
id2name_.push_back(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!std::is_sorted(name2id_.begin(), name2id_.end(), ByName)) {
|
VERIFY(std::is_sorted(name2id_.begin(), name2id_.end(), ByName));
|
||||||
// "sorted" in the header of packed-refs promises that this won't trigger.
|
|
||||||
std::sort(name2id_.begin(), name2id_.end(), ByName);
|
|
||||||
}
|
|
||||||
|
|
||||||
id2name_dirty_ = true;
|
id2name_dirty_ = true;
|
||||||
GlobalThreadPool()->Schedule([this] {
|
GlobalThreadPool()->Schedule([this] {
|
||||||
|
|
|
@ -18,6 +18,7 @@ function _p9k_can_configure() {
|
||||||
typeset -g __p9k_cfg_path=${__p9k_cfg_path_o:A}
|
typeset -g __p9k_cfg_path=${__p9k_cfg_path_o:A}
|
||||||
typeset -g __p9k_cfg_path_u=${${${(q)__p9k_cfg_path_o}/#(#b)${(q)HOME}(|\/*)/'~'$match[1]}//\%/%%}
|
typeset -g __p9k_cfg_path_u=${${${(q)__p9k_cfg_path_o}/#(#b)${(q)HOME}(|\/*)/'~'$match[1]}//\%/%%}
|
||||||
{
|
{
|
||||||
|
[[ -o multibyte ]] || { $0_error "multibyte option is not set"; return 1 }
|
||||||
[[ -e $__p9k_zd ]] || { $0_error "$__p9k_zd_u does not exist"; return 1 }
|
[[ -e $__p9k_zd ]] || { $0_error "$__p9k_zd_u does not exist"; return 1 }
|
||||||
[[ -d $__p9k_zd ]] || { $0_error "$__p9k_zd_u is not a directory"; return 1 }
|
[[ -d $__p9k_zd ]] || { $0_error "$__p9k_zd_u is not a directory"; return 1 }
|
||||||
[[ ! -d $__p9k_cfg_path ]] || { $0_error "$__p9k_cfg_path_u is a directory"; return 1 }
|
[[ ! -d $__p9k_cfg_path ]] || { $0_error "$__p9k_cfg_path_u is a directory"; return 1 }
|
||||||
|
@ -58,10 +59,7 @@ function _p9k_can_configure() {
|
||||||
$0_error "terminal size too small; must be at least $__p9k_wizard_columns columns by $__p9k_wizard_lines lines"
|
$0_error "terminal size too small; must be at least $__p9k_wizard_columns columns by $__p9k_wizard_lines lines"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
[[ -t 0 && -t 1 ]] || {
|
[[ -t 0 && -t 1 ]] || { $0_error "no TTY"; return 2 }
|
||||||
$0_error "no TTY"
|
|
||||||
return 2
|
|
||||||
}
|
|
||||||
return 0
|
return 0
|
||||||
} always {
|
} always {
|
||||||
unfunction $0_error
|
unfunction $0_error
|
||||||
|
|
|
@ -52,7 +52,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_DEBIAN_ICON '\uE271'$s #
|
LINUX_DEBIAN_ICON '\uE271'$s #
|
||||||
LINUX_RASPBIAN_ICON '\uE271'$s #
|
LINUX_RASPBIAN_ICON '\uE271'$s #
|
||||||
LINUX_UBUNTU_ICON '\uE271'$s #
|
LINUX_UBUNTU_ICON '\uE271'$s #
|
||||||
LINUX_KALI_ICON '\uE271'$s #
|
|
||||||
LINUX_CENTOS_ICON '\uE271'$s #
|
LINUX_CENTOS_ICON '\uE271'$s #
|
||||||
LINUX_COREOS_ICON '\uE271'$s #
|
LINUX_COREOS_ICON '\uE271'$s #
|
||||||
LINUX_ELEMENTARY_ICON '\uE271'$s #
|
LINUX_ELEMENTARY_ICON '\uE271'$s #
|
||||||
|
@ -70,12 +69,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_SLACKWARE_ICON '\uE271'$s #
|
LINUX_SLACKWARE_ICON '\uE271'$s #
|
||||||
LINUX_VOID_ICON '\uE271'$s #
|
LINUX_VOID_ICON '\uE271'$s #
|
||||||
LINUX_ARTIX_ICON '\uE271'$s #
|
LINUX_ARTIX_ICON '\uE271'$s #
|
||||||
LINUX_RHEL_ICON '\uE271'$s #
|
|
||||||
LINUX_AMZN_ICON '\uE271'$s #
|
|
||||||
LINUX_ENDEAVOUROS_ICON '\uE271'$s #
|
|
||||||
LINUX_ROCKY_ICON '\uE271'$s #
|
|
||||||
LINUX_GUIX_ICON '\uE271'$s #
|
|
||||||
LINUX_NEON_ICON '\uE271'$s #
|
|
||||||
SUNOS_ICON '\U1F31E'$q # 🌞
|
SUNOS_ICON '\U1F31E'$q # 🌞
|
||||||
HOME_ICON '\uE12C'$s #
|
HOME_ICON '\uE12C'$s #
|
||||||
HOME_SUB_ICON '\uE18D'$s #
|
HOME_SUB_ICON '\uE18D'$s #
|
||||||
|
@ -106,23 +99,10 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON '\uE20E ' #
|
VCS_GIT_GITHUB_ICON '\uE20E ' #
|
||||||
VCS_GIT_BITBUCKET_ICON '\uE20E ' #
|
VCS_GIT_BITBUCKET_ICON '\uE20E ' #
|
||||||
VCS_GIT_GITLAB_ICON '\uE20E ' #
|
VCS_GIT_GITLAB_ICON '\uE20E ' #
|
||||||
VCS_GIT_AZURE_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_ARCHLINUX_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_CODEBERG_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_DEBIAN_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_FREEBSD_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_FREEDESKTOP_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_GNOME_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_GNU_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_KDE_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_LINUX_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_GITEA_ICON '\uE20E ' #
|
|
||||||
VCS_GIT_SOURCEHUT_ICON '\uE20E ' #
|
|
||||||
VCS_HG_ICON '\uE1C3 ' #
|
VCS_HG_ICON '\uE1C3 ' #
|
||||||
VCS_SVN_ICON 'svn'$q
|
VCS_SVN_ICON 'svn'$q
|
||||||
RUST_ICON 'R'
|
RUST_ICON 'R'
|
||||||
PYTHON_ICON '\uE63C'$s # (doesn't always work)
|
PYTHON_ICON '\uE63C'$s # (doesn't always work)
|
||||||
CHEZMOI_ICON '\uE12C'$s #
|
|
||||||
SWIFT_ICON 'Swift'
|
SWIFT_ICON 'Swift'
|
||||||
GO_ICON 'Go'
|
GO_ICON 'Go'
|
||||||
GOLANG_ICON 'Go'
|
GOLANG_ICON 'Go'
|
||||||
|
@ -139,7 +119,6 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\U2615' # ☕︎
|
JAVA_ICON '\U2615' # ☕︎
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON '\u2B50' # ⭐
|
RANGER_ICON '\u2B50' # ⭐
|
||||||
YAZI_ICON '\u2B50' # ⭐
|
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
@ -153,8 +132,6 @@ function _p9k_init_icons() {
|
||||||
LUA_ICON 'lua'
|
LUA_ICON 'lua'
|
||||||
PERL_ICON 'perl'
|
PERL_ICON 'perl'
|
||||||
NNN_ICON 'nnn'
|
NNN_ICON 'nnn'
|
||||||
LF_ICON 'lf'
|
|
||||||
XPLR_ICON 'xplr'
|
|
||||||
TIMEWARRIOR_ICON 'tw'
|
TIMEWARRIOR_ICON 'tw'
|
||||||
TASKWARRIOR_ICON 'task'
|
TASKWARRIOR_ICON 'task'
|
||||||
NIX_SHELL_ICON 'nix'
|
NIX_SHELL_ICON 'nix'
|
||||||
|
@ -167,9 +144,6 @@ function _p9k_init_icons() {
|
||||||
PACKAGE_ICON 'pkg'
|
PACKAGE_ICON 'pkg'
|
||||||
JULIA_ICON 'jl'
|
JULIA_ICON 'jl'
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON '\u2B22' # ⬢
|
|
||||||
ARCH_ICON 'arch'
|
|
||||||
HISTORY_ICON 'hist'
|
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
'awesome-fontconfig')
|
'awesome-fontconfig')
|
||||||
|
@ -210,7 +184,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_DEBIAN_ICON '\uF17C'$s #
|
LINUX_DEBIAN_ICON '\uF17C'$s #
|
||||||
LINUX_RASPBIAN_ICON '\uF17C'$s #
|
LINUX_RASPBIAN_ICON '\uF17C'$s #
|
||||||
LINUX_UBUNTU_ICON '\uF17C'$s #
|
LINUX_UBUNTU_ICON '\uF17C'$s #
|
||||||
LINUX_KALI_ICON '\uF17C'$s #
|
|
||||||
LINUX_CENTOS_ICON '\uF17C'$s #
|
LINUX_CENTOS_ICON '\uF17C'$s #
|
||||||
LINUX_COREOS_ICON '\uF17C'$s #
|
LINUX_COREOS_ICON '\uF17C'$s #
|
||||||
LINUX_ELEMENTARY_ICON '\uF17C'$s #
|
LINUX_ELEMENTARY_ICON '\uF17C'$s #
|
||||||
|
@ -228,12 +201,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_SLACKWARE_ICON '\uF17C'$s #
|
LINUX_SLACKWARE_ICON '\uF17C'$s #
|
||||||
LINUX_VOID_ICON '\uF17C'$s #
|
LINUX_VOID_ICON '\uF17C'$s #
|
||||||
LINUX_ARTIX_ICON '\uF17C'$s #
|
LINUX_ARTIX_ICON '\uF17C'$s #
|
||||||
LINUX_RHEL_ICON '\uF17C'$s #
|
|
||||||
LINUX_AMZN_ICON '\uF17C'$s #
|
|
||||||
LINUX_ENDEAVOUROS_ICON '\uF17C'$s #
|
|
||||||
LINUX_ROCKY_ICON '\uF17C'$s #
|
|
||||||
LINUX_GUIX_ICON '\uF17C'$s #
|
|
||||||
LINUX_NEON_ICON '\uF17C'$s #
|
|
||||||
SUNOS_ICON '\uF185 ' #
|
SUNOS_ICON '\uF185 ' #
|
||||||
HOME_ICON '\uF015'$s #
|
HOME_ICON '\uF015'$s #
|
||||||
HOME_SUB_ICON '\uF07C'$s #
|
HOME_SUB_ICON '\uF07C'$s #
|
||||||
|
@ -260,23 +227,10 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
||||||
VCS_GIT_BITBUCKET_ICON '\uF171 ' #
|
VCS_GIT_BITBUCKET_ICON '\uF171 ' #
|
||||||
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
||||||
VCS_GIT_AZURE_ICON '\u2601 ' # ☁
|
|
||||||
VCS_GIT_ARCHLINUX_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_CODEBERG_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_DEBIAN_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_FREEBSD_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_FREEDESKTOP_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_GNOME_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_GNU_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_KDE_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_LINUX_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_GITEA_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_SOURCEHUT_ICON '\uF1D3 ' #
|
|
||||||
VCS_HG_ICON '\uF0C3 ' #
|
VCS_HG_ICON '\uF0C3 ' #
|
||||||
VCS_SVN_ICON 'svn'$q
|
VCS_SVN_ICON 'svn'$q
|
||||||
RUST_ICON '\uE6A8' #
|
RUST_ICON '\uE6A8' #
|
||||||
PYTHON_ICON '\uE63C'$s #
|
PYTHON_ICON '\uE63C'$s #
|
||||||
CHEZMOI_ICON '\uF015'$s #
|
|
||||||
SWIFT_ICON 'Swift'
|
SWIFT_ICON 'Swift'
|
||||||
GO_ICON 'Go'
|
GO_ICON 'Go'
|
||||||
GOLANG_ICON 'Go'
|
GOLANG_ICON 'Go'
|
||||||
|
@ -293,7 +247,6 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\U2615' # ☕︎
|
JAVA_ICON '\U2615' # ☕︎
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON '\u2B50' # ⭐
|
RANGER_ICON '\u2B50' # ⭐
|
||||||
YAZI_ICON '\u2B50' # ⭐
|
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
@ -307,8 +260,6 @@ function _p9k_init_icons() {
|
||||||
LUA_ICON 'lua'
|
LUA_ICON 'lua'
|
||||||
PERL_ICON 'perl'
|
PERL_ICON 'perl'
|
||||||
NNN_ICON 'nnn'
|
NNN_ICON 'nnn'
|
||||||
LF_ICON 'lf'
|
|
||||||
XPLR_ICON 'xplr'
|
|
||||||
TIMEWARRIOR_ICON 'tw'
|
TIMEWARRIOR_ICON 'tw'
|
||||||
TASKWARRIOR_ICON 'task'
|
TASKWARRIOR_ICON 'task'
|
||||||
NIX_SHELL_ICON 'nix'
|
NIX_SHELL_ICON 'nix'
|
||||||
|
@ -321,9 +272,6 @@ function _p9k_init_icons() {
|
||||||
PACKAGE_ICON 'pkg'
|
PACKAGE_ICON 'pkg'
|
||||||
JULIA_ICON 'jl'
|
JULIA_ICON 'jl'
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON '\u2B22' # ⬢
|
|
||||||
ARCH_ICON 'arch'
|
|
||||||
HISTORY_ICON 'hist'
|
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
'awesome-mapped-fontconfig')
|
'awesome-mapped-fontconfig')
|
||||||
|
@ -369,7 +317,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_DEBIAN_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_DEBIAN_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
LINUX_RASPBIAN_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_RASPBIAN_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
LINUX_UBUNTU_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_UBUNTU_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
LINUX_KALI_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
|
||||||
LINUX_CENTOS_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_CENTOS_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
LINUX_COREOS_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_COREOS_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
LINUX_ELEMENTARY_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_ELEMENTARY_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
|
@ -387,12 +334,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_SLACKWARE_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_SLACKWARE_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
LINUX_VOID_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_VOID_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
LINUX_ARTIX_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_ARTIX_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
LINUX_RHEL_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
|
||||||
LINUX_AMZN_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
|
||||||
LINUX_ENDEAVOUROS_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
|
||||||
LINUX_ROCKY_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
|
||||||
LINUX_GUIX_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
|
||||||
LINUX_NEON_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
|
||||||
SUNOS_ICON "${CODEPOINT_OF_AWESOME_SUN_O:+\\u$CODEPOINT_OF_AWESOME_SUN_O }"
|
SUNOS_ICON "${CODEPOINT_OF_AWESOME_SUN_O:+\\u$CODEPOINT_OF_AWESOME_SUN_O }"
|
||||||
HOME_ICON "${CODEPOINT_OF_AWESOME_HOME:+\\u$CODEPOINT_OF_AWESOME_HOME$s}"
|
HOME_ICON "${CODEPOINT_OF_AWESOME_HOME:+\\u$CODEPOINT_OF_AWESOME_HOME$s}"
|
||||||
HOME_SUB_ICON "${CODEPOINT_OF_AWESOME_FOLDER_OPEN:+\\u$CODEPOINT_OF_AWESOME_FOLDER_OPEN$s}"
|
HOME_SUB_ICON "${CODEPOINT_OF_AWESOME_FOLDER_OPEN:+\\u$CODEPOINT_OF_AWESOME_FOLDER_OPEN$s}"
|
||||||
|
@ -419,23 +360,10 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON "${CODEPOINT_OF_AWESOME_GITHUB_ALT:+\\u$CODEPOINT_OF_AWESOME_GITHUB_ALT }"
|
VCS_GIT_GITHUB_ICON "${CODEPOINT_OF_AWESOME_GITHUB_ALT:+\\u$CODEPOINT_OF_AWESOME_GITHUB_ALT }"
|
||||||
VCS_GIT_BITBUCKET_ICON "${CODEPOINT_OF_AWESOME_BITBUCKET:+\\u$CODEPOINT_OF_AWESOME_BITBUCKET }"
|
VCS_GIT_BITBUCKET_ICON "${CODEPOINT_OF_AWESOME_BITBUCKET:+\\u$CODEPOINT_OF_AWESOME_BITBUCKET }"
|
||||||
VCS_GIT_GITLAB_ICON "${CODEPOINT_OF_AWESOME_GITLAB:+\\u$CODEPOINT_OF_AWESOME_GITLAB }"
|
VCS_GIT_GITLAB_ICON "${CODEPOINT_OF_AWESOME_GITLAB:+\\u$CODEPOINT_OF_AWESOME_GITLAB }"
|
||||||
VCS_GIT_AZURE_ICON '\u2601 ' # ☁
|
|
||||||
VCS_GIT_ARCHLINUX_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_CODEBERG_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_DEBIAN_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_FREEBSD_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_FREEDESKTOP_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_GNOME_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_GNU_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_KDE_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_LINUX_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_GITEA_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_GIT_SOURCEHUT_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
|
||||||
VCS_HG_ICON "${CODEPOINT_OF_AWESOME_FLASK:+\\u$CODEPOINT_OF_AWESOME_FLASK }"
|
VCS_HG_ICON "${CODEPOINT_OF_AWESOME_FLASK:+\\u$CODEPOINT_OF_AWESOME_FLASK }"
|
||||||
VCS_SVN_ICON 'svn'$q
|
VCS_SVN_ICON 'svn'$q
|
||||||
RUST_ICON '\uE6A8' #
|
RUST_ICON '\uE6A8' #
|
||||||
PYTHON_ICON '\U1F40D' # 🐍
|
PYTHON_ICON '\U1F40D' # 🐍
|
||||||
CHEZMOI_ICON "${CODEPOINT_OF_AWESOME_HOME:+\\u$CODEPOINT_OF_AWESOME_HOME$s}"
|
|
||||||
SWIFT_ICON '\uE655'$s #
|
SWIFT_ICON '\uE655'$s #
|
||||||
PUBLIC_IP_ICON "${CODEPOINT_OF_AWESOME_GLOBE:+\\u$CODEPOINT_OF_AWESOME_GLOBE$s}"
|
PUBLIC_IP_ICON "${CODEPOINT_OF_AWESOME_GLOBE:+\\u$CODEPOINT_OF_AWESOME_GLOBE$s}"
|
||||||
LOCK_ICON "${CODEPOINT_OF_AWESOME_LOCK:+\\u$CODEPOINT_OF_AWESOME_LOCK}"
|
LOCK_ICON "${CODEPOINT_OF_AWESOME_LOCK:+\\u$CODEPOINT_OF_AWESOME_LOCK}"
|
||||||
|
@ -450,7 +378,6 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\U2615' # ☕︎
|
JAVA_ICON '\U2615' # ☕︎
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON '\u2B50' # ⭐
|
RANGER_ICON '\u2B50' # ⭐
|
||||||
YAZI_ICON '\u2B50' # ⭐
|
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
@ -464,8 +391,6 @@ function _p9k_init_icons() {
|
||||||
LUA_ICON 'lua'
|
LUA_ICON 'lua'
|
||||||
PERL_ICON 'perl'
|
PERL_ICON 'perl'
|
||||||
NNN_ICON 'nnn'
|
NNN_ICON 'nnn'
|
||||||
LF_ICON 'lf'
|
|
||||||
XPLR_ICON 'xplr'
|
|
||||||
TIMEWARRIOR_ICON 'tw'
|
TIMEWARRIOR_ICON 'tw'
|
||||||
TASKWARRIOR_ICON 'task'
|
TASKWARRIOR_ICON 'task'
|
||||||
NIX_SHELL_ICON 'nix'
|
NIX_SHELL_ICON 'nix'
|
||||||
|
@ -478,169 +403,6 @@ function _p9k_init_icons() {
|
||||||
PACKAGE_ICON 'pkg'
|
PACKAGE_ICON 'pkg'
|
||||||
JULIA_ICON 'jl'
|
JULIA_ICON 'jl'
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON '\u2B22' # ⬢
|
|
||||||
ARCH_ICON 'arch'
|
|
||||||
HISTORY_ICON 'hist'
|
|
||||||
)
|
|
||||||
;;
|
|
||||||
'nerdfont-v3')
|
|
||||||
# In this version of Nerd Fonts the Material icons are mapped to U+F0001-U+F19C3.
|
|
||||||
# The font may also have Material icons in the old range of U+F500-U+FD46 but
|
|
||||||
# powerlevel10k won't rely on them.
|
|
||||||
icons=(
|
|
||||||
RULER_CHAR '\u2500' # ─
|
|
||||||
LEFT_SEGMENT_SEPARATOR '\uE0B0' #
|
|
||||||
RIGHT_SEGMENT_SEPARATOR '\uE0B2' #
|
|
||||||
LEFT_SEGMENT_END_SEPARATOR ' ' #
|
|
||||||
LEFT_SUBSEGMENT_SEPARATOR '\uE0B1' #
|
|
||||||
RIGHT_SUBSEGMENT_SEPARATOR '\uE0B3' #
|
|
||||||
CARRIAGE_RETURN_ICON '\u21B5' # ↵
|
|
||||||
ROOT_ICON '\uE614'$q #
|
|
||||||
SUDO_ICON '\uF09C'$s #
|
|
||||||
RUBY_ICON '\uF219 ' #
|
|
||||||
AWS_ICON '\uF270'$s #
|
|
||||||
AWS_EB_ICON '\UF1BD'$q$q #
|
|
||||||
BACKGROUND_JOBS_ICON '\uF013 ' #
|
|
||||||
TEST_ICON '\uF188'$s #
|
|
||||||
TODO_ICON '\u2611' # ☑
|
|
||||||
BATTERY_ICON '\UF240 ' #
|
|
||||||
DISK_ICON '\uF0A0'$s #
|
|
||||||
OK_ICON '\uF00C'$s #
|
|
||||||
FAIL_ICON '\uF00D' #
|
|
||||||
SYMFONY_ICON '\uE757' #
|
|
||||||
NODE_ICON '\uE617 ' #
|
|
||||||
NODEJS_ICON '\uE617 ' #
|
|
||||||
MULTILINE_FIRST_PROMPT_PREFIX '\u256D\U2500' # ╭─
|
|
||||||
MULTILINE_NEWLINE_PROMPT_PREFIX '\u251C\U2500' # ├─
|
|
||||||
MULTILINE_LAST_PROMPT_PREFIX '\u2570\U2500 ' # ╰─
|
|
||||||
APPLE_ICON '\uF179' #
|
|
||||||
WINDOWS_ICON '\uF17A'$s #
|
|
||||||
FREEBSD_ICON '\UF30C ' #
|
|
||||||
ANDROID_ICON '\uF17B' #
|
|
||||||
LINUX_ARCH_ICON '\uF303' #
|
|
||||||
LINUX_CENTOS_ICON '\uF304'$s #
|
|
||||||
LINUX_COREOS_ICON '\uF305'$s #
|
|
||||||
LINUX_DEBIAN_ICON '\uF306' #
|
|
||||||
LINUX_RASPBIAN_ICON '\uF315' #
|
|
||||||
LINUX_ELEMENTARY_ICON '\uF309'$s #
|
|
||||||
LINUX_FEDORA_ICON '\uF30a'$s #
|
|
||||||
LINUX_GENTOO_ICON '\uF30d'$s #
|
|
||||||
LINUX_MAGEIA_ICON '\uF310' #
|
|
||||||
LINUX_MINT_ICON '\uF30e'$s #
|
|
||||||
LINUX_NIXOS_ICON '\uF313'$s #
|
|
||||||
LINUX_MANJARO_ICON '\uF312'$s #
|
|
||||||
LINUX_DEVUAN_ICON '\uF307'$s #
|
|
||||||
LINUX_ALPINE_ICON '\uF300'$s #
|
|
||||||
LINUX_AOSC_ICON '\uF301'$s #
|
|
||||||
LINUX_OPENSUSE_ICON '\uF314'$s #
|
|
||||||
LINUX_SABAYON_ICON '\uF317'$s #
|
|
||||||
LINUX_SLACKWARE_ICON '\uF319'$s #
|
|
||||||
LINUX_VOID_ICON '\UF32E'$s #
|
|
||||||
LINUX_ARTIX_ICON '\UF31F'$s #
|
|
||||||
LINUX_UBUNTU_ICON '\uF31b'$s #
|
|
||||||
LINUX_KALI_ICON '\uF327'$s #
|
|
||||||
LINUX_RHEL_ICON '\UF111B'$s #
|
|
||||||
LINUX_AMZN_ICON '\uF270'$s #
|
|
||||||
LINUX_ENDEAVOUROS_ICON '\UF322'$s #
|
|
||||||
LINUX_ROCKY_ICON '\UF32B'$s #
|
|
||||||
LINUX_GUIX_ICON '\UF325'$s #
|
|
||||||
LINUX_NEON_ICON '\uF17C' #
|
|
||||||
LINUX_ICON '\uF17C' #
|
|
||||||
SUNOS_ICON '\uF185 ' #
|
|
||||||
HOME_ICON '\uF015'$s #
|
|
||||||
HOME_SUB_ICON '\uF07C'$s #
|
|
||||||
FOLDER_ICON '\uF115'$s #
|
|
||||||
ETC_ICON '\uF013'$s #
|
|
||||||
NETWORK_ICON '\UF0378'$s #
|
|
||||||
LOAD_ICON '\uF080 ' #
|
|
||||||
SWAP_ICON '\uF464'$s #
|
|
||||||
RAM_ICON '\uF0E4'$s #
|
|
||||||
SERVER_ICON '\uF0AE'$s #
|
|
||||||
VCS_UNTRACKED_ICON '\uF059'$s #
|
|
||||||
VCS_UNSTAGED_ICON '\uF06A'$s #
|
|
||||||
VCS_STAGED_ICON '\uF055'$s #
|
|
||||||
VCS_STASH_ICON '\uF01C ' #
|
|
||||||
VCS_INCOMING_CHANGES_ICON '\uF01A ' #
|
|
||||||
VCS_OUTGOING_CHANGES_ICON '\uF01B ' #
|
|
||||||
VCS_TAG_ICON '\uF02B ' #
|
|
||||||
VCS_BOOKMARK_ICON '\uF461 ' #
|
|
||||||
VCS_COMMIT_ICON '\uE729 ' #
|
|
||||||
VCS_BRANCH_ICON '\uF126 ' #
|
|
||||||
VCS_REMOTE_BRANCH_ICON '\uE728 ' #
|
|
||||||
VCS_LOADING_ICON '' #
|
|
||||||
VCS_GIT_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
|
||||||
VCS_GIT_BITBUCKET_ICON '\uE703 ' #
|
|
||||||
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
|
||||||
VCS_GIT_AZURE_ICON '\uEBE8 ' #
|
|
||||||
VCS_GIT_ARCHLINUX_ICON '\uF303 ' #
|
|
||||||
# v3.1 has \uF330.
|
|
||||||
VCS_GIT_CODEBERG_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_DEBIAN_ICON '\uF306 ' #
|
|
||||||
VCS_GIT_FREEBSD_ICON '\UF30C ' #
|
|
||||||
# v3.1 has \uF360.
|
|
||||||
VCS_GIT_FREEDESKTOP_ICON '\uF296 ' #
|
|
||||||
# v3.1 has \uF361.
|
|
||||||
VCS_GIT_GNOME_ICON '\uF296 ' #
|
|
||||||
VCS_GIT_GNU_ICON '\uE779 ' #
|
|
||||||
# v3.1 has \uF332.
|
|
||||||
VCS_GIT_KDE_ICON '\uF296 ' #
|
|
||||||
VCS_GIT_LINUX_ICON '\uF17C ' #
|
|
||||||
# v3.1 has \uF339.
|
|
||||||
VCS_GIT_GITEA_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_SOURCEHUT_ICON '\uF1DB ' #
|
|
||||||
VCS_HG_ICON '\uF0C3 ' #
|
|
||||||
VCS_SVN_ICON '\uE72D'$q #
|
|
||||||
RUST_ICON '\uE7A8'$q #
|
|
||||||
PYTHON_ICON '\UE73C ' #
|
|
||||||
CHEZMOI_ICON '\uF015'$s #
|
|
||||||
SWIFT_ICON '\uE755' #
|
|
||||||
GO_ICON '\uE626' #
|
|
||||||
GOLANG_ICON '\uE626' #
|
|
||||||
PUBLIC_IP_ICON '\UF0AC'$s #
|
|
||||||
LOCK_ICON '\UF023' #
|
|
||||||
NORDVPN_ICON '\UF023' #
|
|
||||||
EXECUTION_TIME_ICON '\uF252'$s #
|
|
||||||
SSH_ICON '\uF489'$s #
|
|
||||||
VPN_ICON '\UF023' #
|
|
||||||
KUBERNETES_ICON '\UF10FE' #
|
|
||||||
DROPBOX_ICON '\UF16B'$s #
|
|
||||||
DATE_ICON '\uF073 ' #
|
|
||||||
TIME_ICON '\uF017 ' #
|
|
||||||
JAVA_ICON '\uE738' #
|
|
||||||
LARAVEL_ICON '\ue73f'$q #
|
|
||||||
RANGER_ICON '\uF00b ' #
|
|
||||||
YAZI_ICON '\uF00b ' #
|
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc' # mc
|
|
||||||
VIM_ICON '\uE62B' #
|
|
||||||
TERRAFORM_ICON '\uF1BB ' #
|
|
||||||
PROXY_ICON '\u2194' # ↔
|
|
||||||
DOTNET_ICON '\uE77F' #
|
|
||||||
DOTNET_CORE_ICON '\uE77F' #
|
|
||||||
AZURE_ICON '\uEBD8 ' #
|
|
||||||
DIRENV_ICON '\u25BC' # ▼
|
|
||||||
FLUTTER_ICON 'F' # F
|
|
||||||
GCLOUD_ICON '\UF02AD' #
|
|
||||||
LUA_ICON '\uE620' #
|
|
||||||
PERL_ICON '\uE769' #
|
|
||||||
NNN_ICON 'nnn' # nnn
|
|
||||||
LF_ICON 'lf' # lf
|
|
||||||
XPLR_ICON 'xplr' # xplr
|
|
||||||
TIMEWARRIOR_ICON '\uF49B' #
|
|
||||||
TASKWARRIOR_ICON '\uF4A0 ' #
|
|
||||||
NIX_SHELL_ICON '\uF313 ' #
|
|
||||||
WIFI_ICON '\uF1EB ' #
|
|
||||||
ERLANG_ICON '\uE7B1 ' #
|
|
||||||
ELIXIR_ICON '\uE62D' #
|
|
||||||
POSTGRES_ICON '\uE76E' #
|
|
||||||
PHP_ICON '\uE608' #
|
|
||||||
HASKELL_ICON '\uE61F' #
|
|
||||||
PACKAGE_ICON '\UF03D7' #
|
|
||||||
JULIA_ICON '\uE624' #
|
|
||||||
SCALA_ICON '\uE737' #
|
|
||||||
TOOLBOX_ICON '\uE20F'$s #
|
|
||||||
ARCH_ICON '\uE266' #
|
|
||||||
HISTORY_ICON '\uF1DA'$s #
|
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
'nerdfont-complete'|'nerdfont-fontconfig')
|
'nerdfont-complete'|'nerdfont-fontconfig')
|
||||||
|
@ -698,13 +460,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_VOID_ICON '\uF17C' #
|
LINUX_VOID_ICON '\uF17C' #
|
||||||
LINUX_ARTIX_ICON '\uF17C' #
|
LINUX_ARTIX_ICON '\uF17C' #
|
||||||
LINUX_UBUNTU_ICON '\uF31b'$s #
|
LINUX_UBUNTU_ICON '\uF31b'$s #
|
||||||
LINUX_KALI_ICON '\uF17C' #
|
|
||||||
LINUX_RHEL_ICON '\uF316'$s #
|
|
||||||
LINUX_AMZN_ICON '\uF270'$s #
|
|
||||||
LINUX_ENDEAVOUROS_ICON '\uF17C' #
|
|
||||||
LINUX_ROCKY_ICON '\uF17C' #
|
|
||||||
LINUX_GUIX_ICON '\uF325'$s #
|
|
||||||
LINUX_NEON_ICON '\uF17C' #
|
|
||||||
LINUX_ICON '\uF17C' #
|
LINUX_ICON '\uF17C' #
|
||||||
SUNOS_ICON '\uF185 ' #
|
SUNOS_ICON '\uF185 ' #
|
||||||
HOME_ICON '\uF015'$s #
|
HOME_ICON '\uF015'$s #
|
||||||
|
@ -732,23 +487,10 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
||||||
VCS_GIT_BITBUCKET_ICON '\uE703 ' #
|
VCS_GIT_BITBUCKET_ICON '\uE703 ' #
|
||||||
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
||||||
VCS_GIT_AZURE_ICON '\uFD03 ' # ﴃ
|
|
||||||
VCS_GIT_ARCHLINUX_ICON '\uF303 ' #
|
|
||||||
VCS_GIT_CODEBERG_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_DEBIAN_ICON '\uF306 ' #
|
|
||||||
VCS_GIT_FREEBSD_ICON '\UF30C ' #
|
|
||||||
VCS_GIT_FREEDESKTOP_ICON '\uF296 ' #
|
|
||||||
VCS_GIT_GNOME_ICON '\uF296 ' #
|
|
||||||
VCS_GIT_GNU_ICON '\uE779 ' #
|
|
||||||
VCS_GIT_KDE_ICON '\uF296 ' #
|
|
||||||
VCS_GIT_LINUX_ICON '\uF17C ' #
|
|
||||||
VCS_GIT_GITEA_ICON '\uF1D3 ' #
|
|
||||||
VCS_GIT_SOURCEHUT_ICON '\uF1DB ' #
|
|
||||||
VCS_HG_ICON '\uF0C3 ' #
|
VCS_HG_ICON '\uF0C3 ' #
|
||||||
VCS_SVN_ICON '\uE72D'$q #
|
VCS_SVN_ICON '\uE72D'$q #
|
||||||
RUST_ICON '\uE7A8'$q #
|
RUST_ICON '\uE7A8'$q #
|
||||||
PYTHON_ICON '\UE73C ' #
|
PYTHON_ICON '\UE73C ' #
|
||||||
CHEZMOI_ICON '\uF015'$s #
|
|
||||||
SWIFT_ICON '\uE755' #
|
SWIFT_ICON '\uE755' #
|
||||||
GO_ICON '\uE626' #
|
GO_ICON '\uE626' #
|
||||||
GOLANG_ICON '\uE626' #
|
GOLANG_ICON '\uE626' #
|
||||||
|
@ -765,7 +507,6 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\uE738' #
|
JAVA_ICON '\uE738' #
|
||||||
LARAVEL_ICON '\ue73f'$q #
|
LARAVEL_ICON '\ue73f'$q #
|
||||||
RANGER_ICON '\uF00b ' #
|
RANGER_ICON '\uF00b ' #
|
||||||
YAZI_ICON '\uF00b ' #
|
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON '\uE62B' #
|
VIM_ICON '\uE62B' #
|
||||||
TERRAFORM_ICON '\uF1BB ' #
|
TERRAFORM_ICON '\uF1BB ' #
|
||||||
|
@ -779,8 +520,6 @@ function _p9k_init_icons() {
|
||||||
LUA_ICON '\uE620' #
|
LUA_ICON '\uE620' #
|
||||||
PERL_ICON '\uE769' #
|
PERL_ICON '\uE769' #
|
||||||
NNN_ICON 'nnn'
|
NNN_ICON 'nnn'
|
||||||
LF_ICON 'lf'
|
|
||||||
XPLR_ICON 'xplr'
|
|
||||||
TIMEWARRIOR_ICON '\uF49B' #
|
TIMEWARRIOR_ICON '\uF49B' #
|
||||||
TASKWARRIOR_ICON '\uF4A0 ' #
|
TASKWARRIOR_ICON '\uF4A0 ' #
|
||||||
NIX_SHELL_ICON '\uF313 ' #
|
NIX_SHELL_ICON '\uF313 ' #
|
||||||
|
@ -793,9 +532,6 @@ function _p9k_init_icons() {
|
||||||
PACKAGE_ICON '\uF8D6' #
|
PACKAGE_ICON '\uF8D6' #
|
||||||
JULIA_ICON '\uE624' #
|
JULIA_ICON '\uE624' #
|
||||||
SCALA_ICON '\uE737' #
|
SCALA_ICON '\uE737' #
|
||||||
TOOLBOX_ICON '\uE20F'$s #
|
|
||||||
ARCH_ICON '\uE266' #
|
|
||||||
HISTORY_ICON '\uF1DA'$s #
|
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
ascii)
|
ascii)
|
||||||
|
@ -834,7 +570,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_DEBIAN_ICON 'debian'
|
LINUX_DEBIAN_ICON 'debian'
|
||||||
LINUX_RASPBIAN_ICON 'pi'
|
LINUX_RASPBIAN_ICON 'pi'
|
||||||
LINUX_UBUNTU_ICON 'ubuntu'
|
LINUX_UBUNTU_ICON 'ubuntu'
|
||||||
LINUX_KALI_ICON 'kali'
|
|
||||||
LINUX_CENTOS_ICON 'centos'
|
LINUX_CENTOS_ICON 'centos'
|
||||||
LINUX_COREOS_ICON 'coreos'
|
LINUX_COREOS_ICON 'coreos'
|
||||||
LINUX_ELEMENTARY_ICON 'elementary'
|
LINUX_ELEMENTARY_ICON 'elementary'
|
||||||
|
@ -852,12 +587,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_SLACKWARE_ICON 'slack'
|
LINUX_SLACKWARE_ICON 'slack'
|
||||||
LINUX_VOID_ICON 'void'
|
LINUX_VOID_ICON 'void'
|
||||||
LINUX_ARTIX_ICON 'artix'
|
LINUX_ARTIX_ICON 'artix'
|
||||||
LINUX_RHEL_ICON 'rhel'
|
|
||||||
LINUX_AMZN_ICON 'amzn'
|
|
||||||
LINUX_ENDEAVOUROS_ICON 'edvos'
|
|
||||||
LINUX_ROCKY_ICON 'rocky'
|
|
||||||
LINUX_GUIX_ICON 'guix'
|
|
||||||
LINUX_NEON_ICON 'neon'
|
|
||||||
SUNOS_ICON 'sunos'
|
SUNOS_ICON 'sunos'
|
||||||
HOME_ICON ''
|
HOME_ICON ''
|
||||||
HOME_SUB_ICON ''
|
HOME_SUB_ICON ''
|
||||||
|
@ -884,23 +613,10 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON ''
|
VCS_GIT_GITHUB_ICON ''
|
||||||
VCS_GIT_BITBUCKET_ICON ''
|
VCS_GIT_BITBUCKET_ICON ''
|
||||||
VCS_GIT_GITLAB_ICON ''
|
VCS_GIT_GITLAB_ICON ''
|
||||||
VCS_GIT_AZURE_ICON ''
|
|
||||||
VCS_GIT_ARCHLINUX_ICON ''
|
|
||||||
VCS_GIT_CODEBERG_ICON ''
|
|
||||||
VCS_GIT_DEBIAN_ICON ''
|
|
||||||
VCS_GIT_FREEBSD_ICON ''
|
|
||||||
VCS_GIT_FREEDESKTOP_ICON ''
|
|
||||||
VCS_GIT_GNOME_ICON ''
|
|
||||||
VCS_GIT_GNU_ICON ''
|
|
||||||
VCS_GIT_KDE_ICON ''
|
|
||||||
VCS_GIT_LINUX_ICON ''
|
|
||||||
VCS_GIT_GITEA_ICON ''
|
|
||||||
VCS_GIT_SOURCEHUT_ICON ''
|
|
||||||
VCS_HG_ICON ''
|
VCS_HG_ICON ''
|
||||||
VCS_SVN_ICON ''
|
VCS_SVN_ICON ''
|
||||||
RUST_ICON 'rust'
|
RUST_ICON 'rust'
|
||||||
PYTHON_ICON 'py'
|
PYTHON_ICON 'py'
|
||||||
CHEZMOI_ICON 'chezmoi'
|
|
||||||
SWIFT_ICON 'swift'
|
SWIFT_ICON 'swift'
|
||||||
GO_ICON 'go'
|
GO_ICON 'go'
|
||||||
GOLANG_ICON 'go'
|
GOLANG_ICON 'go'
|
||||||
|
@ -917,7 +633,6 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON 'java'
|
JAVA_ICON 'java'
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON 'ranger'
|
RANGER_ICON 'ranger'
|
||||||
YAZI_ICON 'yazi'
|
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
@ -931,8 +646,6 @@ function _p9k_init_icons() {
|
||||||
LUA_ICON 'lua'
|
LUA_ICON 'lua'
|
||||||
PERL_ICON 'perl'
|
PERL_ICON 'perl'
|
||||||
NNN_ICON 'nnn'
|
NNN_ICON 'nnn'
|
||||||
LF_ICON 'lf'
|
|
||||||
XPLR_ICON 'xplr'
|
|
||||||
TIMEWARRIOR_ICON 'tw'
|
TIMEWARRIOR_ICON 'tw'
|
||||||
TASKWARRIOR_ICON 'task'
|
TASKWARRIOR_ICON 'task'
|
||||||
NIX_SHELL_ICON 'nix'
|
NIX_SHELL_ICON 'nix'
|
||||||
|
@ -945,9 +658,6 @@ function _p9k_init_icons() {
|
||||||
PACKAGE_ICON 'pkg'
|
PACKAGE_ICON 'pkg'
|
||||||
JULIA_ICON 'jl'
|
JULIA_ICON 'jl'
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON 'toolbox'
|
|
||||||
ARCH_ICON 'arch'
|
|
||||||
HISTORY_ICON 'hist'
|
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -988,7 +698,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_DEBIAN_ICON 'Deb'
|
LINUX_DEBIAN_ICON 'Deb'
|
||||||
LINUX_RASPBIAN_ICON 'RPi'
|
LINUX_RASPBIAN_ICON 'RPi'
|
||||||
LINUX_UBUNTU_ICON 'Ubu'
|
LINUX_UBUNTU_ICON 'Ubu'
|
||||||
LINUX_KALI_ICON 'Kal'
|
|
||||||
LINUX_CENTOS_ICON 'Cen'
|
LINUX_CENTOS_ICON 'Cen'
|
||||||
LINUX_COREOS_ICON 'Cor'
|
LINUX_COREOS_ICON 'Cor'
|
||||||
LINUX_ELEMENTARY_ICON 'Elm'
|
LINUX_ELEMENTARY_ICON 'Elm'
|
||||||
|
@ -1006,12 +715,6 @@ function _p9k_init_icons() {
|
||||||
LINUX_SLACKWARE_ICON 'Sla'
|
LINUX_SLACKWARE_ICON 'Sla'
|
||||||
LINUX_VOID_ICON 'Vo'
|
LINUX_VOID_ICON 'Vo'
|
||||||
LINUX_ARTIX_ICON 'Art'
|
LINUX_ARTIX_ICON 'Art'
|
||||||
LINUX_RHEL_ICON 'RH'
|
|
||||||
LINUX_AMZN_ICON 'Amzn'
|
|
||||||
LINUX_ENDEAVOUROS_ICON 'Edv'
|
|
||||||
LINUX_ROCKY_ICON 'Roc'
|
|
||||||
LINUX_GUIX_ICON 'Guix'
|
|
||||||
LINUX_NEON_ICON 'Neon'
|
|
||||||
SUNOS_ICON 'Sun'
|
SUNOS_ICON 'Sun'
|
||||||
HOME_ICON ''
|
HOME_ICON ''
|
||||||
HOME_SUB_ICON ''
|
HOME_SUB_ICON ''
|
||||||
|
@ -1038,23 +741,10 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON ''
|
VCS_GIT_GITHUB_ICON ''
|
||||||
VCS_GIT_BITBUCKET_ICON ''
|
VCS_GIT_BITBUCKET_ICON ''
|
||||||
VCS_GIT_GITLAB_ICON ''
|
VCS_GIT_GITLAB_ICON ''
|
||||||
VCS_GIT_AZURE_ICON ''
|
|
||||||
VCS_GIT_ARCHLINUX_ICON ''
|
|
||||||
VCS_GIT_CODEBERG_ICON ''
|
|
||||||
VCS_GIT_DEBIAN_ICON ''
|
|
||||||
VCS_GIT_FREEBSD_ICON ''
|
|
||||||
VCS_GIT_FREEDESKTOP_ICON ''
|
|
||||||
VCS_GIT_GNOME_ICON ''
|
|
||||||
VCS_GIT_GNU_ICON ''
|
|
||||||
VCS_GIT_KDE_ICON ''
|
|
||||||
VCS_GIT_LINUX_ICON ''
|
|
||||||
VCS_GIT_GITEA_ICON ''
|
|
||||||
VCS_GIT_SOURCEHUT_ICON ''
|
|
||||||
VCS_HG_ICON ''
|
VCS_HG_ICON ''
|
||||||
VCS_SVN_ICON ''
|
VCS_SVN_ICON ''
|
||||||
RUST_ICON 'R'
|
RUST_ICON 'R'
|
||||||
PYTHON_ICON 'Py'
|
PYTHON_ICON 'Py'
|
||||||
CHEZMOI_ICON 'Chez'
|
|
||||||
SWIFT_ICON 'Swift'
|
SWIFT_ICON 'Swift'
|
||||||
GO_ICON 'Go'
|
GO_ICON 'Go'
|
||||||
GOLANG_ICON 'Go'
|
GOLANG_ICON 'Go'
|
||||||
|
@ -1071,7 +761,6 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\U2615' # ☕︎
|
JAVA_ICON '\U2615' # ☕︎
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON '\u2B50' # ⭐
|
RANGER_ICON '\u2B50' # ⭐
|
||||||
YAZI_ICON '\u2B50' # ⭐
|
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
@ -1085,8 +774,6 @@ function _p9k_init_icons() {
|
||||||
LUA_ICON 'lua'
|
LUA_ICON 'lua'
|
||||||
PERL_ICON 'perl'
|
PERL_ICON 'perl'
|
||||||
NNN_ICON 'nnn'
|
NNN_ICON 'nnn'
|
||||||
LF_ICON 'lf'
|
|
||||||
XPLR_ICON 'xplr'
|
|
||||||
TIMEWARRIOR_ICON 'tw'
|
TIMEWARRIOR_ICON 'tw'
|
||||||
TASKWARRIOR_ICON 'task'
|
TASKWARRIOR_ICON 'task'
|
||||||
NIX_SHELL_ICON 'nix'
|
NIX_SHELL_ICON 'nix'
|
||||||
|
@ -1099,9 +786,6 @@ function _p9k_init_icons() {
|
||||||
PACKAGE_ICON 'pkg'
|
PACKAGE_ICON 'pkg'
|
||||||
JULIA_ICON 'jl'
|
JULIA_ICON 'jl'
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON '\u2B22' # ⬢
|
|
||||||
ARCH_ICON 'arch'
|
|
||||||
HISTORY_ICON 'hist'
|
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -1126,7 +810,6 @@ function _p9k_init_icons() {
|
||||||
icons[LEFT_SEGMENT_END_SEPARATOR]+=' '
|
icons[LEFT_SEGMENT_END_SEPARATOR]+=' '
|
||||||
icons[MULTILINE_LAST_PROMPT_PREFIX]+=' '
|
icons[MULTILINE_LAST_PROMPT_PREFIX]+=' '
|
||||||
icons[VCS_TAG_ICON]+=' '
|
icons[VCS_TAG_ICON]+=' '
|
||||||
icons[VCS_BOOKMARK_ICON]+=' '
|
|
||||||
icons[VCS_COMMIT_ICON]+=' '
|
icons[VCS_COMMIT_ICON]+=' '
|
||||||
icons[VCS_BRANCH_ICON]+=' '
|
icons[VCS_BRANCH_ICON]+=' '
|
||||||
icons[VCS_REMOTE_BRANCH_ICON]+=' '
|
icons[VCS_REMOTE_BRANCH_ICON]+=' '
|
||||||
|
|
1254
internal/p10k.zsh
1254
internal/p10k.zsh
File diff suppressed because it is too large
Load diff
|
@ -152,7 +152,7 @@ function _p9k_parse_buffer() {
|
||||||
local -r var="\$$id|\${$id}|\"\$$id\"|\"\${$id}\""
|
local -r var="\$$id|\${$id}|\"\$$id\"|\"\${$id}\""
|
||||||
|
|
||||||
local -i e ic c=${2:-'1 << 62'}
|
local -i e ic c=${2:-'1 << 62'}
|
||||||
local skip n s r state token cmd prev
|
local skip n s r state cmd prev
|
||||||
local -a aln alp alf v
|
local -a aln alp alf v
|
||||||
|
|
||||||
if [[ -o interactive_comments ]]; then
|
if [[ -o interactive_comments ]]; then
|
||||||
|
|
|
@ -14,11 +14,22 @@ if (( OPTIND <= ARGC )); then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if (( $+terminfo[smcup] && $+terminfo[rmcup] )) && echoti smcup 2>/dev/null; then
|
||||||
|
function restore_screen() {
|
||||||
|
echoti rmcup 2>/dev/null
|
||||||
|
function restore_screen() {}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
function restore_screen() {}
|
||||||
|
fi
|
||||||
|
|
||||||
local -i in_z4h_wizard=0
|
local -i in_z4h_wizard=0
|
||||||
[[ $force == 0 && $+functions[z4h] == 1 && -n $Z4H && -e $Z4H/welcome ]] && in_z4h_wizard=1
|
[[ $force == 0 && $+functions[z4h] == 1 && -n $Z4H && -e $Z4H/welcome ]] && in_z4h_wizard=1
|
||||||
|
|
||||||
local -i success=0
|
local -i success=0
|
||||||
|
|
||||||
|
{ # always
|
||||||
|
|
||||||
local -ri force
|
local -ri force
|
||||||
|
|
||||||
local -r font_base_url='https://github.com/romkatv/powerlevel10k-media/raw/master'
|
local -r font_base_url='https://github.com/romkatv/powerlevel10k-media/raw/master'
|
||||||
|
@ -222,12 +233,7 @@ function hide_cursor() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function show_cursor() {
|
function show_cursor() {
|
||||||
local cnorm=${terminfo[cnorm]-}
|
echoti cnorm 2>/dev/null
|
||||||
if [[ $cnorm == *$'\e[?25h'(|'\e'*) ]]; then
|
|
||||||
print -n '\e[?25h'
|
|
||||||
else
|
|
||||||
print -n $cnorm
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function consume_input() {
|
function consume_input() {
|
||||||
|
@ -744,7 +750,7 @@ function ask_python() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function ask_quotes() {
|
function ask_arrow() {
|
||||||
add_widget 0 flowing -c %BDoes this look like%b "%2F><%f" %Bbut taller and "fatter?%b"
|
add_widget 0 flowing -c %BDoes this look like%b "%2F><%f" %Bbut taller and "fatter?%b"
|
||||||
add_widget 0 print -P ""
|
add_widget 0 print -P ""
|
||||||
add_widget 0 flowing -c -- "---> \u276F\u276E <---"
|
add_widget 0 flowing -c -- "---> \u276F\u276E <---"
|
||||||
|
@ -758,35 +764,6 @@ function ask_quotes() {
|
||||||
add_widget 2
|
add_widget 2
|
||||||
add_widget 0 print -P "(r) Restart from the beginning."
|
add_widget 0 print -P "(r) Restart from the beginning."
|
||||||
ask ynr
|
ask ynr
|
||||||
case $choice in
|
|
||||||
r) return 1;;
|
|
||||||
y) cap_quotes=1;;
|
|
||||||
n) cap_quotes=0;;
|
|
||||||
esac
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
function ask_arrow() {
|
|
||||||
# This condition holds as long as zsh is compiled with unicode 9 support.
|
|
||||||
if (( ${(m)#${(g::)1}} != 1 )); then
|
|
||||||
cap_arrow=0
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
[[ -n $2 ]] && add_widget 0 flowing -c "$2"
|
|
||||||
add_widget 0 flowing -c %BDoes this look like an%b "%2Fupwards arrow%f%B?%b"
|
|
||||||
add_widget 0 flowing -c reference: "$(href https://graphemica.com/%F0%9F%A0%89)"
|
|
||||||
add_widget 0 print -P ""
|
|
||||||
add_widget 0 flowing -c -- "---> $1 <---"
|
|
||||||
add_widget 0 print -P ""
|
|
||||||
add_widget 3
|
|
||||||
add_widget 0 print -P "%B(y) Yes.%b"
|
|
||||||
add_widget 0 print -P ""
|
|
||||||
add_widget 1
|
|
||||||
add_widget 0 print -P "%B(n) No.%b"
|
|
||||||
add_widget 0 print -P ""
|
|
||||||
add_widget 2
|
|
||||||
add_widget 0 print -P "(r) Restart from the beginning."
|
|
||||||
ask ynr
|
|
||||||
case $choice in
|
case $choice in
|
||||||
r) return 1;;
|
r) return 1;;
|
||||||
y) cap_arrow=1;;
|
y) cap_arrow=1;;
|
||||||
|
@ -795,35 +772,25 @@ function ask_arrow() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function print_indented() {
|
function ask_debian() {
|
||||||
local -i max_width=$1
|
add_widget 0 flowing -c %BDoes this look like a%b "%2FDebian logo%f" "%B(swirl/spiral)?%b"
|
||||||
local text=$2
|
add_widget 0 flowing -c reference: "$(href https://debian.org/logos/openlogo-nd.svg)"
|
||||||
local -i indent='(wizard_columns - max_width) / 2'
|
|
||||||
print -P "${(l:$indent:: :)}$text"
|
|
||||||
}
|
|
||||||
|
|
||||||
function ask_width() {
|
|
||||||
add_widget 0 flowing -c %BWhat digit is the%b "%2Fdownwards arrow%f" %Bpointing "at?%b"
|
|
||||||
add_widget 0 print -P ""
|
add_widget 0 print -P ""
|
||||||
add_widget 0 print_indented 11 '%3F\UF0734%f %3F\UF0734%f %3F\UF0734%f %2F\UF072E%f'
|
add_widget 0 flowing -c -- "---> \uF306 <---"
|
||||||
add_widget 0 print_indented 11 ' 111222'
|
|
||||||
add_widget 0 print -P ""
|
add_widget 0 print -P ""
|
||||||
add_widget 3
|
add_widget 3
|
||||||
add_widget 0 print -P "%B(1) It is pointing at '1'.%b"
|
add_widget 0 print -P "%B(y) Yes.%b"
|
||||||
add_widget 0 print -P ""
|
add_widget 0 print -P ""
|
||||||
add_widget 1
|
add_widget 1
|
||||||
add_widget 0 print -P "%B(2) It is pointing at '2'.%b"
|
add_widget 0 print -P "%B(n) No.%b"
|
||||||
add_widget 0 print -P ""
|
|
||||||
add_widget 1
|
|
||||||
add_widget 0 print -P "%B(3) Something else.%b"
|
|
||||||
add_widget 0 print -P ""
|
add_widget 0 print -P ""
|
||||||
add_widget 2
|
add_widget 2
|
||||||
add_widget 0 print -P "(r) Restart from the beginning."
|
add_widget 0 print -P "(r) Restart from the beginning."
|
||||||
ask 123r
|
ask ynr
|
||||||
case $choice in
|
case $choice in
|
||||||
r) return 1;;
|
r) return 1;;
|
||||||
1) cap_arrow=1;;
|
y) cap_debian=1;;
|
||||||
2|3) cap_arrow=0;;
|
n) cap_debian=0;;
|
||||||
esac
|
esac
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
@ -949,9 +916,9 @@ function ask_charset() {
|
||||||
POWERLEVEL9K_ICON_PADDING=none
|
POWERLEVEL9K_ICON_PADDING=none
|
||||||
cap_diamond=0
|
cap_diamond=0
|
||||||
cap_python=0
|
cap_python=0
|
||||||
cap_arrow=0
|
cap_debian=0
|
||||||
cap_lock=0
|
cap_lock=0
|
||||||
cap_quotes=0
|
cap_arrow=0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
return 0
|
return 0
|
||||||
|
@ -1027,15 +994,6 @@ function ask_color() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function print_frame_marker() {
|
|
||||||
local label="(1) $color_name[1]."
|
|
||||||
local -i n='wizard_columns - 7'
|
|
||||||
local -i m=$((n - $#label))
|
|
||||||
print -P "${(l:$n:: :)}frame"
|
|
||||||
print -P "%B$label%b${(l:$m:: :)} |"
|
|
||||||
print -P "${(l:$n:: :)} v"
|
|
||||||
}
|
|
||||||
|
|
||||||
function ask_ornaments_color() {
|
function ask_ornaments_color() {
|
||||||
[[ $style != (rainbow|lean*) || $num_lines == 1 ]] && return
|
[[ $style != (rainbow|lean*) || $num_lines == 1 ]] && return
|
||||||
[[ $gap_char == ' ' && $left_frame == 0 && $right_frame == 0 ]] && return
|
[[ $gap_char == ' ' && $left_frame == 0 && $right_frame == 0 ]] && return
|
||||||
|
@ -1043,17 +1001,10 @@ function ask_ornaments_color() {
|
||||||
[[ $gap_char != ' ' ]] && ornaments+=Connection
|
[[ $gap_char != ' ' ]] && ornaments+=Connection
|
||||||
(( left_frame || right_frame )) && ornaments+=Frame
|
(( left_frame || right_frame )) && ornaments+=Frame
|
||||||
add_widget 0 flowing -c "%B${(j: & :)ornaments} Color%b"
|
add_widget 0 flowing -c "%B${(j: & :)ornaments} Color%b"
|
||||||
if (( left_frame || right_frame )); then
|
|
||||||
add_widget 0 print_frame_marker
|
|
||||||
add_widget 3 print -P "%B(1) $color_name[1].%b"
|
|
||||||
add_prompt_n color=1
|
|
||||||
add_widget 0 print
|
add_widget 0 print
|
||||||
add_widget 2
|
|
||||||
else
|
|
||||||
add_widget 1
|
add_widget 1
|
||||||
add_widget 0 print -P "%B(1) $color_name[1].%b"
|
add_widget 0 print -P "%B(1) $color_name[1].%b"
|
||||||
add_prompt color=1
|
add_prompt color=1
|
||||||
fi
|
|
||||||
add_widget 0 print -P "%B(2) $color_name[2].%b"
|
add_widget 0 print -P "%B(2) $color_name[2].%b"
|
||||||
add_prompt color=2
|
add_prompt color=2
|
||||||
add_widget 0 print -P "%B(3) $color_name[3].%b"
|
add_widget 0 print -P "%B(3) $color_name[3].%b"
|
||||||
|
@ -1075,19 +1026,19 @@ function ask_time() {
|
||||||
add_widget 0 flowing -c "%BShow current time?%b"
|
add_widget 0 flowing -c "%BShow current time?%b"
|
||||||
add_widget 0 print
|
add_widget 0 print
|
||||||
add_widget 1
|
add_widget 1
|
||||||
add_widget 0 print -P "%B(n) No.%b"
|
add_widget 0 print -P "%B(1) No.%b"
|
||||||
add_prompt time=
|
add_prompt time=
|
||||||
add_widget 0 print -P "%B(1) 12-hour format.%b"
|
|
||||||
add_prompt time=$time_12h
|
|
||||||
add_widget 0 print -P "%B(2) 24-hour format.%b"
|
add_widget 0 print -P "%B(2) 24-hour format.%b"
|
||||||
add_prompt time=$time_24h
|
add_prompt time=$time_24h
|
||||||
|
add_widget 0 print -P "%B(3) 12-hour format.%b"
|
||||||
|
add_prompt time=$time_12h
|
||||||
add_widget 0 print -P "(r) Restart from the beginning."
|
add_widget 0 print -P "(r) Restart from the beginning."
|
||||||
ask n12r
|
ask 123r
|
||||||
case $choice in
|
case $choice in
|
||||||
r) return 1;;
|
r) return 1;;
|
||||||
n) time=;;
|
1) time=;;
|
||||||
1) time=$time_12h; options+='12h time';;
|
|
||||||
2) time=$time_24h; options+='24h time';;
|
2) time=$time_24h; options+='24h time';;
|
||||||
|
3) time=$time_12h; options+='12h time';;
|
||||||
esac
|
esac
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
@ -1106,7 +1057,7 @@ function ask_use_rprompt() {
|
||||||
case $choice in
|
case $choice in
|
||||||
r) return 1;;
|
r) return 1;;
|
||||||
1) ;;
|
1) ;;
|
||||||
2) pure_use_rprompt=; options+=rprompt;;
|
2) pure_use_rprompt=; options+=rpromt;;
|
||||||
esac
|
esac
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
@ -1126,26 +1077,18 @@ function os_icon_name() {
|
||||||
if [[ -r /etc/os-release ]]; then
|
if [[ -r /etc/os-release ]]; then
|
||||||
local lines=(${(f)"$(</etc/os-release)"})
|
local lines=(${(f)"$(</etc/os-release)"})
|
||||||
lines=(${(@M)lines:#ID=*})
|
lines=(${(@M)lines:#ID=*})
|
||||||
(( $#lines == 1 )) && os_release_id=${(Q)${lines[1]#ID=}}
|
(( $#lines == 1 )) && os_release_id=${lines[1]#ID=}
|
||||||
elif [[ -e /etc/artix-release ]]; then
|
elif [[ -e /etc/artix-release ]]; then
|
||||||
os_release_id=artix
|
os_release_id=artix
|
||||||
fi
|
fi
|
||||||
case $os_release_id in
|
case $os_release_id in
|
||||||
*arch*) echo LINUX_ARCH_ICON;;
|
*arch*) echo LINUX_ARCH_ICON;;
|
||||||
*raspbian*) echo LINUX_RASPBIAN_ICON;;
|
*debian*) echo LINUX_DEBIAN_ICON;;
|
||||||
*debian*)
|
|
||||||
if [[ -f /etc/apt/sources.list.d/raspi.list ]]; then
|
|
||||||
echo LINUX_RASPBIAN_ICON
|
|
||||||
else
|
|
||||||
echo LINUX_DEBIAN_ICON
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*raspbian*) echo LINUX_RASPBIAN_ICON;;
|
*raspbian*) echo LINUX_RASPBIAN_ICON;;
|
||||||
*ubuntu*) echo LINUX_UBUNTU_ICON;;
|
*ubuntu*) echo LINUX_UBUNTU_ICON;;
|
||||||
*elementary*) echo LINUX_ELEMENTARY_ICON;;
|
*elementary*) echo LINUX_ELEMENTARY_ICON;;
|
||||||
*fedora*) echo LINUX_FEDORA_ICON;;
|
*fedora*) echo LINUX_FEDORA_ICON;;
|
||||||
*coreos*) echo LINUX_COREOS_ICON;;
|
*coreos*) echo LINUX_COREOS_ICON;;
|
||||||
*kali*) echo LINUX_KALI_ICON;;
|
|
||||||
*gentoo*) echo LINUX_GENTOO_ICON;;
|
*gentoo*) echo LINUX_GENTOO_ICON;;
|
||||||
*mageia*) echo LINUX_MAGEIA_ICON;;
|
*mageia*) echo LINUX_MAGEIA_ICON;;
|
||||||
*centos*) echo LINUX_CENTOS_ICON;;
|
*centos*) echo LINUX_CENTOS_ICON;;
|
||||||
|
@ -1160,12 +1103,6 @@ function os_icon_name() {
|
||||||
*manjaro*) echo LINUX_MANJARO_ICON;;
|
*manjaro*) echo LINUX_MANJARO_ICON;;
|
||||||
*void*) echo LINUX_VOID_ICON;;
|
*void*) echo LINUX_VOID_ICON;;
|
||||||
*artix*) echo LINUX_ARTIX_ICON;;
|
*artix*) echo LINUX_ARTIX_ICON;;
|
||||||
*rhel*) echo LINUX_RHEL_ICON;;
|
|
||||||
amzn) echo LINUX_AMZN_ICON;;
|
|
||||||
endeavouros) echo LINUX_ENDEAVOUROS_ICON;;
|
|
||||||
rocky) echo LINUX_ROCKY_ICON;;
|
|
||||||
guix) echo LINUX_GUIX_ICON;;
|
|
||||||
neon) echo LINUX_NEON_ICON;;
|
|
||||||
*) echo LINUX_ICON;;
|
*) echo LINUX_ICON;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
@ -1239,7 +1176,7 @@ function ask_separators() {
|
||||||
add_widget 2
|
add_widget 2
|
||||||
add_widget 0 print -P "%B(2) Vertical.%b"
|
add_widget 0 print -P "%B(2) Vertical.%b"
|
||||||
add_prompt left_sep='' right_sep='' left_subsep=$vertical_bar right_subsep=$vertical_bar
|
add_prompt left_sep='' right_sep='' left_subsep=$vertical_bar right_subsep=$vertical_bar
|
||||||
if [[ $POWERLEVEL9K_MODE == nerdfont-* ]]; then
|
if [[ $POWERLEVEL9K_MODE == nerdfont-complete ]]; then
|
||||||
extra+=3
|
extra+=3
|
||||||
add_widget 0 print -P "%B(3) Slanted.%b"
|
add_widget 0 print -P "%B(3) Slanted.%b"
|
||||||
add_prompt left_sep=$down_triangle right_sep=$up_triangle left_subsep=$slanted_bar right_subsep=$slanted_bar
|
add_prompt left_sep=$down_triangle right_sep=$up_triangle left_subsep=$slanted_bar right_subsep=$slanted_bar
|
||||||
|
@ -1289,34 +1226,42 @@ function ask_heads() {
|
||||||
fi
|
fi
|
||||||
local extra
|
local extra
|
||||||
add_widget 0 flowing -c "%BPrompt Heads%b"
|
add_widget 0 flowing -c "%BPrompt Heads%b"
|
||||||
add_widget 0 print -Pl " head" "%B(1) Flat.%b |" " v"
|
if (( cap_diamond )); then
|
||||||
add_widget 3 print -P "%B(1) Flat.%b"
|
add_widget 0 print -Pl " head" "%B(1) Sharp.%b |" " v"
|
||||||
add_prompt_n left_head= right_head=
|
add_widget 3 print -P "%B(1) Sharp.%b"
|
||||||
|
add_prompt_n left_head=$right_triangle right_head=$left_triangle
|
||||||
add_widget 0 print
|
add_widget 0 print
|
||||||
add_widget 2
|
add_widget 2
|
||||||
|
else
|
||||||
|
add_widget 0 print
|
||||||
|
add_widget 1
|
||||||
|
add_widget 0 print -P "%B(1) Flat.%b"
|
||||||
|
add_prompt left_head= right_head=
|
||||||
|
fi
|
||||||
add_widget 0 print -P "%B(2) Blurred.%b"
|
add_widget 0 print -P "%B(2) Blurred.%b"
|
||||||
add_prompt left_head=$fade_out right_head=$fade_in
|
add_prompt left_head=$fade_out right_head=$fade_in
|
||||||
if (( cap_diamond )); then
|
if [[ $POWERLEVEL9K_MODE == nerdfont-complete ]]; then
|
||||||
extra+=3
|
extra+=3
|
||||||
add_widget 0 print -P "%B(3) Sharp.%b"
|
add_widget 0 print -P "%B(3) Slanted.%b"
|
||||||
add_prompt left_head=$right_triangle right_head=$left_triangle
|
|
||||||
if [[ $POWERLEVEL9K_MODE == nerdfont-* ]]; then
|
|
||||||
extra+=4
|
|
||||||
add_widget 0 print -P "%B(4) Slanted.%b"
|
|
||||||
add_prompt left_head=$down_triangle right_head=$up_triangle
|
add_prompt left_head=$down_triangle right_head=$up_triangle
|
||||||
extra+=5
|
extra+=4
|
||||||
add_widget 0 print -P "%B(5) Round.%b"
|
add_widget 0 print -P "%B(4) Round.%b"
|
||||||
add_prompt left_head=$right_circle right_head=$left_circle
|
add_prompt left_head=$right_circle right_head=$left_circle
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
add_widget 0 print -P "(r) Restart from the beginning."
|
add_widget 0 print -P "(r) Restart from the beginning."
|
||||||
ask 12${extra}r
|
ask 12${extra}r
|
||||||
case $choice in
|
case $choice in
|
||||||
r) return 1;;
|
r) return 1;;
|
||||||
1)
|
1)
|
||||||
|
if (( cap_diamond )); then
|
||||||
|
left_head=$right_triangle
|
||||||
|
right_head=$left_triangle
|
||||||
|
options+='sharp heads'
|
||||||
|
else
|
||||||
left_head=
|
left_head=
|
||||||
right_head=
|
right_head=
|
||||||
options+='flat heads'
|
options+='flat heads'
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
left_head=$fade_out
|
left_head=$fade_out
|
||||||
|
@ -1324,16 +1269,11 @@ function ask_heads() {
|
||||||
options+='blurred heads'
|
options+='blurred heads'
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
left_head=$right_triangle
|
|
||||||
right_head=$left_triangle
|
|
||||||
options+='sharp heads'
|
|
||||||
;;
|
|
||||||
4)
|
|
||||||
left_head=$down_triangle
|
left_head=$down_triangle
|
||||||
right_head=$up_triangle
|
right_head=$up_triangle
|
||||||
options+='slanted heads'
|
options+='slanted heads'
|
||||||
;;
|
;;
|
||||||
5)
|
4)
|
||||||
left_head=$right_circle
|
left_head=$right_circle
|
||||||
right_head=$left_circle
|
right_head=$left_circle
|
||||||
options+='round heads'
|
options+='round heads'
|
||||||
|
@ -1368,7 +1308,7 @@ function ask_tails() {
|
||||||
extra+=3
|
extra+=3
|
||||||
add_widget 0 print -P "%B(3) Sharp.%b"
|
add_widget 0 print -P "%B(3) Sharp.%b"
|
||||||
add_prompt left_tail=$left_triangle right_tail=$right_triangle
|
add_prompt left_tail=$left_triangle right_tail=$right_triangle
|
||||||
if [[ $POWERLEVEL9K_MODE == nerdfont-* ]]; then
|
if [[ $POWERLEVEL9K_MODE == nerdfont-complete ]]; then
|
||||||
extra+=4
|
extra+=4
|
||||||
add_widget 0 print -P "%B(4) Slanted.%b"
|
add_widget 0 print -P "%B(4) Slanted.%b"
|
||||||
add_prompt left_tail=$up_triangle right_tail=$down_triangle
|
add_prompt left_tail=$up_triangle right_tail=$down_triangle
|
||||||
|
@ -1506,14 +1446,14 @@ function ask_empty_line() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function print_instant_prompt_link() {
|
function print_instant_prompt_link() {
|
||||||
local link='https://github.com/romkatv/powerlevel10k#instant-prompt'
|
local link='https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt'
|
||||||
(( wizard_columns < $#link )) && return
|
(( wizard_columns < $#link )) && return
|
||||||
print
|
print
|
||||||
flowing -c "$(href $link)"
|
flowing -c "$(href $link)"
|
||||||
}
|
}
|
||||||
|
|
||||||
function ask_instant_prompt() {
|
function ask_instant_prompt() {
|
||||||
if [[ $ZSH_VERSION != (5.<4->*|<6->.*) ]]; then
|
if ! is-at-least 5.4; then
|
||||||
instant_prompt=off
|
instant_prompt=off
|
||||||
options+=instant_prompt=auto-off
|
options+=instant_prompt=auto-off
|
||||||
return 0
|
return 0
|
||||||
|
@ -1606,19 +1546,9 @@ function ask_config_overwrite() {
|
||||||
case $choice in
|
case $choice in
|
||||||
r) return 1;;
|
r) return 1;;
|
||||||
y)
|
y)
|
||||||
if [[ -n "$TMPDIR" && ( ( -d "$TMPDIR" && -w "$TMPDIR" ) || ! ( -d /tmp && -w /tmp ) ) ]]; then
|
config_backup="$(mktemp ${TMPDIR:-/tmp}/$__p9k_cfg_basename.XXXXXXXXXX)" || quit -c
|
||||||
local tmpdir=$TMPDIR
|
|
||||||
local tmpdir_u='$TMPDIR'
|
|
||||||
else
|
|
||||||
local tmpdir=/tmp
|
|
||||||
local tmpdir_u=/tmp
|
|
||||||
fi
|
|
||||||
if (( ! $+commands[mktemp] )) ||
|
|
||||||
! config_backup=$(mktemp $tmpdir/$__p9k_cfg_basename.XXXXXXXXXX 2>/dev/null); then
|
|
||||||
config_backup=$tmpdir/$__p9k_cfg_basename.$EPOCHREALTIME
|
|
||||||
fi
|
|
||||||
cp $__p9k_cfg_path $config_backup || quit -c
|
cp $__p9k_cfg_path $config_backup || quit -c
|
||||||
config_backup_u=$tmpdir_u/${(q-)config_backup:t}
|
config_backup_u=${${TMPDIR:+\$TMPDIR}:-/tmp}/${(q-)config_backup:t}
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
return 0
|
return 0
|
||||||
|
@ -1635,12 +1565,40 @@ function ask_zshrc_edit() {
|
||||||
if (( $+functions[z4h] )); then
|
if (( $+functions[z4h] )); then
|
||||||
zshrc_has_cfg=1
|
zshrc_has_cfg=1
|
||||||
zshrc_has_instant_prompt=1
|
zshrc_has_instant_prompt=1
|
||||||
return
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
check_zshrc_integration || quit -c
|
|
||||||
[[ $instant_prompt == off ]] && zshrc_has_instant_prompt=1
|
[[ $instant_prompt == off ]] && zshrc_has_instant_prompt=1
|
||||||
|
|
||||||
|
if [[ -e $__p9k_zshrc ]]; then
|
||||||
|
zshrc_content="$(<$__p9k_zshrc)" || quit -c
|
||||||
|
local lines=(${(f)zshrc_content})
|
||||||
|
local f0=$__p9k_cfg_path_o
|
||||||
|
local f1=${(q)f0}
|
||||||
|
local f2=${(q-)f0}
|
||||||
|
local f3=${(qq)f0}
|
||||||
|
local f4=${(qqq)f0}
|
||||||
|
local g1=${${(q)__p9k_cfg_path_o}/#(#b)${(q)HOME}\//'~/'}
|
||||||
|
local h0='${ZDOTDIR:-~}/.p10k.zsh'
|
||||||
|
local h1='${ZDOTDIR:-$HOME}/.p10k.zsh'
|
||||||
|
local h2='"${ZDOTDIR:-$HOME}/.p10k.zsh"'
|
||||||
|
local h3='"${ZDOTDIR:-$HOME}"/.p10k.zsh'
|
||||||
|
local h4='${ZDOTDIR}/.p10k.zsh'
|
||||||
|
local h5='"${ZDOTDIR}/.p10k.zsh"'
|
||||||
|
local h6='"${ZDOTDIR}"/.p10k.zsh'
|
||||||
|
local h7='$ZDOTDIR/.p10k.zsh'
|
||||||
|
local h8='"$ZDOTDIR/.p10k.zsh"'
|
||||||
|
local h9='"$ZDOTDIR"/.p10k.zsh'
|
||||||
|
local h10='$POWERLEVEL9K_CONFIG_FILE'
|
||||||
|
local h11='"$POWERLEVEL9K_CONFIG_FILE"'
|
||||||
|
if [[ -n ${(@M)lines:#(#b)[^#]#([^[:IDENT:]]|)source[[:space:]]##($f1|$f2|$f3|$f4|$g1|$h0|$h1|$h2|$h3|$h4|$h5|$h6|$h7|$h8|$h9|$h10|$h11)(|[[:space:]]*|'#'*)} ]]; then
|
||||||
|
zshrc_has_cfg=1
|
||||||
|
fi
|
||||||
|
local pre='${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh'
|
||||||
|
if [[ -n ${(@M)lines:#(#b)[^#]#([^[:IDENT:]]|)source[[:space:]]##($pre|\"$pre\")(|[[:space:]]*|'#'*)} ]]; then
|
||||||
|
zshrc_has_instant_prompt=1
|
||||||
|
fi
|
||||||
(( zshrc_has_cfg && zshrc_has_instant_prompt )) && return
|
(( zshrc_has_cfg && zshrc_has_instant_prompt )) && return
|
||||||
|
fi
|
||||||
|
|
||||||
add_widget 0 flowing -c %BApply changes to "%b%2F${__p9k_zshrc_u//\\/\\\\}%f%B?%b"
|
add_widget 0 flowing -c %BApply changes to "%b%2F${__p9k_zshrc_u//\\/\\\\}%f%B?%b"
|
||||||
add_widget 0 print -P ""
|
add_widget 0 print -P ""
|
||||||
|
@ -1679,17 +1637,7 @@ function ask_zshrc_edit() {
|
||||||
y)
|
y)
|
||||||
write_zshrc=1
|
write_zshrc=1
|
||||||
if [[ -n $zshrc_content ]]; then
|
if [[ -n $zshrc_content ]]; then
|
||||||
if [[ -n "$TMPDIR" && ( ( -d "$TMPDIR" && -w "$TMPDIR" ) || ! ( -d /tmp && -w /tmp ) ) ]]; then
|
zshrc_backup="$(mktemp ${TMPDIR:-/tmp}/.zshrc.XXXXXXXXXX)" || quit -c
|
||||||
local tmpdir=$TMPDIR
|
|
||||||
local tmpdir_u='$TMPDIR'
|
|
||||||
else
|
|
||||||
local tmpdir=/tmp
|
|
||||||
local tmpdir_u=/tmp
|
|
||||||
fi
|
|
||||||
if (( ! $+commands[mktemp] )) ||
|
|
||||||
! zshrc_backup="$(mktemp $tmpdir/.zshrc.XXXXXXXXXX 2>/dev/null)"; then
|
|
||||||
zshrc_backup=$tmpdir/.zshrc.$EPOCHREALTIME
|
|
||||||
fi
|
|
||||||
cp -p $__p9k_zshrc $zshrc_backup || quit -c
|
cp -p $__p9k_zshrc $zshrc_backup || quit -c
|
||||||
local -i writable=1
|
local -i writable=1
|
||||||
if [[ ! -w $zshrc_backup ]]; then
|
if [[ ! -w $zshrc_backup ]]; then
|
||||||
|
@ -1698,7 +1646,7 @@ function ask_zshrc_edit() {
|
||||||
fi
|
fi
|
||||||
print -r -- $zshrc_content >$zshrc_backup || quit -c
|
print -r -- $zshrc_content >$zshrc_backup || quit -c
|
||||||
(( writable )) || chmod u-w -- $zshrc_backup || quit -c
|
(( writable )) || chmod u-w -- $zshrc_backup || quit -c
|
||||||
zshrc_backup_u=$tmpdir_u/${(q-)zshrc_backup:t}
|
zshrc_backup_u=${${TMPDIR:+\$TMPDIR}:-/tmp}/${(q-)zshrc_backup:t}
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -1747,8 +1695,6 @@ function generate_config() {
|
||||||
sub NORDVPN_VISUAL_IDENTIFIER_EXPANSION "'nord'"
|
sub NORDVPN_VISUAL_IDENTIFIER_EXPANSION "'nord'"
|
||||||
uncomment 'typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION'
|
uncomment 'typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION'
|
||||||
sub RANGER_VISUAL_IDENTIFIER_EXPANSION "'▲'"
|
sub RANGER_VISUAL_IDENTIFIER_EXPANSION "'▲'"
|
||||||
uncomment 'typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION'
|
|
||||||
sub YAZI_VISUAL_IDENTIFIER_EXPANSION "'▲'"
|
|
||||||
uncomment 'typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION'
|
uncomment 'typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION'
|
||||||
sub KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION "'○'"
|
sub KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION "'○'"
|
||||||
uncomment 'typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION'
|
uncomment 'typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION'
|
||||||
|
@ -1770,14 +1716,9 @@ function generate_config() {
|
||||||
sub PYTHON_ICON "'🐍'"
|
sub PYTHON_ICON "'🐍'"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $POWERLEVEL9K_MODE in
|
if [[ $POWERLEVEL9K_MODE == nerdfont-complete ]]; then
|
||||||
nerdfont-complete)
|
|
||||||
sub BATTERY_STAGES "'\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578'"
|
sub BATTERY_STAGES "'\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578'"
|
||||||
;;
|
fi
|
||||||
nerdfont-v3)
|
|
||||||
sub BATTERY_STAGES "'\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079'"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [[ $style == (classic|rainbow) ]]; then
|
if [[ $style == (classic|rainbow) ]]; then
|
||||||
if [[ $style == classic ]]; then
|
if [[ $style == classic ]]; then
|
||||||
|
@ -1826,7 +1767,6 @@ function generate_config() {
|
||||||
uncomment 'typeset -g POWERLEVEL9K_CONTEXT_PREFIX'
|
uncomment 'typeset -g POWERLEVEL9K_CONTEXT_PREFIX'
|
||||||
uncomment 'typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX'
|
uncomment 'typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX'
|
||||||
uncomment 'typeset -g POWERLEVEL9K_TIME_PREFIX'
|
uncomment 'typeset -g POWERLEVEL9K_TIME_PREFIX'
|
||||||
uncomment 'typeset -g POWERLEVEL9K_TOOLBOX_PREFIX'
|
|
||||||
if [[ $style == (lean|classic) ]]; then
|
if [[ $style == (lean|classic) ]]; then
|
||||||
[[ $style == classic ]] && local fg="%$prefix_color[$color]F" || local fg="%f"
|
[[ $style == classic ]] && local fg="%$prefix_color[$color]F" || local fg="%f"
|
||||||
sub VCS_PREFIX "'${fg}on '"
|
sub VCS_PREFIX "'${fg}on '"
|
||||||
|
@ -1834,7 +1774,6 @@ function generate_config() {
|
||||||
sub CONTEXT_PREFIX "'${fg}with '"
|
sub CONTEXT_PREFIX "'${fg}with '"
|
||||||
sub KUBECONTEXT_PREFIX "'${fg}at '"
|
sub KUBECONTEXT_PREFIX "'${fg}at '"
|
||||||
sub TIME_PREFIX "'${fg}at '"
|
sub TIME_PREFIX "'${fg}at '"
|
||||||
sub TOOLBOX_PREFIX "'${fg}in '"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1957,7 +1896,7 @@ function generate_config() {
|
||||||
command mkdir -p -- ${__p9k_cfg_path:h} || return
|
command mkdir -p -- ${__p9k_cfg_path:h} || return
|
||||||
|
|
||||||
if [[ -e $__p9k_cfg_path ]]; then
|
if [[ -e $__p9k_cfg_path ]]; then
|
||||||
zf_rm -f -- $__p9k_cfg_path || return
|
unlink $__p9k_cfg_path || return
|
||||||
fi
|
fi
|
||||||
print -lr -- "$header" "$lines[@]" >$__p9k_cfg_path
|
print -lr -- "$header" "$lines[@]" >$__p9k_cfg_path
|
||||||
}
|
}
|
||||||
|
@ -2009,84 +1948,16 @@ fi" || return
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function check_zshrc_integration() {
|
|
||||||
typeset -g zshrc_content=
|
|
||||||
typeset -gi zshrc_has_cfg=0 zshrc_has_instant_prompt=0
|
|
||||||
[[ -e $__p9k_zshrc ]] || return 0
|
|
||||||
zshrc_content="$(<$__p9k_zshrc)" || return
|
|
||||||
local lines=(${(f)zshrc_content})
|
|
||||||
local f0=$__p9k_cfg_path_o
|
|
||||||
local f1=${(q)f0}
|
|
||||||
local f2=${(q-)f0}
|
|
||||||
local f3=${(qq)f0}
|
|
||||||
local f4=${(qqq)f0}
|
|
||||||
local g1=${${(q)__p9k_cfg_path_o}/#(#b)${(q)HOME}\//'~/'}
|
|
||||||
local h0='${ZDOTDIR:-~}/.p10k.zsh'
|
|
||||||
local h1='${ZDOTDIR:-$HOME}/.p10k.zsh'
|
|
||||||
local h2='"${ZDOTDIR:-$HOME}/.p10k.zsh"'
|
|
||||||
local h3='"${ZDOTDIR:-$HOME}"/.p10k.zsh'
|
|
||||||
local h4='${ZDOTDIR}/.p10k.zsh'
|
|
||||||
local h5='"${ZDOTDIR}/.p10k.zsh"'
|
|
||||||
local h6='"${ZDOTDIR}"/.p10k.zsh'
|
|
||||||
local h7='$ZDOTDIR/.p10k.zsh'
|
|
||||||
local h8='"$ZDOTDIR/.p10k.zsh"'
|
|
||||||
local h9='"$ZDOTDIR"/.p10k.zsh'
|
|
||||||
local h10='$POWERLEVEL9K_CONFIG_FILE'
|
|
||||||
local h11='"$POWERLEVEL9K_CONFIG_FILE"'
|
|
||||||
if [[ -n ${(@M)lines:#(#b)[^#]#([^[:IDENT:]]|)source[[:space:]]##(|--[[:space:]]##)($f1|$f2|$f3|$f4|$g1|$h0|$h1|$h2|$h3|$h4|$h5|$h6|$h7|$h8|$h9|$h10|$h11)(|[[:space:]]*|'#'*)} ]]; then
|
|
||||||
zshrc_has_cfg=1
|
|
||||||
fi
|
|
||||||
local pre='${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh'
|
|
||||||
if [[ -n ${(@M)lines:#(#b)[^#]#([^[:IDENT:]]|)source[[:space:]]##($pre|\"$pre\")(|[[:space:]]*|'#'*)} ]]; then
|
|
||||||
zshrc_has_instant_prompt=1
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
() {
|
|
||||||
(( force )) && return
|
|
||||||
_p9k_can_configure -q || return 0
|
|
||||||
local zshrc_content zshrc_has_cfg zshrc_has_instant_prompt
|
|
||||||
check_zshrc_integration 2>/dev/null || return 0
|
|
||||||
(( zshrc_has_cfg )) || return 0
|
|
||||||
[[ -s $__p9k_cfg_path ]] || return 0
|
|
||||||
print -P ""
|
|
||||||
flowing \
|
|
||||||
Powerlevel10k configuration file "($__p9k_cfg_path_u)" was not sourced. This \
|
|
||||||
might have been caused by errors in zsh startup files, most likely in \
|
|
||||||
$__p9k_zshrc_u. See above for any indication of such errors and fix them. If \
|
|
||||||
there are no errors, try running Powerlevel10k configuration wizard:
|
|
||||||
print -P ''
|
|
||||||
print -P ' %2Fp10k%f %Bconfigure%b'
|
|
||||||
print -P ''
|
|
||||||
flowing \
|
|
||||||
If you do nothing, you will see this message again when you start zsh. You can \
|
|
||||||
suppress it by defining %BPOWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true%b in \
|
|
||||||
$__p9k_zshrc_u.
|
|
||||||
print -P ''
|
|
||||||
return 1
|
|
||||||
} || return
|
|
||||||
|
|
||||||
if (( $+terminfo[smcup] && $+terminfo[rmcup] )) && echoti smcup 2>/dev/null; then
|
|
||||||
function restore_screen() {
|
|
||||||
echoti rmcup 2>/dev/null
|
|
||||||
function restore_screen() {}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
function restore_screen() {}
|
|
||||||
fi
|
|
||||||
|
|
||||||
{ # always
|
|
||||||
|
|
||||||
if (( force )); then
|
if (( force )); then
|
||||||
_p9k_can_configure || return
|
_p9k_can_configure || return
|
||||||
else
|
else
|
||||||
_p9k_can_configure -q || return
|
_p9k_can_configure -q || return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
zmodload zsh/terminfo zsh/datetime || return
|
zmodload zsh/terminfo || return
|
||||||
|
autoload -Uz is-at-least || return
|
||||||
|
|
||||||
if [[ $ZSH_VERSION == (5.7.<1->*|5.<8->*|<6->.*) && $COLORTERM == (24bit|truecolor) ]]; then
|
if is-at-least 5.7.1 && [[ $COLORTERM == (24bit|truecolor) ]]; then
|
||||||
local -ir has_truecolor=1
|
local -ir has_truecolor=1
|
||||||
else
|
else
|
||||||
local -ir has_truecolor=0
|
local -ir has_truecolor=0
|
||||||
|
@ -2101,7 +1972,7 @@ while true; do
|
||||||
local gap_char=' ' prompt_char='❯' down_triangle='\uE0BC' up_triangle='\uE0BA' slanted_bar='\u2571'
|
local gap_char=' ' prompt_char='❯' down_triangle='\uE0BC' up_triangle='\uE0BA' slanted_bar='\u2571'
|
||||||
local left_subsep= right_subsep= left_tail= right_tail= left_head= right_head= time=
|
local left_subsep= right_subsep= left_tail= right_tail= left_head= right_head= time=
|
||||||
local -i num_lines=2 empty_line=0 color=2 left_frame=1 right_frame=1 transient_prompt=0
|
local -i num_lines=2 empty_line=0 color=2 left_frame=1 right_frame=1 transient_prompt=0
|
||||||
local -i cap_diamond=0 cap_python=0 cap_arrow=0 cap_lock=0 cap_quotes=0
|
local -i cap_diamond=0 cap_python=0 cap_debian=0 cap_lock=0 cap_arrow=0
|
||||||
local -a extra_icons=('' '' '')
|
local -a extra_icons=('' '' '')
|
||||||
local -a frame_color=(244 242 240 238)
|
local -a frame_color=(244 242 240 238)
|
||||||
local -a color_name=(Lightest Light Dark Darkest)
|
local -a color_name=(Lightest Light Dark Darkest)
|
||||||
|
@ -2115,7 +1986,7 @@ while true; do
|
||||||
|
|
||||||
unset pure_use_rprompt
|
unset pure_use_rprompt
|
||||||
|
|
||||||
if [[ -o multibyte && $TERM != (dumb|linux) && $langinfo[CODESET] == (utf|UTF)(-|)8 ]]; then
|
if [[ $TERM != (dumb|linux) && $langinfo[CODESET] == (utf|UTF)(-|)8 ]]; then
|
||||||
ask_font || continue
|
ask_font || continue
|
||||||
ask_diamond || continue
|
ask_diamond || continue
|
||||||
if [[ $AWESOME_GLYPHS_LOADED == 1 ]]; then
|
if [[ $AWESOME_GLYPHS_LOADED == 1 ]]; then
|
||||||
|
@ -2135,22 +2006,15 @@ while true; do
|
||||||
if (( cap_diamond )); then
|
if (( cap_diamond )); then
|
||||||
POWERLEVEL9K_MODE=powerline
|
POWERLEVEL9K_MODE=powerline
|
||||||
else
|
else
|
||||||
ask_quotes || continue
|
ask_arrow || continue
|
||||||
(( cap_quotes )) && POWERLEVEL9K_MODE=compatible || POWERLEVEL9K_MODE=ascii
|
(( cap_arrow )) && POWERLEVEL9K_MODE=compatible || POWERLEVEL9K_MODE=ascii
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
elif (( ! cap_diamond )); then
|
elif (( ! cap_diamond )); then
|
||||||
POWERLEVEL9K_MODE=awesome-fontconfig
|
POWERLEVEL9K_MODE=awesome-fontconfig
|
||||||
else
|
else
|
||||||
ask_arrow '\UF0737' || continue
|
ask_debian || continue
|
||||||
if (( cap_arrow )); then
|
if (( cap_debian )); then
|
||||||
ask_width || continue
|
|
||||||
fi
|
|
||||||
if (( cap_arrow )); then
|
|
||||||
POWERLEVEL9K_MODE=nerdfont-v3
|
|
||||||
else
|
|
||||||
ask_arrow '\uFC35' "Let's try another one." || continue
|
|
||||||
if (( cap_arrow )); then
|
|
||||||
POWERLEVEL9K_MODE=nerdfont-complete
|
POWERLEVEL9K_MODE=nerdfont-complete
|
||||||
else
|
else
|
||||||
POWERLEVEL9K_MODE=awesome-fontconfig
|
POWERLEVEL9K_MODE=awesome-fontconfig
|
||||||
|
@ -2158,7 +2022,6 @@ while true; do
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
POWERLEVEL9K_MODE=ascii
|
POWERLEVEL9K_MODE=ascii
|
||||||
fi
|
fi
|
||||||
|
@ -2227,12 +2090,12 @@ restore_screen
|
||||||
if (( !in_z4h_wizard )); then
|
if (( !in_z4h_wizard )); then
|
||||||
print
|
print
|
||||||
|
|
||||||
flowing +c New config: "%U${__p9k_cfg_path_u//\\/\\\\}%u."
|
flowing +c New config: "%B${__p9k_cfg_path_u//\\/\\\\}%b."
|
||||||
if [[ -n $config_backup ]]; then
|
if [[ -n $config_backup ]]; then
|
||||||
flowing +c Backup of the old config: "%U${config_backup_u//\\/\\\\}%u."
|
flowing +c Backup of the old config: "%B${config_backup_u//\\/\\\\}%b."
|
||||||
fi
|
fi
|
||||||
if [[ -n $zshrc_backup ]]; then
|
if [[ -n $zshrc_backup ]]; then
|
||||||
flowing +c Backup of "%U${__p9k_zshrc_u//\\/\\\\}%u:" "%U${zshrc_backup_u//\\/\\\\}%u."
|
flowing +c Backup of "%B${__p9k_zshrc_u//\\/\\\\}%b:" "%B${zshrc_backup_u//\\/\\\\}%b."
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -181,13 +181,7 @@ function _p9k_worker_start() {
|
||||||
setopt monitor || return
|
setopt monitor || return
|
||||||
{
|
{
|
||||||
[[ -n $_p9k__worker_resp_fd ]] && return
|
[[ -n $_p9k__worker_resp_fd ]] && return
|
||||||
|
_p9k__worker_file_prefix=${TMPDIR:-/tmp}/p10k.worker.$EUID.$sysparams[pid].$EPOCHSECONDS
|
||||||
if [[ -n "$TMPDIR" && ( ( -d "$TMPDIR" && -w "$TMPDIR" ) || ! ( -d /tmp && -w /tmp ) ) ]]; then
|
|
||||||
local tmpdir=$TMPDIR
|
|
||||||
else
|
|
||||||
local tmpdir=/tmp
|
|
||||||
fi
|
|
||||||
_p9k__worker_file_prefix=$tmpdir/p10k.worker.$EUID.$sysparams[pid].$EPOCHSECONDS
|
|
||||||
|
|
||||||
sysopen -r -o cloexec -u _p9k__worker_resp_fd <(
|
sysopen -r -o cloexec -u _p9k__worker_resp_fd <(
|
||||||
exec 0</dev/null
|
exec 0</dev/null
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue