mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-18 18:31:59 +00:00
feat(wd): update to version v0.6.1 (#12413)
Co-authored-by: ohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com>
This commit is contained in:
parent
0493eab8ce
commit
b1c5315a5f
4 changed files with 63 additions and 11 deletions
2
.github/dependencies.yml
vendored
2
.github/dependencies.yml
vendored
|
@ -39,7 +39,7 @@ dependencies:
|
||||||
plugins/wd:
|
plugins/wd:
|
||||||
repo: mfaerevaag/wd
|
repo: mfaerevaag/wd
|
||||||
branch: master
|
branch: master
|
||||||
version: tag:v0.6.0
|
version: tag:v0.6.1
|
||||||
precopy: |
|
precopy: |
|
||||||
set -e
|
set -e
|
||||||
rm -r test
|
rm -r test
|
||||||
|
|
|
@ -57,6 +57,24 @@ wd() {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### [Home Manager](https://github.com/nix-community/home-manager)
|
||||||
|
|
||||||
|
Add the following to your `home.nix` then run `home-manager switch`:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
programs.zsh.plugins = [
|
||||||
|
{
|
||||||
|
name = "wd";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "mfaerevaag";
|
||||||
|
repo = "wd";
|
||||||
|
rev = "v0.5.2";
|
||||||
|
sha256 = "sha256-4yJ1qhqhNULbQmt6Z9G22gURfDLe30uV1ascbzqgdhg=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
```
|
||||||
|
|
||||||
### [zplug](https://github.com/zplug/zplug)
|
### [zplug](https://github.com/zplug/zplug)
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
|
@ -119,6 +137,14 @@ Also, you may have to force a rebuild of `zcompdump` by running:
|
||||||
rm -f ~/.zcompdump; compinit
|
rm -f ~/.zcompdump; compinit
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Browse
|
||||||
|
|
||||||
|
If you want to make use of the `fzf`-powered browse feature to fuzzy search through all your warp points, set up a keybind in your `.zshrc`:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
bindkey '^G' wd_browse
|
||||||
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
* Add warp point to current working directory:
|
* Add warp point to current working directory:
|
||||||
|
|
|
@ -8,8 +8,13 @@
|
||||||
# @github.com/mfaerevaag/wd
|
# @github.com/mfaerevaag/wd
|
||||||
|
|
||||||
# Handle $0 according to the standard:
|
# Handle $0 according to the standard:
|
||||||
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
# # https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
||||||
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
||||||
0="${${(M)0:#/*}:-$PWD/$0}"
|
0="${${(M)0:#/*}:-$PWD/$0}"
|
||||||
|
|
||||||
eval "wd() { source '${0:A:h}/wd.sh' }"
|
eval "wd() { source '${0:A:h}/wd.sh' }"
|
||||||
|
wd > /dev/null
|
||||||
|
# Register the function as a Zsh widget
|
||||||
|
zle -N wd_browse
|
||||||
|
# Bind the widget to a key combination
|
||||||
|
bindkey '^G' wd_browse
|
||||||
|
|
37
plugins/wd/wd.sh
Normal file → Executable file
37
plugins/wd/wd.sh
Normal file → Executable file
|
@ -8,7 +8,7 @@
|
||||||
# @github.com/mfaerevaag/wd
|
# @github.com/mfaerevaag/wd
|
||||||
|
|
||||||
# version
|
# version
|
||||||
readonly WD_VERSION=0.5.0
|
readonly WD_VERSION=0.6.1
|
||||||
|
|
||||||
# colors
|
# colors
|
||||||
readonly WD_BLUE="\033[96m"
|
readonly WD_BLUE="\033[96m"
|
||||||
|
@ -57,12 +57,11 @@ wd_print_msg()
|
||||||
{
|
{
|
||||||
if [[ -z $wd_quiet_mode ]]
|
if [[ -z $wd_quiet_mode ]]
|
||||||
then
|
then
|
||||||
local color=$1
|
local color="${1:-$WD_BLUE}" # Default to blue if no color is provided
|
||||||
local msg=$2
|
local msg="$2"
|
||||||
|
|
||||||
if [[ $color == "" || $msg == "" ]]
|
if [[ -z "$msg" ]]; then
|
||||||
then
|
print "${WD_RED}*${WD_NOC} Could not print message. Sorry!"
|
||||||
print " ${WD_RED}*${WD_NOC} Could not print message. Sorry!"
|
|
||||||
else
|
else
|
||||||
print " ${color}*${WD_NOC} ${msg}"
|
print " ${color}*${WD_NOC} ${msg}"
|
||||||
fi
|
fi
|
||||||
|
@ -230,6 +229,20 @@ wd_remove()
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wd_browse() {
|
||||||
|
if ! command -v fzf >/dev/null; then
|
||||||
|
echo "This functionality requires fzf. Please install fzf first."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
local entries=("${(@f)$(sed "s:${HOME}:~:g" "$WD_CONFIG" | awk -F ':' '{print $1 " -> " $2}')}")
|
||||||
|
local selected_entry=$(printf '%s\n' "${entries[@]}" | fzf --height 40% --reverse)
|
||||||
|
if [[ -n $selected_entry ]]; then
|
||||||
|
local selected_point="${selected_entry%% ->*}"
|
||||||
|
selected_point=$(echo "$selected_point" | xargs)
|
||||||
|
wd $selected_point
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
wd_list_all()
|
wd_list_all()
|
||||||
{
|
{
|
||||||
wd_print_msg "$WD_BLUE" "All warp points:"
|
wd_print_msg "$WD_BLUE" "All warp points:"
|
||||||
|
@ -396,7 +409,9 @@ fi
|
||||||
# disable extendedglob for the complete wd execution time
|
# disable extendedglob for the complete wd execution time
|
||||||
setopt | grep -q extendedglob
|
setopt | grep -q extendedglob
|
||||||
wd_extglob_is_set=$?
|
wd_extglob_is_set=$?
|
||||||
(( ! $wd_extglob_is_set )) && setopt noextendedglob
|
if (( wd_extglob_is_set == 0 )); then
|
||||||
|
setopt noextendedglob
|
||||||
|
fi
|
||||||
|
|
||||||
# load warp points
|
# load warp points
|
||||||
typeset -A points
|
typeset -A points
|
||||||
|
@ -436,6 +451,10 @@ else
|
||||||
wd_add "$2" "$wd_force_mode"
|
wd_add "$2" "$wd_force_mode"
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
|
"-b"|"browse")
|
||||||
|
wd_browse
|
||||||
|
break
|
||||||
|
;;
|
||||||
"-e"|"export")
|
"-e"|"export")
|
||||||
wd_export_static_named_directories
|
wd_export_static_named_directories
|
||||||
break
|
break
|
||||||
|
@ -484,7 +503,9 @@ fi
|
||||||
# if not, next time warp will pick up variables from this run
|
# if not, next time warp will pick up variables from this run
|
||||||
# remember, there's no sub shell
|
# remember, there's no sub shell
|
||||||
|
|
||||||
(( ! $wd_extglob_is_set )) && setopt extendedglob
|
if (( wd_extglob_is_set == 0 )); then
|
||||||
|
setopt extendedglob
|
||||||
|
fi
|
||||||
|
|
||||||
unset wd_extglob_is_set
|
unset wd_extglob_is_set
|
||||||
unset wd_warp
|
unset wd_warp
|
||||||
|
|
Loading…
Reference in a new issue