Use complete-command for the :doc command
This commit is contained in:
parent
d1bfc5ecdc
commit
e43c7d6aba
|
@ -134,34 +134,7 @@ define-command -params 1 -hidden doc-render %{
|
|||
map buffer normal <ret> :doc-follow-link<ret>
|
||||
}
|
||||
|
||||
define-command -params 0..2 \
|
||||
-shell-script-candidates %{
|
||||
case "$kak_token_to_complete" in
|
||||
0)
|
||||
find -L \
|
||||
"${kak_config}/autoload/" \
|
||||
"${kak_runtime}/doc/" \
|
||||
"${kak_runtime}/rc/" \
|
||||
-type f -name "*.asciidoc" 2>/dev/null |
|
||||
sed 's,.*/,,; s/\.[^.]*$//';;
|
||||
1)
|
||||
page=$(
|
||||
find -L \
|
||||
"${kak_config}/autoload/" \
|
||||
"${kak_runtime}/doc/" \
|
||||
"${kak_runtime}/rc/" \
|
||||
-type f -name "$1.asciidoc" 2>/dev/null |
|
||||
head -1
|
||||
)
|
||||
if [ -f "${page}" ]; then
|
||||
awk '
|
||||
/^==+ +/ { sub(/^==+ +/, ""); print }
|
||||
/^\[\[[^\]]+\]\]/ { sub(/^\[\[/, ""); sub(/\]\].*/, ""); print }
|
||||
' < $page | tr '[A-Z ]' '[a-z-]'
|
||||
fi;;
|
||||
esac
|
||||
} -menu \
|
||||
doc -docstring %{
|
||||
define-command doc -params 0..2 -menu -docstring %{
|
||||
doc <topic> [<keyword>]: open a buffer containing documentation about a given topic
|
||||
An optional keyword argument can be passed to the function, which will be automatically selected in the documentation
|
||||
|
||||
|
@ -192,4 +165,31 @@ define-command -params 0..2 \
|
|||
}
|
||||
}
|
||||
|
||||
complete-command doc shell-script-candidates %{
|
||||
case "$kak_token_to_complete" in
|
||||
0)
|
||||
find -L \
|
||||
"${kak_config}/autoload/" \
|
||||
"${kak_runtime}/doc/" \
|
||||
"${kak_runtime}/rc/" \
|
||||
-type f -name "*.asciidoc" 2>/dev/null |
|
||||
sed 's,.*/,,; s/\.[^.]*$//';;
|
||||
1)
|
||||
page=$(
|
||||
find -L \
|
||||
"${kak_config}/autoload/" \
|
||||
"${kak_runtime}/doc/" \
|
||||
"${kak_runtime}/rc/" \
|
||||
-type f -name "$1.asciidoc" 2>/dev/null |
|
||||
head -1
|
||||
)
|
||||
if [ -f "${page}" ]; then
|
||||
awk '
|
||||
/^==+ +/ { sub(/^==+ +/, ""); print }
|
||||
/^\[\[[^\]]+\]\]/ { sub(/^\[\[/, ""); sub(/\]\].*/, ""); print }
|
||||
' < $page | tr '[A-Z ]' '[a-z-]'
|
||||
fi;;
|
||||
esac
|
||||
}
|
||||
|
||||
alias global help doc
|
||||
|
|
Loading…
Reference in New Issue
Block a user