summaryrefslogtreecommitdiff
path: root/plugins/wd/wd.sh
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/wd.sh
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/wd.sh')
-rwxr-xr-xplugins/wd/wd.sh24
1 files changed, 22 insertions, 2 deletions
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