1
0
Fork 0
mirror of https://github.com/romkatv/powerlevel10k.git synced 2024-11-22 12:20:07 +00:00

make the POWERLEVEL9K_DIR_HYPERLINKs actually open in WSL. Add a setting POWERLEVEL9K_WSL_NETWORK_DRIVE to specify the wsl root, as well as recognizing /mnt/? and />/

This commit is contained in:
Richard Ziegler 2021-05-04 00:54:27 -04:00
parent 9571fa1e75
commit db7b18c5d3
5 changed files with 39 additions and 1 deletions

View file

@ -275,6 +275,13 @@
# the full directory that was used in previous commands.
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
# If POWERLEVEL9K_DIR_HYPERLINK is true and using WSL, then set this to make the links work:
# You must also map this drive letter on the windows side:
# ```
# net use L: \\wsl$\Ubuntu-20.04 /persistent:yes
# ```
# typeset -g POWERLEVEL9K_WSL_NETWORK_DRIVE=L:
# Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
# and POWERLEVEL9K_DIR_CLASSES below.
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3

View file

@ -269,6 +269,13 @@
# the full directory that was used in previous commands.
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
# If POWERLEVEL9K_DIR_HYPERLINK is true and using WSL, then set this to make the links work:
# You must also map this drive letter on the windows side:
# ```
# net use L: \\wsl$\Ubuntu-20.04 /persistent:yes
# ```
# typeset -g POWERLEVEL9K_WSL_NETWORK_DRIVE=L:
# Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and
# POWERLEVEL9K_DIR_CLASSES below.
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2

View file

@ -269,6 +269,13 @@
# the full directory that was used in previous commands.
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
# If POWERLEVEL9K_DIR_HYPERLINK is true and using WSL, then set this to make the links work:
# You must also map this drive letter on the windows side:
# ```
# net use L: \\wsl$\Ubuntu-20.04 /persistent:yes
# ```
# typeset -g POWERLEVEL9K_WSL_NETWORK_DRIVE=L:
# Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
# and POWERLEVEL9K_DIR_CLASSES below.
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3

View file

@ -275,6 +275,13 @@
# the full directory that was used in previous commands.
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
# If POWERLEVEL9K_DIR_HYPERLINK is true and using WSL, then set this to make the links work:
# You must also map this drive letter on the windows side:
# ```
# net use L: \\wsl$\Ubuntu-20.04 /persistent:yes
# ```
# typeset -g POWERLEVEL9K_WSL_NETWORK_DRIVE=L:
# Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
# and POWERLEVEL9K_DIR_CLASSES below.
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3

View file

@ -2119,7 +2119,17 @@ prompt_dir() {
local content="${(pj.$sep.)parts}"
if (( _POWERLEVEL9K_DIR_HYPERLINK && _p9k_term_has_href )) && [[ $_p9k__cwd == /* ]]; then
_p9k_href $'file://'${${_p9k__cwd//\%/%%25}//'#'/%%23} $content $expand
local dirpath=${${_p9k__cwd//\%/%%25}//'#'/%%23}
if (( $+commands[wslpath] )); then
if [[ -n $_POWERLEVEL9K_WSL_NETWORK_DRIVE && $(wslpath -w ${_p9k__cwd}) == \\\\* ]]; then
dirpath=$_POWERLEVEL9K_WSL_NETWORK_DRIVE$dirpath
elif [[ $dirpath =~ '^(/(mnt/)*(.))/' ]]; then
dirpath=$match[3]:${dirpath:${#match[1]}}
fi
fi
_p9k_href $'file://'$dirpath $content $expand
content=$_p9k__ret
fi