AutoYADM commit: 2025-05-21 03:03:07

This commit is contained in:
Daniel Fichtinger 2025-05-21 03:03:07 -04:00
parent ec6e7d142a
commit 7c524d8e20
2 changed files with 116 additions and 111 deletions

View file

@ -37,9 +37,14 @@ hook global WinSetOption filetype=man %{
remove-highlighter window/show-whitespaces
ui-wrap-disable
}
define-command mantest %{
execute-keys %sh{
result=$((kak_window_height / 2 - 1))
notify-send 'this'
printf '%d%s' "$result" 'j'
}
}
hook window User manpageloaded %{
mantest
}
}

View file

@ -1,5 +1,5 @@
declare-option -docstring "name of the client in which documentation is to be displayed" \
str docsclient
str docsclient
declare-option -hidden str-list manpage
@ -27,7 +27,8 @@ hook global WinSetOption filetype=man %{
hook -once -always window WinSetOption filetype=.* %{ remove-hooks window man-hooks }
}
define-command -hidden -params ..3 man-impl %{ evaluate-commands %sh{
define-command -hidden -params ..3 man-impl %{
evaluate-commands %sh{
buffer_name="$1"
if [ -z "${buffer_name}" ]; then
exit
@ -59,21 +60,23 @@ define-command -hidden -params ..3 man-impl %{ evaluate-commands %sh{
nop %%sh{ rm "%s"; rm "%s" }
' "$(cat "$manerr")" "${colout}" "${manerr}"
fi
} }
}
trigger-user-hook manpageloaded
}
# MAN COMMAND
# TODO: REMOVE number lines and show whitespace highlighters!
define-command -params ..1 \
-shell-script-candidates %{
-shell-script-candidates %{
find /usr/share/man/ $(printf %s "${MANPATH}" |
sed 's/:/ /') -name '*.[1-8]*' |
sed 's,^.*/\(.*\)\.\([1-8][a-zA-Z]*\).*$,\1(\2),'
} \
-docstring %{
} \
-docstring %{
man [<page>]: manpage viewer wrapper
If no argument is passed to the command, the selection will be used as page
The page can be a word, or a word directly followed by a section number between parenthesis, e.g. kak(1)
} man %{ evaluate-commands %sh{
} man %{ evaluate-commands %sh{
subject=${1-$kak_selection}
## The completion suggestions display the page number, strip them if present
@ -91,8 +94,6 @@ define-command -params ..1 \
printf %s\\n "evaluate-commands -try-client %opt{docsclient} man-impl man $pagenum $subject"
} }
# The following section of code enables a user
# to go to next or previous man page links and to follow man page links,
# for example, apropos(1), that would normally appear in SEE ALSO sections.
@ -102,12 +103,12 @@ define-command -params ..1 \
# Regex pattern defining a man page link.
# Used for determining if a selection, which may just be a link, is a link.
declare-option -hidden regex man_link1 \
[\w_.:-]+\(\d[a-z]*\)
[\w_.:-]+\(\d[a-z]*\)
# Same as above but with lookbehind and lookahead patterns.
# Used for searching for a man page link.
declare-option -hidden regex man_link2 \
"(?:^|(?<=\W))%opt{man_link1}(?=\W)"
"(?:^|(?<=\W))%opt{man_link1}(?=\W)"
# Define a useful command sequence for searching a given regex
# and a given sequence of search keys.
@ -139,4 +140,3 @@ map global man 'g' -docstring 'Jump to a man page using selected man page link'
map global man 'j' -docstring 'Go to next man page link' :man-link-next<ret>
map global man 'k' -docstring 'Go to previous man page link' :man-link-prev<ret>
map global man 'm' -docstring 'Look up a man page' :man<space>