move function to autoload

This commit is contained in:
Balakrishnan Balasubramanian 2022-11-01 22:44:06 -04:00
parent 714801b466
commit 28a044cad4
2 changed files with 24 additions and 20 deletions

19
autoload/logrotate.vim Normal file
View File

@ -0,0 +1,19 @@
vim9script
export def LogrotateHelp(awkcmd: string, word: string)
const searchcmd =<< trim eval END
echo "<=== man logrotate ===>"
COLUMNS=80 man logrotate 2>/dev/null |
{awkcmd} '/^CONFIGURATION FILE DIRECTIVES/,/^SCRIPTS/' | {awkcmd} '
/^ {{7}}{word}/,false {{
if(firstLineDone && /^ {{0,7}}[^ ]/ && !/endscript/) exit
firstLineDone = 1
print(substr($0, 8))
}}'
END
searchcmd
->join("\n")
->systemlist()
->popup_atcursor({ "padding": [0, 1, 1, 1] })
enddef

View File

@ -14,28 +14,13 @@ var awkcmd: string
if exists("g:logrotate_awk")
awkcmd = g:logrotate_awk
else
# Have to use gawk, default awk (i.e. mawk) does not support {0,7} regex syntax
awkcmd = "gawk"
endif
# Have to use gawk, default awk (mawk) does not support {0,7} syntax
if awkcmd != "disable" && executable(awkcmd)
def LogrotateHelp(word: string)
const searchcmd =<< trim eval END
echo "<=== man logrotate ===>"
COLUMNS=80 man logrotate 2>/dev/null |
{awkcmd} '/^CONFIGURATION FILE DIRECTIVES/,/^SCRIPTS/' | {awkcmd} '
/^ {{7}}{word}/,false {{
if(firstLineDone && /^ {{0,7}}[^ ]/ && !/endscript/) exit
firstLineDone = 1
print(substr($0, 8))
}}'
END
searchcmd
->join("\n")
->systemlist()
->popup_atcursor({ "padding": [0, 1, 1, 1] })
enddef
command -nargs=1 LogRotateHelpCmd :call LogrotateHelp(<f-args>)
if awkcmd != "disable" && executable(awkcmd)
command -nargs=1 LogRotateHelpCmd :call g:logrotate#LogrotateHelp(awkcmd, <f-args>)
setlocal keywordprg=:LogRotateHelpCmd
b:undo_ftplugin = b:undo_ftplugin .. " keywordprg<"
endif