1
1
mirror of https://github.com/mawww/kakoune.git synced 2024-11-23 07:15:52 +03:00
kakoune/rc/man.kak

36 lines
1.0 KiB
Plaintext
Raw Normal View History

decl str docsclient
hook global WinSetOption filetype=man %{
addhl group man-highlight
addhl -group man-highlight regex ^\S.*?$ 0:blue
addhl -group man-highlight regex ^\h+-+[-a-zA-Z_]+ 0:yellow
addhl -group man-highlight regex [-a-zA-Z_.]+\(\d\) 0:green
hook window -id man-hooks NormalKey <c-m> man
set buffer tabstop 8
}
hook global WinSetOption filetype=(?!man).* %{
rmhl man-higlight
rmhooks window man-hooks
}
def -hidden -shell-params _man %{ %sh{
tmpfile=$(mktemp /tmp/kak-man-XXXXXX)
output=$(MANWIDTH=${kak_window_width} man "$@")
if [ $? -eq 0 ]; then
echo "${output}" | col -b > ${tmpfile}
echo "edit! -scratch '*man*'
exec |cat<space>${tmpfile}<ret>gk
nop %sh{rm ${tmpfile}}
set buffer filetype man"
else
2014-01-08 23:18:51 +04:00
echo "echo -color Error %{man '$@' failed: see *debug* buffer for details }"
rm ${tmpfile}
fi
} }
def -shell-params man %{ %sh{
[ -z "$@" ] && set -- "$kak_selection"
echo "eval -try-client %opt{docsclient} _man $@"
} }