160cce2fbSBram Moolenaar" Vim filetype plugin file 260cce2fbSBram Moolenaar" Language: systemd.unit(5) 3*2c7f8c57SBram Moolenaar" Keyword Lookup Support: Enno Nagel <enno.nagel[email protected]> 460cce2fbSBram Moolenaar 560cce2fbSBram Moolenaarif !exists('b:did_ftplugin') 660cce2fbSBram Moolenaar " Looks a lot like dosini files. 760cce2fbSBram Moolenaar runtime! ftplugin/dosini.vim 860cce2fbSBram Moolenaarendif 9*2c7f8c57SBram Moolenaar 10*2c7f8c57SBram Moolenaarif !has('unix') 11*2c7f8c57SBram Moolenaar finish 12*2c7f8c57SBram Moolenaarendif 13*2c7f8c57SBram Moolenaar 14*2c7f8c57SBram Moolenaarif !has('gui_running') 15*2c7f8c57SBram Moolenaar command! -buffer -nargs=1 Sman silent exe '!' . KeywordLookup_systemd(<q-args>) | redraw! 16*2c7f8c57SBram Moolenaarelseif has('terminal') 17*2c7f8c57SBram Moolenaar command! -buffer -nargs=1 Sman silent exe 'term ' . KeywordLookup_systemd(<q-args>) 18*2c7f8c57SBram Moolenaarelse 19*2c7f8c57SBram Moolenaar finish 20*2c7f8c57SBram Moolenaarendif 21*2c7f8c57SBram Moolenaar 22*2c7f8c57SBram Moolenaarif !exists('*KeywordLookup_systemd') 23*2c7f8c57SBram Moolenaar function KeywordLookup_systemd(keyword) abort 24*2c7f8c57SBram Moolenaar let matches = matchlist(getline(search('\v^\s*\[\s*.+\s*\]\s*$', 'nbWz')), '\v^\s*\[\s*(\k+).*\]\s*$') 25*2c7f8c57SBram Moolenaar if len(matches) > 1 26*2c7f8c57SBram Moolenaar let section = matches[1] 27*2c7f8c57SBram Moolenaar return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd.' . section 28*2c7f8c57SBram Moolenaar else 29*2c7f8c57SBram Moolenaar return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd' 30*2c7f8c57SBram Moolenaar endif 31*2c7f8c57SBram Moolenaar endfunction 32*2c7f8c57SBram Moolenaarendif 33*2c7f8c57SBram Moolenaar 34*2c7f8c57SBram Moolenaarsetlocal iskeyword+=- 35*2c7f8c57SBram Moolenaarsetlocal keywordprg=:Sman 36*2c7f8c57SBram Moolenaar 37*2c7f8c57SBram Moolenaarif !exists('b:undo_ftplugin') || empty(b:undo_ftplugin) 38*2c7f8c57SBram Moolenaar let b:undo_ftplugin = 'setlocal keywordprg< iskeyword<' 39*2c7f8c57SBram Moolenaarelse 40*2c7f8c57SBram Moolenaar let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<' 41*2c7f8c57SBram Moolenaarendif 42