aboutsummaryrefslogtreecommitdiff
path: root/internal/p10k.zsh
diff options
context:
space:
mode:
authorromkatv <roman.perepelitsa@gmail.com>2019-09-24 11:17:54 +0300
committerromkatv <roman.perepelitsa@gmail.com>2019-09-24 11:19:11 +0300
commit4a4f7e1eef960881661276ab382f1bc5a5bb46a3 (patch)
tree7e55921493b2742e6c2c81ee2bafec030b1809ea /internal/p10k.zsh
parent5f08c5493f78f3dcacc3877d1b8064a58515c48c (diff)
new prompt segment: dotnet_version
To enable this segment: 1. Run `p10k configure`. 2. Open `~/.p10k.zsh` and search for `dotnet_version`. 3. Uncomment the first occurrence. Fixes #233.
Diffstat (limited to 'internal/p10k.zsh')
-rwxr-xr-xinternal/p10k.zsh21
1 files changed, 19 insertions, 2 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index bf016b1e..e6a75c15 100755
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -1627,7 +1627,7 @@ prompt_load() {
}
function _p9k_cached_cmd_stdout() {
- local cmd=$commands[$1]
+ local cmd=${commands[$1]:A}
[[ -n $cmd ]] || return
shift
local -H stat
@@ -1642,7 +1642,7 @@ function _p9k_cached_cmd_stdout() {
}
function _p9k_cached_cmd_stdout_stderr() {
- local cmd=$commands[$1]
+ local cmd=${commands[$1]:A}
[[ -n $cmd ]] || return
shift
local -H stat
@@ -1844,6 +1844,22 @@ prompt_nodenv() {
_p9k_prompt_segment "$0" "black" "green" 'NODE_ICON' 0 '' "${v//\%/%%}"
}
+prompt_dotnet_version() {
+ (( $+commands[dotnet] )) || return
+
+ if (( _POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY )); then
+ local dir=$_p9k_pwd
+ while true; do
+ [[ $dir == / ]] && return
+ [[ -n $dir/(project.json|global.json|packet.dependencies|*.csproj|*.fsproj|*.xproj|*.sln)(#qN^/) ]] && break
+ dir=${dir:h}
+ done
+ fi
+
+ _p9k_cached_cmd_stdout dotnet --version || return
+ _p9k_prompt_segment "$0" "magenta" "white" 'DOTNET_ICON' 0 '' "$_p9k_ret"
+}
+
################################################################
# Segment to print a little OS icon
prompt_os_icon() {
@@ -3821,6 +3837,7 @@ _p9k_init_params() {
_p9k_declare -i POWERLEVEL9K_LOAD_WHICH 5
_p9k_declare -b POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW 0
_p9k_declare -b POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY 0
+ _p9k_declare -b POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY 1
_p9k_declare -b POWERLEVEL9K_GO_VERSION_PROJECT_ONLY 1
_p9k_declare -b POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY 1
_p9k_declare -b POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW 0