diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-12-02 09:38:42 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-12-02 09:38:42 +0000 |
| commit | 2a6f36732ddc273e090f084b12e4e0498c3bb889 (patch) | |
| tree | df8e93201632eba7970e2eeab6d7ec6cd2feae70 | |
| parent | 0c30df7a0c832a5968d62d26144edfddf8194b35 (diff) | |
| parent | d540b9f924d633d185cfc7b04b3f01c680361f24 (diff) | |
Merge remote-tracking branch 'lenormf/rc/man.kak'
| -rw-r--r-- | rc/man.kak | 16 |
1 files changed, 13 insertions, 3 deletions
@@ -38,13 +38,23 @@ def -params .. \ prefix=${1:0:${kak_pos_in_token}} for page in /usr/share/man/*/${prefix}*.[1-8]*; do candidate=$(basename ${page%%.[1-8]*}) + pagenum=$(sed -r 's,^.+/.+\.([1-8][^.]*)\..+$,\1,' <<< $page) case $candidate in *\*) ;; - *) echo $candidate ;; + *) echo $candidate\($pagenum\);; esac done } \ man -docstring "Manpages viewer wrapper" %{ %sh{ - [ -z "$@" ] && set -- "$kak_selection" - echo "eval -try-client %opt{docsclient} _man $@" + subject=${@-$kak_selection} + pagenum="" + + ## The completion suggestions display the page number, strip them if present + if [[ $subject =~ [a-zA-Z_-]+\([^\)]+\) ]]; then + pagenum=${subject##*\(} + pagenum=${pagenum:0:$((${#pagenum} - 1))} + subject=${subject%%\(*} + fi + + echo "eval -try-client %opt{docsclient} _man $pagenum $subject" } } |
