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:
parent
9571fa1e75
commit
db7b18c5d3
5 changed files with 39 additions and 1 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue