Merge pull request #1442 from davidpfarrell/dirstack
Adds dirstack segment to powerline themespull/1444/head
commit
9b7b33d375
|
|
@ -10,6 +10,7 @@ A colorful multiline theme, where the first line shows information about your sh
|
||||||
* Current username and hostname
|
* Current username and hostname
|
||||||
* Current time
|
* Current time
|
||||||
* Current shell level
|
* Current shell level
|
||||||
|
* Current dirstack level (`pushd` / `popd`)
|
||||||
* An indicator when connected by SSH
|
* 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 `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
|
* 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
|
* `wd` - Working directory, like `cwd` but doesn't show the full folder
|
||||||
hierarchy, only the directory you're currently in.
|
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
|
* `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:
|
Two variables can be defined to set the order of the prompt segments:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}}
|
||||||
SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"}
|
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_LEFT_PROMPT=${POWERLINE_LEFT_PROMPT:="scm python_venv ruby node cwd"}
|
||||||
POWERLINE_RIGHT_PROMPT=${POWERLINE_RIGHT_PROMPT:="in_vim clock battery user_info"}
|
POWERLINE_RIGHT_PROMPT=${POWERLINE_RIGHT_PROMPT:="in_vim clock battery user_info"}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ A colorful theme, where shows a lot information about your shell session.
|
||||||
* Current username and hostname
|
* Current username and hostname
|
||||||
* Current time
|
* Current time
|
||||||
* Current shell level
|
* Current shell level
|
||||||
|
* Current dirstack level (`pushd` / `popd`)
|
||||||
* An indicator when connected by SSH
|
* 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 `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
|
* 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
|
* `wd` - Working directory, like `cwd` but doesn't show the full folder
|
||||||
hierarchy, only the directory you're currently in.
|
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
|
* `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:
|
A variable can be defined to set the order of the prompt segments:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}}
|
||||||
SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"}
|
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"}
|
POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}
|
||||||
|
|
||||||
safe_append_prompt_command __powerline_prompt_command
|
safe_append_prompt_command __powerline_prompt_command
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ A colorful theme, where shows a lot information about your shell session.
|
||||||
* Current username and hostname
|
* Current username and hostname
|
||||||
* Current time
|
* Current time
|
||||||
* Current shell level
|
* Current shell level
|
||||||
|
* Current dirstack level (`pushd` / `popd`)
|
||||||
* An indicator when connected by SSH
|
* 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 `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
|
* 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
|
* `wd` - Working directory, like `cwd` but doesn't show the full folder
|
||||||
hierarchy, only the directory you're currently in.
|
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
|
* `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:
|
A variable can be defined to set the order of the prompt segments:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}}
|
||||||
SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"}
|
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"}
|
POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}
|
||||||
|
|
||||||
safe_append_prompt_command __powerline_prompt_command
|
safe_append_prompt_command __powerline_prompt_command
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ A colorful theme, where shows a lot information about your shell session.
|
||||||
* Current username and hostname
|
* Current username and hostname
|
||||||
* Current time
|
* Current time
|
||||||
* Current shell level
|
* Current shell level
|
||||||
|
* Current dirstack level (`pushd` / `popd`)
|
||||||
* An indicator when connected by SSH
|
* 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 `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
|
* 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
|
* `wd` - Working directory, like `cwd` but doesn't show the full folder
|
||||||
hierarchy, only the directory you're currently in.
|
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
|
* `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:
|
A variable can be defined to set the order of the prompt segments:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -170,6 +170,17 @@ function __powerline_shlvl_prompt {
|
||||||
fi
|
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 {
|
function __powerline_left_segment {
|
||||||
local OLD_IFS="${IFS}"; IFS="|"
|
local OLD_IFS="${IFS}"; IFS="|"
|
||||||
local params=( $1 )
|
local params=( $1 )
|
||||||
|
|
|
||||||
|
|
@ -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_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}}
|
||||||
SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"}
|
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"}
|
POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}
|
||||||
|
|
||||||
safe_append_prompt_command __powerline_prompt_command
|
safe_append_prompt_command __powerline_prompt_command
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue