]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(systemd): small fixes to &keywordprg in ftplugin
authorKonfekt <Konfekt@users.noreply.github.com>
Wed, 2 Oct 2024 17:28:44 +0000 (19:28 +0200)
committerChristian Brabandt <cb@256bit.org>
Wed, 2 Oct 2024 17:28:44 +0000 (19:28 +0200)
closes: #15784

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/ftplugin/systemd.vim

index 44e70bc224718abf33d6a28b687e048987db8eab..1b1d242029a7da9d930f9f4e8399afc86d7eca00 100644 (file)
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:                    systemd.unit(5)
 " Keyword Lookup Support:      Enno Nagel <enno.nagel+vim@gmail.com>
-" Latest Revision:             2024-09-19 (simplify keywordprg #15696)
+" Latest Revision:             2024-10-02 (small fixes to &keywordprg)
 
 if exists("b:did_ftplugin")
   finish
@@ -10,20 +10,20 @@ endif
 runtime! ftplugin/dosini.vim
 
 if has('unix') && executable('less') && exists(':terminal') == 2
-  command -buffer -nargs=1 SystemdKeywordPrg silent exe 'term ' . KeywordLookup_systemd(<q-args>)
+  command! -buffer -nargs=1 SystemdKeywordPrg silent exe 'term ++close ' KeywordLookup_systemd(<q-args>)
   silent! function KeywordLookup_systemd(keyword) abort
     let matches = matchlist(getline(search('\v^\s*\[\s*.+\s*\]\s*$', 'nbWz')), '\v^\s*\[\s*(\k+).*\]\s*$')
     if len(matches) > 1
       let section = matches[1]
-      return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd.' . section
+      return 'env LESS= MANPAGER="less --pattern=''(^|,)\\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd.' . section
     else
-      return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd'
+      return 'env LESS= MANPAGER="less --pattern=''(^|,)\\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd'
     endif
   endfunction
   setlocal iskeyword+=-
   setlocal keywordprg=:SystemdKeywordPrg
   if !exists('b:undo_ftplugin') || empty(b:undo_ftplugin)
-    let b:undo_ftplugin = 'setlocal keywordprg< iskeyword<'
+    let b:undo_ftplugin = 'setlocal keywordprg< iskeyword< | sil! delc -buffer SystemdKeywordPrg'
   else
     let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SystemdKeywordPrg'
   endif