embed script has syntax highlight

This commit is contained in:
Balakrishnan Balasubramanian 2022-10-27 12:52:47 -04:00
parent 4849640ef1
commit 9eb422ba89
2 changed files with 10 additions and 11 deletions

View File

@ -1,13 +1,13 @@
vim9script vim9script
# Vim filetype plugin file # Vim filetype plugin file
# Language: confini # Language: logrotate
# #
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
finish finish
endif endif
b:did_ftplugin = 1 b:did_ftplugin = 1
def LogrotateHelp(msg: string = expand("<cword>")) def LogrotateHelp(word: string)
const searchcmd =<< trim END const searchcmd =<< trim END
COLUMNS=80 man logrotate 2>/dev/null | COLUMNS=80 man logrotate 2>/dev/null |
gawk '/^CONFIGURATION FILE DIRECTIVES/,/^SCRIPTS/' | gawk ' gawk '/^CONFIGURATION FILE DIRECTIVES/,/^SCRIPTS/' | gawk '
@ -20,13 +20,13 @@ def LogrotateHelp(msg: string = expand("<cword>"))
print(substr($0, 8)) print(substr($0, 8))
}' }'
END END
printf(join(searchcmd, "\n"), expand("<cword>")) printf(join(searchcmd, "\n"), word)
->systemlist() ->systemlist()
->popup_atcursor({ "padding": [0, 1, 1, 1] }) ->popup_atcursor({ "padding": [0, 1, 1, 1] })
enddef enddef
command -nargs=1 LogRt :call LogrotateHelp(<f-args>) command -nargs=1 LogRt :call LogrotateHelp(<f-args>)
b:undo_ftplugin = "setlocal commentstring< formatoptions< keywordprg<" b:undo_ftplugin = "setlocal comments< commentstring< formatoptions< keywordprg<"
setlocal commentstring=#\ %s formatoptions-=t formatoptions+=croql keywordprg=:LogRt setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql keywordprg=:LogRt

View File

@ -6,11 +6,10 @@ if exists("b:current_syntax")
finish finish
endif endif
syn region logRotateScript matchgroup=logRotateKeyword start="\s*\<firstaction\>" end="\<endscript\>" contains=NONE syn include @logRotateSh syntax/sh.vim
syn region logRotateScript matchgroup=logRotateKeyword start="\s*\<lastaction\>" end="\<endscript\>" contains=NONE unlet b:current_syntax
syn region logRotateScript matchgroup=logRotateKeyword start="\s*\<prerotate\>" end="\<endscript\>" contains=NONE
syn region logRotateScript matchgroup=logRotateKeyword start="\s*\<postrotate\>" end="\<endscript\>" contains=NONE syn region logRotateScript matchgroup=logRotateKeyword start="\s*\<\%(firstaction\|lastaction\|prerotate\|postrotate\|preremove\)\>" end="\<endscript\>" contains=@logRotateSh
syn region logRotateScript matchgroup=logRotateKeyword start="\s*\<preremove\>" end="\<endscript\>" contains=NONE
runtime! syntax/conf.vim runtime! syntax/conf.vim
@ -40,6 +39,6 @@ hi def link logRotateKeyword Keyword
" hi def link logRotateComment Comment " hi def link logRotateComment Comment
" hi def link logRotateTodo Todo " hi def link logRotateTodo Todo
hi def link logRotateScript Function " hi def link logRotateScript Function
let b:current_syntax = 'logrotate' let b:current_syntax = 'logrotate'