rc doc: Don't spawn processes unecessarily

This commit is contained in:
Frank LENORMAND 2021-09-16 11:47:44 +03:00
parent ab1704ce10
commit 1815a352f6

View File

@ -136,29 +136,30 @@ define-command -params 1 -hidden doc-render %{
define-command -params 0..2 \ define-command -params 0..2 \
-shell-script-candidates %{ -shell-script-candidates %{
if [ "$kak_token_to_complete" -eq 0 ]; then case "$kak_token_to_complete" in
find -L \ 0)
"${kak_config}/autoload/" \
"${kak_runtime}/doc/" \
"${kak_runtime}/rc/" \
-type f -name "*.asciidoc" 2>/dev/null |
sed 's,.*/,,; s/\.[^.]*$//'
elif [ "$kak_token_to_complete" -eq 1 ]; then
page=$(
find -L \ find -L \
"${kak_config}/autoload/" \ "${kak_config}/autoload/" \
"${kak_runtime}/doc/" \ "${kak_runtime}/doc/" \
"${kak_runtime}/rc/" \ "${kak_runtime}/rc/" \
-type f -name "$1.asciidoc" 2>/dev/null | -type f -name "*.asciidoc" 2>/dev/null |
head -1 sed 's,.*/,,; s/\.[^.]*$//';;
) 1)
if [ -f "${page}" ]; then page=$(
awk ' find -L \
/^==+ +/ { sub(/^==+ +/, ""); print } "${kak_config}/autoload/" \
/^\[\[[^\]]+\]\]/ { sub(/^\[\[/, ""); sub(/\]\].*/, ""); print } "${kak_runtime}/doc/" \
' < $page | tr '[A-Z ]' '[a-z-]' "${kak_runtime}/rc/" \
fi -type f -name "$1.asciidoc" 2>/dev/null |
fi head -1
)
if [ -f "${page}" ]; then
awk '
/^==+ +/ { sub(/^==+ +/, ""); print }
/^\[\[[^\]]+\]\]/ { sub(/^\[\[/, ""); sub(/\]\].*/, ""); print }
' < $page | tr '[A-Z ]' '[a-z-]'
fi;;
esac
} \ } \
doc -docstring %{ doc -docstring %{
doc <topic> [<keyword>]: open a buffer containing documentation about a given topic doc <topic> [<keyword>]: open a buffer containing documentation about a given topic