diff options
author | Marc Chantreux <eiro@phear.org> | 2021-03-11 19:08:57 +0100 |
---|---|---|
committer | Oliver Kiddle <opk@zsh.org> | 2021-04-06 14:42:07 +0200 |
commit | ccc7ff90a46d7b1bdcf61bae2dba20d68dca7654 (patch) | |
tree | 669077d17ffd5bd7400a1f13908ff4efabea5e77 | |
parent | 2c000ee7bab65f950fd4bec2077332d90ef5417a (diff) | |
download | zsh-ccc7ff90a46d7b1bdcf61bae2dba20d68dca7654.tar.gz zsh-ccc7ff90a46d7b1bdcf61bae2dba20d68dca7654.tar.xz zsh-ccc7ff90a46d7b1bdcf61bae2dba20d68dca7654.zip |
users/26579: changes from review including parameter expansion to replace awk
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Completion/Unix/Command/_surfraw | 30 |
2 files changed, 20 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog index 51a54d5e1..d2b58a0f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2021-04-06 Oliver Kiddle <opk@zsh.org> + * Marc Chantreux: users/26579: Completion/Unix/Command/_surfraw: + changes from review including parameter expansion to replace awk + * 48414: Completion/Unix/Type/_bpf_filters: quote closing bracket to adapt for change in 43928 diff --git a/Completion/Unix/Command/_surfraw b/Completion/Unix/Command/_surfraw index 343d275cc..4838f1e58 100644 --- a/Completion/Unix/Command/_surfraw +++ b/Completion/Unix/Command/_surfraw @@ -430,19 +430,23 @@ case $state in esac ;; elvi) - local -UT XDG_CONFIG_DIRS xcd - # as it starts with a space, the header becomes an empty - # string removed by the list expansion - _wanted elvi expl elvi compadd \ - ${${(f)"$(surfraw -elvi)"}%%[[:space:]]*} $( - # extract the keys of all bookmarks (should be in surfraw itself) - awk '{keys[$1]=1} END {for (k in keys) print k}' \ - $^xcd/surfraw/bookmarks(Nr) \ - /etc/xdg/surfraw/bookmarks(Nr) \ - /etc/surfraw.bookmarks(Nr) \ - ${XDG_CONFIG_HOME-${HOME?homeless}/.config}/surfraw/bookmarks(Nr) \ - ${HOME?homeless}/.surfraw.bookmarks(Nr) - ) && ret=0 + local -UT XDG_CONFIG_DIRS xdg_config_dirs + local it + # list the applets + set -- ${${(f)"$(_call_program elvi surfraw -elvi)"}%%[[:space:]]##-- *} + shift # the first line is an header: remove it + # then list the bookmarks + for it in \ + $^xdg_config_dirs/surfraw/bookmarks(Nr) \ + /etc/xdg/surfraw/bookmarks(Nr) \ + /etc/surfraw.bookmarks(Nr) \ + ${XDG_CONFIG_HOME-$HOME/.config}/surfraw/bookmarks(Nr) \ + $HOME/.surfraw.bookmarks(Nr) + do + read -d'\0' it < $it + set -- "$@" ${${(f)it}%%[[:space:]]*} + done + _wanted elvi expl elvi compadd "$@" && ret=0 ;; esac |