diff --git a/.github/dependencies.yml b/.github/dependencies.yml index 23168b91a..b67a4c7ed 100644 --- a/.github/dependencies.yml +++ b/.github/dependencies.yml @@ -30,7 +30,7 @@ dependencies: plugins/wd: repo: mfaerevaag/wd branch: master - version: tag:v0.10.0 + version: tag:v0.10.1 precopy: | set -e rm -r test diff --git a/plugins/wd/README.md b/plugins/wd/README.md index b345d65f5..1240afe57 100644 --- a/plugins/wd/README.md +++ b/plugins/wd/README.md @@ -65,12 +65,9 @@ Add the following to your `home.nix` then run `home-manager switch`: programs.zsh.plugins = [ { name = "wd"; - src = pkgs.fetchFromGitHub { - owner = "mfaerevaag"; - repo = "wd"; - rev = "v0.5.2"; - sha256 = "sha256-4yJ1qhqhNULbQmt6Z9G22gURfDLe30uV1ascbzqgdhg="; - }; + src = pkgs.zsh-wd; + file = "share/wd/wd.plugin.zsh"; + completions = [ "share/zsh/site-functions" ]; } ]; ``` diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh index f7a22ff7d..56c029252 100755 --- a/plugins/wd/wd.sh +++ b/plugins/wd/wd.sh @@ -8,7 +8,7 @@ # @github.com/mfaerevaag/wd # version -readonly WD_VERSION=0.10.0 +readonly WD_VERSION=0.10.1 # colors readonly WD_BLUE="\033[96m" @@ -174,6 +174,11 @@ wd_add() point=$(basename "$PWD") fi + if [ ! -w "$wd_config_file" ]; then + wd_exit_fail "\'$wd_config_file\' is not writeable." + return + fi + if [[ $point =~ "^[\.]+$" ]] then wd_exit_fail "Warp point cannot be just dots" @@ -239,6 +244,11 @@ wd_remove() point_list=$(basename "$PWD") fi + if [ ! -w "$wd_config_file" ]; then + wd_exit_fail "\'$wd_config_file\' is not writeable." + return + fi + for point_name in $point_list ; do if [[ ${points[$point_name]} != "" ]] then @@ -440,6 +450,11 @@ wd_clean() { local count=0 local wd_tmp="" + if [ ! -w "$wd_config_file" ]; then + wd_exit_fail "\'$wd_config_file\' is not writeable." + return + fi + while read -r line do if [[ $line != "" ]] @@ -543,14 +558,6 @@ args=$(getopt -o a:r:c:lhs -l add:,rm:,clean,list,ls:,open:,path:,help,show -- $ if [[ ($? -ne 0 || $#* -eq 0) && -z $wd_print_version ]] then wd_print_usage - -# check if config file is writeable -elif [ ! -w "$wd_config_file" ] -then - # do nothing - # can't run `exit`, as this would exit the executing shell - wd_exit_fail "\'$wd_config_file\' is not writeable." - else # parse rest of options local wd_o