From ccc7ff90a46d7b1bdcf61bae2dba20d68dca7654 Mon Sep 17 00:00:00 2001 From: Marc Chantreux Date: Thu, 11 Mar 2021 19:08:57 +0100 Subject: users/26579: changes from review including parameter expansion to replace awk --- ChangeLog | 3 +++ 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 + * 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 -- cgit 1.4.1