summaryrefslogtreecommitdiff
path: root/plugins/wd
diff options
context:
space:
mode:
authorohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com>2025-04-27 10:25:02 +0200
committerGitHub <noreply@github.com>2025-04-27 10:25:02 +0200
commit44913a1f16424f21b5989a0dd7d2c95d02047cec (patch)
tree0a1b9c29f67c867d5a4f107ba9c472b881733eeb /plugins/wd
parent959b6cf5eed78f108dc6e0f46b53816f5168dd3a (diff)
downloadzsh-44913a1f16424f21b5989a0dd7d2c95d02047cec.tar.gz
zsh-44913a1f16424f21b5989a0dd7d2c95d02047cec.tar.bz2
zsh-44913a1f16424f21b5989a0dd7d2c95d02047cec.zip
feat(wd): update to v0.10.0 (#13093)
Co-authored-by: ohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com>
Diffstat (limited to 'plugins/wd')
-rw-r--r--plugins/wd/_wd.sh4
-rwxr-xr-xplugins/wd/wd.sh24
2 files changed, 26 insertions, 2 deletions
diff --git a/plugins/wd/_wd.sh b/plugins/wd/_wd.sh
index 46b032f78..7c416086d 100644
--- a/plugins/wd/_wd.sh
+++ b/plugins/wd/_wd.sh
@@ -37,6 +37,7 @@ function _wd() {
'rm:Removes the given warp point'
'list:Outputs all stored warp points'
'ls:Show files from given warp point'
+ 'open:Open warp point in the default file explorer'
'path:Show path to given warp point'
'show:Outputs all warp points that point to the current directory or shows a specific target directory for a point'
'help:Show this extremely helpful text'
@@ -73,6 +74,9 @@ function _wd() {
ls)
_describe -t points "Warp points" warp_points && ret=0
;;
+ open)
+ _describe -t points "Warp points" warp_points && ret=0
+ ;;
path)
_describe -t points "Warp points" warp_points && ret=0
;;
diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh
index f8b27828f..f7a22ff7d 100755
--- a/plugins/wd/wd.sh
+++ b/plugins/wd/wd.sh
@@ -8,7 +8,7 @@
# @github.com/mfaerevaag/wd
# version
-readonly WD_VERSION=0.9.3
+readonly WD_VERSION=0.10.0
# colors
readonly WD_BLUE="\033[96m"
@@ -86,6 +86,7 @@ Commands:
show Print warp points to current directory
list Print all stored warp points
ls <point> Show files from given warp point (ls)
+ open <point> Open the warp point in the default file explorer (open / xdg-open)
path <point> Show the path to given warp point (pwd)
clean Remove points warping to nonexistent directories (will prompt unless --force is used)
@@ -377,6 +378,21 @@ wd_ls()
ls "${dir/#\~/$HOME}"
}
+wd_open()
+{
+ wd_getdir "$1"
+ if command -v open >/dev/null 2>&1; then
+ # MacOS, Ubuntu (alias)
+ open "${dir/#\~/$HOME}"
+ elif command -v xdg-open >/dev/null 2>&1; then
+ # Most Linux desktops
+ xdg-open "${dir/#\~/$HOME}"
+ else
+ echo "No known file opener found (need 'open' or 'xdg-open')." >&2
+ exit 1
+ fi
+}
+
wd_path()
{
wd_getdir "$1"
@@ -521,7 +537,7 @@ do
done < "$wd_config_file"
# get opts
-args=$(getopt -o a:r:c:lhs -l add:,rm:,clean,list,ls:,path:,help,show -- $*)
+args=$(getopt -o a:r:c:lhs -l add:,rm:,clean,list,ls:,open:,path:,help,show -- $*)
# check if no arguments were given, and that version is not set
if [[ ($? -ne 0 || $#* -eq 0) && -z $wd_print_version ]]
@@ -571,6 +587,10 @@ else
wd_ls "$2"
break
;;
+ "-o"|"--open"|"open")
+ wd_open "$2"
+ break
+ ;;
"-p"|"--path"|"path")
wd_path "$2"
break