From 44913a1f16424f21b5989a0dd7d2c95d02047cec Mon Sep 17 00:00:00 2001 From: "ohmyzsh[bot]" <54982679+ohmyzsh[bot]@users.noreply.github.com> Date: Sun, 27 Apr 2025 10:25:02 +0200 Subject: [PATCH] feat(wd): update to v0.10.0 (#13093) Co-authored-by: ohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com> --- .github/dependencies.yml | 2 +- plugins/wd/_wd.sh | 4 ++++ plugins/wd/wd.sh | 24 ++++++++++++++++++++++-- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/.github/dependencies.yml b/.github/dependencies.yml index 46e7727b8..70f3d03da 100644 --- a/.github/dependencies.yml +++ b/.github/dependencies.yml @@ -30,7 +30,7 @@ dependencies: plugins/wd: repo: mfaerevaag/wd branch: master - version: tag:v0.9.3 + version: tag:v0.10.0 precopy: | set -e rm -r test 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 Show files from given warp point (ls) + open Open the warp point in the default file explorer (open / xdg-open) path 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