mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-25 13:30:07 +00:00
Merge branch 'next' into newline-count
This commit is contained in:
commit
203d0839f7
6 changed files with 163 additions and 9 deletions
|
@ -321,7 +321,7 @@ main theme distribution so that everyone can use it!
|
||||||
|
|
||||||
The `context` segment (user@host string) is conditional. By default, it will
|
The `context` segment (user@host string) is conditional. By default, it will
|
||||||
only print if you are not your 'normal' user (including if you are root), or if
|
only print if you are not your 'normal' user (including if you are root), or if
|
||||||
you are SSH'd to a remote host.
|
you are SSH'd to a remote host. `SUDO` and `REMOTE_SUDO` states are also available to show whether the current user or remote user has superuser privileges.
|
||||||
|
|
||||||
To use this feature, make sure the `context` segment is enabled in your prompt
|
To use this feature, make sure the `context` segment is enabled in your prompt
|
||||||
elements (it is by default), and define a `DEFAULT_USER` in your `~/.zshrc`.
|
elements (it is by default), and define a `DEFAULT_USER` in your `~/.zshrc`.
|
||||||
|
@ -384,6 +384,7 @@ Customizations available are:
|
||||||
| Strategy Name | Description |
|
| Strategy Name | Description |
|
||||||
|---------------|-------------|
|
|---------------|-------------|
|
||||||
|Default|Truncate whole directories from left. How many is defined by `POWERLEVEL9K_SHORTEN_DIR_LENGTH`|
|
|Default|Truncate whole directories from left. How many is defined by `POWERLEVEL9K_SHORTEN_DIR_LENGTH`|
|
||||||
|
|`truncate_absolute_chars`|Truncates an absolute number of characters from the left such that the number of characters that your path displays (with or without `POWERLEVEL9K_SHORTEN_DELIMITER`) is no more than `POWERLEVEL9K_SHORTEN_DIR_LENGTH` + the length of `POWERLEVEL9K_SHORTEN_DELIMITER` |
|
||||||
|`truncate_middle`|Truncates the middle part of a folder. E.g. you are in a folder named `~/MySuperProjects/AwesomeFiles/BoringOffice`, then it will truncated to `~/MyS..cts/Awe..les/BoringOffice`, if `POWERLEVEL9K_SHORTEN_DIR_LENGTH=3` is also set (controls the amount of characters to be left).|
|
|`truncate_middle`|Truncates the middle part of a folder. E.g. you are in a folder named `~/MySuperProjects/AwesomeFiles/BoringOffice`, then it will truncated to `~/MyS..cts/Awe..les/BoringOffice`, if `POWERLEVEL9K_SHORTEN_DIR_LENGTH=3` is also set (controls the amount of characters to be left).|
|
||||||
|`truncate_from_right`|Just leaves the beginning of a folder name untouched. E.g. your folders will be truncated like so: "/ro../Pr../office". How many characters will be untouched is controlled by `POWERLEVEL9K_SHORTEN_DIR_LENGTH`.|
|
|`truncate_from_right`|Just leaves the beginning of a folder name untouched. E.g. your folders will be truncated like so: "/ro../Pr../office". How many characters will be untouched is controlled by `POWERLEVEL9K_SHORTEN_DIR_LENGTH`.|
|
||||||
|`truncate_with_package_name`|Search for a `package.json` or `composer.json` and prints the `name` field to abbreviate the directory path. The precedence and/or files could be set by `POWERLEVEL9K_DIR_PACKAGE_FILES=(package.json composer.json)`. If you have [jq](https://stedolan.github.io/jq/) installed, it will dramatically improve the speed of this strategy.|
|
|`truncate_with_package_name`|Search for a `package.json` or `composer.json` and prints the `name` field to abbreviate the directory path. The precedence and/or files could be set by `POWERLEVEL9K_DIR_PACKAGE_FILES=(package.json composer.json)`. If you have [jq](https://stedolan.github.io/jq/) installed, it will dramatically improve the speed of this strategy.|
|
||||||
|
@ -589,6 +590,7 @@ You can also override the icons by setting:
|
||||||
```
|
```
|
||||||
POWERLEVEL9K_USER_ICON="\uF415" #
|
POWERLEVEL9K_USER_ICON="\uF415" #
|
||||||
POWERLEVEL9K_ROOT_ICON="#"
|
POWERLEVEL9K_ROOT_ICON="#"
|
||||||
|
POWERLEVEL9K_SUDO_ICON=$'\uF09C' #
|
||||||
```
|
```
|
||||||
|
|
||||||
| Variable | Default Value | Description |
|
| Variable | Default Value | Description |
|
||||||
|
@ -612,6 +614,7 @@ customization is provided via:
|
||||||
|`POWERLEVEL9K_VCS_GIT_HOOKS`|`(vcs-detect-changes git-untracked git-aheadbehind git-stash git-remotebranch git-tagname)`|Layout of the segment for git repositories.|
|
|`POWERLEVEL9K_VCS_GIT_HOOKS`|`(vcs-detect-changes git-untracked git-aheadbehind git-stash git-remotebranch git-tagname)`|Layout of the segment for git repositories.|
|
||||||
|`POWERLEVEL9K_VCS_HG_HOOKS`|`(vcs-detect-changes)`|Layout of the segment for Mercurial repositories.|
|
|`POWERLEVEL9K_VCS_HG_HOOKS`|`(vcs-detect-changes)`|Layout of the segment for Mercurial repositories.|
|
||||||
|`POWERLEVEL9K_VCS_SVN_HOOKS`|`(vcs-detect-changes svn-detect-changes)`|Layout of the segment for SVN repositories.|
|
|`POWERLEVEL9K_VCS_SVN_HOOKS`|`(vcs-detect-changes svn-detect-changes)`|Layout of the segment for SVN repositories.|
|
||||||
|
|`POWERLEVEL9K_VCS_ACTIONFORMAT_FOREGROUND`|`red`|The color of the foreground font during actions (e.g., `REBASE`).|
|
||||||
|
|
||||||
|
|
||||||
##### vcs symbols
|
##### vcs symbols
|
||||||
|
@ -647,6 +650,8 @@ you are using the [ZSH Line Editor](http://zsh.sourceforge.net/Doc/Release/Zsh-L
|
||||||
|`POWERLEVEL9K_VI_INSERT_MODE_STRING`|`"INSERT"`|String to display while in 'Insert' mode.|
|
|`POWERLEVEL9K_VI_INSERT_MODE_STRING`|`"INSERT"`|String to display while in 'Insert' mode.|
|
||||||
|`POWERLEVEL9K_VI_COMMAND_MODE_STRING`|`"NORMAL"`|String to display while in 'Command' mode.|
|
|`POWERLEVEL9K_VI_COMMAND_MODE_STRING`|`"NORMAL"`|String to display while in 'Command' mode.|
|
||||||
|
|
||||||
|
To hide the segment entirely when in `INSERT` mode, set `POWERLEVEL9K_VI_INSERT_MODE_STRING=''`
|
||||||
|
|
||||||
#### Unit Test Ratios
|
#### Unit Test Ratios
|
||||||
|
|
||||||
The `symfony2_tests` and `rspec_stats` segments both show a ratio of "real"
|
The `symfony2_tests` and `rspec_stats` segments both show a ratio of "real"
|
||||||
|
|
0
functions/colors.zsh
Normal file → Executable file
0
functions/colors.zsh
Normal file → Executable file
70
functions/icons.zsh
Normal file → Executable file
70
functions/icons.zsh
Normal file → Executable file
|
@ -27,6 +27,7 @@ case $POWERLEVEL9K_MODE in
|
||||||
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
||||||
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
||||||
ROOT_ICON $'\uE801' #
|
ROOT_ICON $'\uE801' #
|
||||||
|
SUDO_ICON $'\uF09C' #
|
||||||
RUBY_ICON $'\uE847 ' #
|
RUBY_ICON $'\uE847 ' #
|
||||||
AWS_ICON $'\uE895' #
|
AWS_ICON $'\uE895' #
|
||||||
AWS_EB_ICON $'\U1F331 ' # 🌱
|
AWS_EB_ICON $'\U1F331 ' # 🌱
|
||||||
|
@ -47,6 +48,19 @@ case $POWERLEVEL9K_MODE in
|
||||||
FREEBSD_ICON $'\U1F608 ' # 😈
|
FREEBSD_ICON $'\U1F608 ' # 😈
|
||||||
ANDROID_ICON $'\uE270' #
|
ANDROID_ICON $'\uE270' #
|
||||||
LINUX_ICON $'\uE271' #
|
LINUX_ICON $'\uE271' #
|
||||||
|
LINUX_ARCH_ICON 'Arc'
|
||||||
|
LINUX_DEBIAN_ICON 'Deb'
|
||||||
|
LINUX_UBUNTU_ICON 'Ubu'
|
||||||
|
LINUX_CENTOS_ICON 'Cen'
|
||||||
|
LINUX_COREOS_ICON 'Cor'
|
||||||
|
LINUX_ELEMENTARY_ICON 'Elm'
|
||||||
|
LINUX_MINT_ICON 'LMi'
|
||||||
|
LINUX_FEDORA_ICON 'Fed'
|
||||||
|
LINUX_GENTOO_ICON 'Gen'
|
||||||
|
LINUX_MAGEIA_ICON 'Mag'
|
||||||
|
LINUX_OPENSUSE_ICON 'OSu'
|
||||||
|
LINUX_SABAYON_ICON 'Sab'
|
||||||
|
LINUX_SLACKWARE_ICON 'Sla'
|
||||||
SUNOS_ICON $'\U1F31E ' # 🌞
|
SUNOS_ICON $'\U1F31E ' # 🌞
|
||||||
HOME_ICON $'\uE12C' #
|
HOME_ICON $'\uE12C' #
|
||||||
HOME_SUB_ICON $'\uE18D' #
|
HOME_SUB_ICON $'\uE18D' #
|
||||||
|
@ -105,6 +119,7 @@ case $POWERLEVEL9K_MODE in
|
||||||
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
||||||
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
||||||
ROOT_ICON $'\uF201' #
|
ROOT_ICON $'\uF201' #
|
||||||
|
SUDO_ICON $'\uF09C' #
|
||||||
RUBY_ICON $'\uF219 ' #
|
RUBY_ICON $'\uF219 ' #
|
||||||
AWS_ICON $'\uF270' #
|
AWS_ICON $'\uF270' #
|
||||||
AWS_EB_ICON $'\U1F331 ' # 🌱
|
AWS_EB_ICON $'\U1F331 ' # 🌱
|
||||||
|
@ -125,6 +140,19 @@ case $POWERLEVEL9K_MODE in
|
||||||
FREEBSD_ICON $'\U1F608 ' # 😈
|
FREEBSD_ICON $'\U1F608 ' # 😈
|
||||||
ANDROID_ICON $'\uE17B' #
|
ANDROID_ICON $'\uE17B' #
|
||||||
LINUX_ICON $'\uF17C' #
|
LINUX_ICON $'\uF17C' #
|
||||||
|
LINUX_ARCH_ICON 'Arc'
|
||||||
|
LINUX_DEBIAN_ICON 'Deb'
|
||||||
|
LINUX_UBUNTU_ICON 'Ubu'
|
||||||
|
LINUX_CENTOS_ICON 'Cen'
|
||||||
|
LINUX_COREOS_ICON 'Cor'
|
||||||
|
LINUX_ELEMENTARY_ICON 'Elm'
|
||||||
|
LINUX_MINT_ICON 'LMi'
|
||||||
|
LINUX_FEDORA_ICON 'Fed'
|
||||||
|
LINUX_GENTOO_ICON 'Gen'
|
||||||
|
LINUX_MAGEIA_ICON 'Mag'
|
||||||
|
LINUX_OPENSUSE_ICON 'OSu'
|
||||||
|
LINUX_SABAYON_ICON 'Sab'
|
||||||
|
LINUX_SLACKWARE_ICON 'Sla'
|
||||||
SUNOS_ICON $'\uF185 ' #
|
SUNOS_ICON $'\uF185 ' #
|
||||||
HOME_ICON $'\uF015' #
|
HOME_ICON $'\uF015' #
|
||||||
HOME_SUB_ICON $'\uF07C' #
|
HOME_SUB_ICON $'\uF07C' #
|
||||||
|
@ -188,6 +216,7 @@ case $POWERLEVEL9K_MODE in
|
||||||
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
||||||
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
||||||
ROOT_ICON '\u'$CODEPOINT_OF_OCTICONS_ZAP #
|
ROOT_ICON '\u'$CODEPOINT_OF_OCTICONS_ZAP #
|
||||||
|
SUDO_ICON '\u'$CODEPOINT_OF_AWESOME_UNLOCK #
|
||||||
RUBY_ICON '\u'$CODEPOINT_OF_OCTICONS_RUBY' ' #
|
RUBY_ICON '\u'$CODEPOINT_OF_OCTICONS_RUBY' ' #
|
||||||
AWS_ICON '\u'$CODEPOINT_OF_AWESOME_SERVER #
|
AWS_ICON '\u'$CODEPOINT_OF_AWESOME_SERVER #
|
||||||
AWS_EB_ICON $'\U1F331 ' # 🌱
|
AWS_EB_ICON $'\U1F331 ' # 🌱
|
||||||
|
@ -205,6 +234,19 @@ case $POWERLEVEL9K_MODE in
|
||||||
APPLE_ICON '\u'$CODEPOINT_OF_AWESOME_APPLE #
|
APPLE_ICON '\u'$CODEPOINT_OF_AWESOME_APPLE #
|
||||||
FREEBSD_ICON $'\U1F608 ' # 😈
|
FREEBSD_ICON $'\U1F608 ' # 😈
|
||||||
LINUX_ICON '\u'$CODEPOINT_OF_AWESOME_LINUX #
|
LINUX_ICON '\u'$CODEPOINT_OF_AWESOME_LINUX #
|
||||||
|
LINUX_ARCH_ICON 'Arc'
|
||||||
|
LINUX_DEBIAN_ICON 'Deb'
|
||||||
|
LINUX_UBUNTU_ICON 'Ubu'
|
||||||
|
LINUX_CENTOS_ICON 'Cen'
|
||||||
|
LINUX_COREOS_ICON 'Cor'
|
||||||
|
LINUX_ELEMENTARY_ICON 'Elm'
|
||||||
|
LINUX_MINT_ICON 'LMi'
|
||||||
|
LINUX_FEDORA_ICON 'Fed'
|
||||||
|
LINUX_GENTOO_ICON 'Gen'
|
||||||
|
LINUX_MAGEIA_ICON 'Mag'
|
||||||
|
LINUX_OPENSUSE_ICON 'OSu'
|
||||||
|
LINUX_SABAYON_ICON 'Sab'
|
||||||
|
LINUX_SLACKWARE_ICON 'Sla'
|
||||||
SUNOS_ICON '\u'$CODEPOINT_OF_AWESOME_SUN_O' ' #
|
SUNOS_ICON '\u'$CODEPOINT_OF_AWESOME_SUN_O' ' #
|
||||||
HOME_ICON '\u'$CODEPOINT_OF_AWESOME_HOME #
|
HOME_ICON '\u'$CODEPOINT_OF_AWESOME_HOME #
|
||||||
HOME_SUB_ICON '\u'$CODEPOINT_OF_AWESOME_FOLDER_OPEN #
|
HOME_SUB_ICON '\u'$CODEPOINT_OF_AWESOME_FOLDER_OPEN #
|
||||||
|
@ -259,6 +301,7 @@ case $POWERLEVEL9K_MODE in
|
||||||
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
||||||
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
||||||
ROOT_ICON $'\uE614 ' #
|
ROOT_ICON $'\uE614 ' #
|
||||||
|
SUDO_ICON $'\uF09C' #
|
||||||
RUBY_ICON $'\uF219 ' #
|
RUBY_ICON $'\uF219 ' #
|
||||||
AWS_ICON $'\uF270' #
|
AWS_ICON $'\uF270' #
|
||||||
AWS_EB_ICON $'\UF1BD ' #
|
AWS_EB_ICON $'\UF1BD ' #
|
||||||
|
@ -278,6 +321,19 @@ case $POWERLEVEL9K_MODE in
|
||||||
WINDOWS_ICON $'\uF17A' #
|
WINDOWS_ICON $'\uF17A' #
|
||||||
FREEBSD_ICON $'\UF30E ' #
|
FREEBSD_ICON $'\UF30E ' #
|
||||||
ANDROID_ICON $'\uF17B' #
|
ANDROID_ICON $'\uF17B' #
|
||||||
|
LINUX_ARCH_ICON $'\uF300' #
|
||||||
|
LINUX_DEBIAN_ICON $'\uF302' #
|
||||||
|
LINUX_UBUNTU_ICON $'\uF30C' #
|
||||||
|
LINUX_CENTOS_ICON $'\uF301' #
|
||||||
|
LINUX_COREOS_ICON $'\uF30F' #
|
||||||
|
LINUX_ELEMENTARY_ICON $'\uF311' #
|
||||||
|
LINUX_FEDORA_ICON $'\uF303' #
|
||||||
|
LINUX_GENTOO_ICON $'\uF310' #
|
||||||
|
LINUX_MINT_ICON $'\uF304' #
|
||||||
|
LINUX_MAGEIA_ICON $'\uF306' #
|
||||||
|
LINUX_OPENSUSE_ICON $'\uF308' #
|
||||||
|
LINUX_SABAYON_ICON $'\uF313' #
|
||||||
|
LINUX_SLACKWARE_ICON $'\uF30A' #
|
||||||
LINUX_ICON $'\uF17C' #
|
LINUX_ICON $'\uF17C' #
|
||||||
SUNOS_ICON $'\uF185 ' #
|
SUNOS_ICON $'\uF185 ' #
|
||||||
HOME_ICON $'\uF015' #
|
HOME_ICON $'\uF015' #
|
||||||
|
@ -333,6 +389,7 @@ case $POWERLEVEL9K_MODE in
|
||||||
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
RIGHT_SUBSEGMENT_SEPARATOR $'\uE0B3' #
|
||||||
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
CARRIAGE_RETURN_ICON $'\u21B5' # ↵
|
||||||
ROOT_ICON $'\u26A1' # ⚡
|
ROOT_ICON $'\u26A1' # ⚡
|
||||||
|
SUDO_ICON $'\uE0A2' #
|
||||||
RUBY_ICON ''
|
RUBY_ICON ''
|
||||||
AWS_ICON 'AWS:'
|
AWS_ICON 'AWS:'
|
||||||
AWS_EB_ICON $'\U1F331 ' # 🌱
|
AWS_EB_ICON $'\U1F331 ' # 🌱
|
||||||
|
@ -353,6 +410,19 @@ case $POWERLEVEL9K_MODE in
|
||||||
FREEBSD_ICON 'BSD'
|
FREEBSD_ICON 'BSD'
|
||||||
ANDROID_ICON 'And'
|
ANDROID_ICON 'And'
|
||||||
LINUX_ICON 'Lx'
|
LINUX_ICON 'Lx'
|
||||||
|
LINUX_ARCH_ICON 'Arc'
|
||||||
|
LINUX_DEBIAN_ICON 'Deb'
|
||||||
|
LINUX_UBUNTU_ICON 'Ubu'
|
||||||
|
LINUX_CENTOS_ICON 'Cen'
|
||||||
|
LINUX_COREOS_ICON 'Cor'
|
||||||
|
LINUX_ELEMENTARY_ICON 'Elm'
|
||||||
|
LINUX_MINT_ICON 'LMi'
|
||||||
|
LINUX_FEDORA_ICON 'Fed'
|
||||||
|
LINUX_GENTOO_ICON 'Gen'
|
||||||
|
LINUX_MAGEIA_ICON 'Mag'
|
||||||
|
LINUX_OPENSUSE_ICON 'OSu'
|
||||||
|
LINUX_SABAYON_ICON 'Sab'
|
||||||
|
LINUX_SLACKWARE_ICON 'Sla'
|
||||||
SUNOS_ICON 'Sun'
|
SUNOS_ICON 'Sun'
|
||||||
HOME_ICON ''
|
HOME_ICON ''
|
||||||
HOME_SUB_ICON ''
|
HOME_SUB_ICON ''
|
||||||
|
|
45
functions/utilities.zsh
Normal file → Executable file
45
functions/utilities.zsh
Normal file → Executable file
|
@ -102,8 +102,53 @@ case $(uname) in
|
||||||
OS_ICON=$(print_icon 'FREEBSD_ICON')
|
OS_ICON=$(print_icon 'FREEBSD_ICON')
|
||||||
;;
|
;;
|
||||||
Linux)
|
Linux)
|
||||||
|
OS='Linux'
|
||||||
|
os_release_id="$(grep -E '^ID=([a-zA-Z]*)' /etc/os-release | cut -d '=' -f 2)"
|
||||||
|
case "$os_release_id" in
|
||||||
|
"arch")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_ARCH_ICON')
|
||||||
|
;;
|
||||||
|
"debian")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_DEBIAN_ICON')
|
||||||
|
;;
|
||||||
|
"ubuntu")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_UBUNTU_ICON')
|
||||||
|
;;
|
||||||
|
"elementary")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_ELEMENTARY_ICON')
|
||||||
|
;;
|
||||||
|
"fedora")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_FEDORA_ICON')
|
||||||
|
;;
|
||||||
|
"coreos")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_COREOS_ICON')
|
||||||
|
;;
|
||||||
|
"gentoo")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_GENTOO_ICON')
|
||||||
|
;;
|
||||||
|
"mageia")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_MAGEIA_ICON')
|
||||||
|
;;
|
||||||
|
"centos")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_CENTOS_ICON')
|
||||||
|
;;
|
||||||
|
"opensuse"|"tumbleweed")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_OPENSUSE_ICON')
|
||||||
|
;;
|
||||||
|
"sabayon")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_SABAYON_ICON')
|
||||||
|
;;
|
||||||
|
"slackware")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_SLACKWARE_ICON')
|
||||||
|
;;
|
||||||
|
"linuxmint")
|
||||||
|
OS_ICON=$(print_icon 'LINUX_MINT_ICON')
|
||||||
|
;;
|
||||||
|
*)
|
||||||
OS='Linux'
|
OS='Linux'
|
||||||
OS_ICON=$(print_icon 'LINUX_ICON')
|
OS_ICON=$(print_icon 'LINUX_ICON')
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Check if we're running on Android
|
# Check if we're running on Android
|
||||||
case $(uname -o 2>/dev/null) in
|
case $(uname -o 2>/dev/null) in
|
||||||
|
|
0
functions/vcs.zsh
Normal file → Executable file
0
functions/vcs.zsh
Normal file → Executable file
|
@ -590,8 +590,10 @@ prompt_context() {
|
||||||
typeset -AH context_states
|
typeset -AH context_states
|
||||||
context_states=(
|
context_states=(
|
||||||
"ROOT" "yellow"
|
"ROOT" "yellow"
|
||||||
|
"SUDO" "yellow"
|
||||||
"DEFAULT" "yellow"
|
"DEFAULT" "yellow"
|
||||||
"REMOTE" "yellow"
|
"REMOTE" "yellow"
|
||||||
|
"REMOTE_SUDO" "yellow"
|
||||||
)
|
)
|
||||||
|
|
||||||
local content=""
|
local content=""
|
||||||
|
@ -607,8 +609,14 @@ prompt_context() {
|
||||||
if [[ $(print -P "%#") == '#' ]]; then
|
if [[ $(print -P "%#") == '#' ]]; then
|
||||||
current_state="ROOT"
|
current_state="ROOT"
|
||||||
elif [[ -n "$SSH_CLIENT" || -n "$SSH_TTY" ]]; then
|
elif [[ -n "$SSH_CLIENT" || -n "$SSH_TTY" ]]; then
|
||||||
|
if sudo -n true 2>/dev/null; then
|
||||||
|
current_state="REMOTE_SUDO"
|
||||||
|
else
|
||||||
current_state="REMOTE"
|
current_state="REMOTE"
|
||||||
fi
|
fi
|
||||||
|
elif sudo -n true 2>/dev/null; then
|
||||||
|
current_state="SUDO"
|
||||||
|
fi
|
||||||
|
|
||||||
"$1_prompt_segment" "${0}_${current_state}" "$2" "$DEFAULT_COLOR" "${context_states[$current_state]}" "${content}"
|
"$1_prompt_segment" "${0}_${current_state}" "$2" "$DEFAULT_COLOR" "${context_states[$current_state]}" "${content}"
|
||||||
}
|
}
|
||||||
|
@ -629,6 +637,14 @@ prompt_user() {
|
||||||
"FOREGROUND_COLOR" "yellow"
|
"FOREGROUND_COLOR" "yellow"
|
||||||
"VISUAL_IDENTIFIER" "ROOT_ICON"
|
"VISUAL_IDENTIFIER" "ROOT_ICON"
|
||||||
)
|
)
|
||||||
|
elif sudo -n true 2>/dev/null; then
|
||||||
|
user_state=(
|
||||||
|
"STATE" "SUDO"
|
||||||
|
"CONTENT" "${POWERLEVEL9K_USER_TEMPLATE}"
|
||||||
|
"BACKGROUND_COLOR" "${DEFAULT_COLOR}"
|
||||||
|
"FOREGROUND_COLOR" "yellow"
|
||||||
|
"VISUAL_IDENTIFIER" "SUDO_ICON"
|
||||||
|
)
|
||||||
else
|
else
|
||||||
user_state=(
|
user_state=(
|
||||||
"STATE" "DEFAULT"
|
"STATE" "DEFAULT"
|
||||||
|
@ -728,6 +744,11 @@ prompt_dir() {
|
||||||
set_default POWERLEVEL9K_SHORTEN_DELIMITER $'\U2026'
|
set_default POWERLEVEL9K_SHORTEN_DELIMITER $'\U2026'
|
||||||
|
|
||||||
case "$POWERLEVEL9K_SHORTEN_STRATEGY" in
|
case "$POWERLEVEL9K_SHORTEN_STRATEGY" in
|
||||||
|
truncate_absolute_chars)
|
||||||
|
if [ ${#current_path} -gt $(( $POWERLEVEL9K_SHORTEN_DIR_LENGTH + ${#POWERLEVEL9K_SHORTEN_DELIMITER} )) ]; then
|
||||||
|
current_path=$POWERLEVEL9K_SHORTEN_DELIMITER${current_path:(-POWERLEVEL9K_SHORTEN_DIR_LENGTH)}
|
||||||
|
fi
|
||||||
|
;;
|
||||||
truncate_middle)
|
truncate_middle)
|
||||||
current_path=$(echo "$current_path" | sed $SED_EXTENDED_REGEX_PARAMETER "s/([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})[^/]+([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})\//\1$POWERLEVEL9K_SHORTEN_DELIMITER\2\//g")
|
current_path=$(echo "$current_path" | sed $SED_EXTENDED_REGEX_PARAMETER "s/([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})[^/]+([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})\//\1$POWERLEVEL9K_SHORTEN_DELIMITER\2\//g")
|
||||||
;;
|
;;
|
||||||
|
@ -1023,9 +1044,9 @@ prompt_load() {
|
||||||
# Replace comma
|
# Replace comma
|
||||||
load_avg=${load_avg//,/.}
|
load_avg=${load_avg//,/.}
|
||||||
|
|
||||||
if [[ "$load_avg" -gt $(bc -l <<< "${cores} * 0.7") ]]; then
|
if [[ "$load_avg" -gt $((${cores} * 0.7)) ]]; then
|
||||||
current_state="critical"
|
current_state="critical"
|
||||||
elif [[ "$load_avg" -gt $(bc -l <<< "${cores} * 0.5") ]]; then
|
elif [[ "$load_avg" -gt $((${cores} * 0.5)) ]]; then
|
||||||
current_state="warning"
|
current_state="warning"
|
||||||
else
|
else
|
||||||
current_state="normal"
|
current_state="normal"
|
||||||
|
@ -1437,6 +1458,7 @@ prompt_vi_mode() {
|
||||||
"$1_prompt_segment" "$0_NORMAL" "$2" "$DEFAULT_COLOR" "default" "$POWERLEVEL9K_VI_COMMAND_MODE_STRING"
|
"$1_prompt_segment" "$0_NORMAL" "$2" "$DEFAULT_COLOR" "default" "$POWERLEVEL9K_VI_COMMAND_MODE_STRING"
|
||||||
;;
|
;;
|
||||||
main|viins|*)
|
main|viins|*)
|
||||||
|
if [[ -z $POWERLEVEL9K_VI_INSERT_MODE_STRING ]]; then return; fi
|
||||||
"$1_prompt_segment" "$0_INSERT" "$2" "$DEFAULT_COLOR" "blue" "$POWERLEVEL9K_VI_INSERT_MODE_STRING"
|
"$1_prompt_segment" "$0_INSERT" "$2" "$DEFAULT_COLOR" "blue" "$POWERLEVEL9K_VI_INSERT_MODE_STRING"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -1623,15 +1645,25 @@ $(print_icon 'MULTILINE_LAST_PROMPT_PREFIX')'
|
||||||
|
|
||||||
NEWLINE='
|
NEWLINE='
|
||||||
'
|
'
|
||||||
|
|
||||||
if [[ $POWERLEVEL9K_PROMPT_ADD_NEWLINE == true ]]; then
|
if [[ $POWERLEVEL9K_PROMPT_ADD_NEWLINE == true ]]; then
|
||||||
NEWLINES=""
|
NEWLINES=""
|
||||||
repeat ${POWERLEVEL9K_PROMPT_ADD_NEWLINE_COUNT:-1} { NEWLINES+=$NEWLINE }
|
repeat ${POWERLEVEL9K_PROMPT_ADD_NEWLINE_COUNT:-1} { NEWLINES+=$NEWLINE }
|
||||||
PROMPT="$NEWLINES$PROMPT"
|
PROMPT="$NEWLINES$PROMPT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Allow iTerm integration to work
|
||||||
|
[[ $ITERM_SHELL_INTEGRATION_INSTALLED == "Yes" ]] && PROMPT="%{$(iterm2_prompt_mark)%}$PROMPT"
|
||||||
|
}
|
||||||
|
|
||||||
|
zle-keymap-select () {
|
||||||
|
zle reset-prompt
|
||||||
|
zle -R
|
||||||
}
|
}
|
||||||
|
|
||||||
set_default POWERLEVEL9K_IGNORE_TERM_COLORS false
|
set_default POWERLEVEL9K_IGNORE_TERM_COLORS false
|
||||||
set_default POWERLEVEL9K_IGNORE_TERM_LANG false
|
set_default POWERLEVEL9K_IGNORE_TERM_LANG false
|
||||||
|
|
||||||
prompt_powerlevel9k_setup() {
|
prompt_powerlevel9k_setup() {
|
||||||
# The value below was set to better support 32-bit CPUs.
|
# The value below was set to better support 32-bit CPUs.
|
||||||
# It's the maximum _signed_ integer value on 32-bit CPUs.
|
# It's the maximum _signed_ integer value on 32-bit CPUs.
|
||||||
|
@ -1695,6 +1727,8 @@ prompt_powerlevel9k_setup() {
|
||||||
# prepare prompts
|
# prepare prompts
|
||||||
add-zsh-hook precmd powerlevel9k_prepare_prompts
|
add-zsh-hook precmd powerlevel9k_prepare_prompts
|
||||||
add-zsh-hook preexec powerlevel9k_preexec
|
add-zsh-hook preexec powerlevel9k_preexec
|
||||||
|
|
||||||
|
zle -N zle-keymap-select
|
||||||
}
|
}
|
||||||
|
|
||||||
prompt_powerlevel9k_teardown() {
|
prompt_powerlevel9k_teardown() {
|
||||||
|
|
Loading…
Reference in a new issue