Merge remote-tracking branch 'krobelus/show-completions-eagerly'

This commit is contained in:
Maxime Coste 2024-01-17 20:57:17 +11:00
commit f9fe191437
2 changed files with 11 additions and 6 deletions

View File

@ -16,16 +16,22 @@ define-command -params ..1 \
-shell-script-candidates %{
realpath() { ( cd "$(dirname "$1")"; printf "%s/%s\n" "$(pwd -P)" "$(basename "$1")" ) }
eval "set -- $kak_quoted_opt_ctagsfiles"
files=$(
for candidate in "$@"; do
[ -f "$candidate" ] && realpath "$candidate"
done | awk '!x[$0]++' | # remove duplicates
done |
awk '!x[$0]++; # remove duplicates
END { if (length(x) == 1) { exit 1; } }'
)
[ $? -eq 1 ] && sort=cat || sort=sort
printf %s\\n "$files" |
while read -r tags; do
namecache="${tags%/*}/.kak.${tags##*/}.namecache"
if [ -z "$(find "$namecache" -prune -newer "$tags")" ]; then
cut -f 1 "$tags" | grep -v '^!' | uniq > "$namecache"
fi
cat "$namecache"
done | sort } \
done | "$sort" } \
-docstring %{
ctags-search [<symbol>]: jump to a symbol's definition
If no symbol is passed then the current selection is used as symbol name

View File

@ -65,8 +65,7 @@ define-command -params ..1 \
-shell-script-candidates %{
find /usr/share/man/ $(printf %s "${MANPATH}" |
sed 's/:/ /') -name '*.[1-8]*' |
sed 's,^.*/\(.*\)\.\([1-8][a-zA-Z]*\).*$,\1(\2),' |
sort
sed 's,^.*/\(.*\)\.\([1-8][a-zA-Z]*\).*$,\1(\2),'
} \
-docstring %{
man [<page>]: manpage viewer wrapper