Merge pull request #1442 from davidpfarrell/dirstack

Adds dirstack segment to powerline themes
This commit is contained in:
Nils Winkler
2019-12-29 11:16:42 +01:00
committed by GitHub
9 changed files with 31 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ A colorful multiline theme, where the first line shows information about your sh
* Current username and hostname
* Current time
* Current shell level
* Current dirstack level (`pushd` / `popd`)
* An indicator when connected by SSH
* An indicator when `sudo` has the credentials cached (see the `sudo` manpage for more info about this)
* An indicator when the current shell is inside the Vim editor
@@ -67,6 +68,7 @@ The contents of both prompt sides can be "reordered", all the "segments" (every
* `wd` - Working directory, like `cwd` but doesn't show the full folder
hierarchy, only the directory you're currently in.
* `shlvl` - Show the current shell level (based on `SHLVL` environment variable), but only if you are not in root shell
* `dirstack` - Show the current dirstack level (based on `DIRSTACK` environment variable), but only if the stack is not empty
Two variables can be defined to set the order of the prompt segments:

View File

@@ -69,6 +69,9 @@ HOST_THEME_PROMPT_COLOR=${POWERLINE_HOST_COLOR:=0}
SHLVL_THEME_PROMPT_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}}
SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"}
DIRSTACK_THEME_PROMPT_COLOR=${POWERLINE_DIRSTACK_COLOR:=${CWD_THEME_PROMPT_COLOR}}
DIRSTACK_THEME_PROMPT_CHAR=${POWERLINE_DIRSTACK_CHAR:="←"}
POWERLINE_LEFT_PROMPT=${POWERLINE_LEFT_PROMPT:="scm python_venv ruby node cwd"}
POWERLINE_RIGHT_PROMPT=${POWERLINE_RIGHT_PROMPT:="in_vim clock battery user_info"}

View File

@@ -10,6 +10,7 @@ A colorful theme, where shows a lot information about your shell session.
* Current username and hostname
* Current time
* Current shell level
* Current dirstack level (`pushd` / `popd`)
* An indicator when connected by SSH
* An indicator when `sudo` has the credentials cached (see the `sudo` manpage for more info about this)
* An indicator when the current shell is inside the Vim editor
@@ -61,6 +62,7 @@ The contents of the prompt can be "reordered", all the "segments" (every piece o
* `wd` - Working directory, like `cwd` but doesn't show the full folder
hierarchy, only the directory you're currently in.
* `shlvl` - Show the current shell level (based on `SHLVL` environment variable), but only if you are not in root shell
* `dirstack` - Show the current dirstack level (based on `DIRSTACK` environment variable), but only if the stack is not empty
A variable can be defined to set the order of the prompt segments:

View File

@@ -63,6 +63,9 @@ HOST_THEME_PROMPT_COLOR=${POWERLINE_HOST_COLOR:=254}
SHLVL_THEME_PROMPT_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}}
SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"}
DIRSTACK_THEME_PROMPT_COLOR=${POWERLINE_DIRSTACK_COLOR:=${CWD_THEME_PROMPT_COLOR}}
DIRSTACK_THEME_PROMPT_CHAR=${POWERLINE_DIRSTACK_CHAR:="←"}
POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}
safe_append_prompt_command __powerline_prompt_command

View File

@@ -8,6 +8,7 @@ A colorful theme, where shows a lot information about your shell session.
* Current username and hostname
* Current time
* Current shell level
* Current dirstack level (`pushd` / `popd`)
* An indicator when connected by SSH
* An indicator when `sudo` has the credentials cached (see the `sudo` manpage for more info about this)
* An indicator when the current shell is inside the Vim editor
@@ -59,6 +60,7 @@ The contents of the prompt can be "reordered", all the "segments" (every piece o
* `wd` - Working directory, like `cwd` but doesn't show the full folder
hierarchy, only the directory you're currently in.
* `shlvl` - Show the current shell level (based on `SHLVL` environment variable), but only if you are not in root shell
* `dirstack` - Show the current dirstack level (based on `DIRSTACK` environment variable), but only if the stack is not empty
A variable can be defined to set the order of the prompt segments:

View File

@@ -60,6 +60,9 @@ HOST_THEME_PROMPT_COLOR=${POWERLINE_HOST_COLOR:=0}
SHLVL_THEME_PROMPT_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}}
SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"}
DIRSTACK_THEME_PROMPT_COLOR=${POWERLINE_DIRSTACK_COLOR:=${CWD_THEME_PROMPT_COLOR}}
DIRSTACK_THEME_PROMPT_CHAR=${POWERLINE_DIRSTACK_CHAR:="←"}
POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}
safe_append_prompt_command __powerline_prompt_command

View File

@@ -12,6 +12,7 @@ A colorful theme, where shows a lot information about your shell session.
* Current username and hostname
* Current time
* Current shell level
* Current dirstack level (`pushd` / `popd`)
* An indicator when connected by SSH
* An indicator when `sudo` has the credentials cached (see the `sudo` manpage for more info about this)
* An indicator when the current shell is inside the Vim editor
@@ -67,6 +68,7 @@ The contents of the prompt can be "reordered", all the "segments" (every piece o
* `wd` - Working directory, like `cwd` but doesn't show the full folder
hierarchy, only the directory you're currently in.
* `shlvl` - Show the current shell level (based on `SHLVL` environment variable), but only if you are not in root shell
* `dirstack` - Show the current dirstack level (based on `DIRSTACK` environment variable), but only if the stack is not empty
A variable can be defined to set the order of the prompt segments:

View File

@@ -170,6 +170,17 @@ function __powerline_shlvl_prompt {
fi
}
function __powerline_dirstack_prompt {
if [[ "${#DIRSTACK[@]}" -gt 1 ]]; then
local depth=$(( ${#DIRSTACK[@]} - 1 ))
local prompt="${DIRSTACK_THEME_PROMPT_CHAR}"
if [[ "${depth}" -ge 2 ]]; then
prompt+="${depth}"
fi
echo "${prompt}|${DIRSTACK_THEME_PROMPT_COLOR}"
fi
}
function __powerline_left_segment {
local OLD_IFS="${IFS}"; IFS="|"
local params=( $1 )

View File

@@ -64,6 +64,9 @@ HOST_THEME_PROMPT_COLOR=${POWERLINE_HOST_COLOR:=0}
SHLVL_THEME_PROMPT_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}}
SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"}
DIRSTACK_THEME_PROMPT_COLOR=${POWERLINE_DIRSTACK_COLOR:=${CWD_THEME_PROMPT_COLOR}}
DIRSTACK_THEME_PROMPT_CHAR=${POWERLINE_DIRSTACK_CHAR:="←"}
POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}
safe_append_prompt_command __powerline_prompt_command