summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rwxr-xr-xinternal/icons.zsh5
-rwxr-xr-xinternal/p10k.zsh21
2 files changed, 24 insertions, 2 deletions
diff --git a/internal/icons.zsh b/internal/icons.zsh
index 918b0565..36e76fac 100755
--- a/internal/icons.zsh
+++ b/internal/icons.zsh
@@ -113,6 +113,7 @@ function _p9k_init_icons() {
RANGER_ICON '\u2B50' # ⭐
TERRAFORM_ICON '\U1F6E0\u00A0' # 🛠️
PROXY_ICON '\u2B82' # ⮂
+ DOTNET_ICON '.NET'
)
;;
'awesome-fontconfig')
@@ -213,6 +214,7 @@ function _p9k_init_icons() {
RANGER_ICON '\u2B50' # ⭐
TERRAFORM_ICON '\U1F6E0\u00A0' # 🛠️
PROXY_ICON '\u2B82' # ⮂
+ DOTNET_ICON '.NET'
)
;;
'awesome-mapped-fontconfig')
@@ -317,6 +319,7 @@ function _p9k_init_icons() {
RANGER_ICON '\u2B50' # ⭐
TERRAFORM_ICON '\U1F6E0\u00A0' # 🛠️
PROXY_ICON '\u2B82' # ⮂
+ DOTNET_ICON '.NET'
)
;;
'nerdfont-complete'|'nerdfont-fontconfig')
@@ -418,6 +421,7 @@ function _p9k_init_icons() {
RANGER_ICON '\u2B50' # ⭐
TERRAFORM_ICON '\U1F6E0\u00A0' # 🛠️
PROXY_ICON '\u2B82' # ⮂
+ DOTNET_ICON '\uE77F' # 
)
;;
*)
@@ -518,6 +522,7 @@ function _p9k_init_icons() {
RANGER_ICON '\u2B50' # ⭐
TERRAFORM_ICON '\U1F6E0\u00A0' # 🛠️
PROXY_ICON '\u2B82' # ⮂
+ DOTNET_ICON '.NET'
)
;;
esac
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