Mercurial > vim
changeset 36166:89b487b08b2a
runtime(misc): simplify keywordprg in various ftplugins
Commit: https://github.com/vim/vim/commit/f86568f91848ece0c5da2178881b3ed858dae799
Author: Konfekt <Konfekt@users.noreply.github.com>
Date: Thu Sep 19 19:34:40 2024 +0200
runtime(misc): simplify keywordprg in various ftplugins
closes: https://github.com/vim/vim/issues/15696
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 19 Sep 2024 19:45:03 +0200 |
parents | d67898b33d92 |
children | 9d1ff79eebbb |
files | runtime/ftplugin/gpg.vim runtime/ftplugin/modconf.vim runtime/ftplugin/muttrc.vim runtime/ftplugin/ps1.vim runtime/ftplugin/readline.vim runtime/ftplugin/sh.vim runtime/ftplugin/sshconfig.vim runtime/ftplugin/sudoers.vim runtime/ftplugin/systemd.vim runtime/ftplugin/udevrules.vim runtime/ftplugin/zsh.vim |
diffstat | 11 files changed, 86 insertions(+), 152 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/ftplugin/gpg.vim +++ b/runtime/ftplugin/gpg.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: gpg(1) configuration file " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2023-10-07 +" Latest Revision: 2024-09-19 (simplify keywordprg #15696) if exists("b:did_ftplugin") finish @@ -15,20 +15,12 @@ let b:undo_ftplugin = "setl com< cms< fo setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql -if has('unix') && executable('less') - if !has('gui_running') - command -buffer -nargs=1 GpgKeywordPrg - \ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s+--' . <q-args> . '\b'' --hilite-search" man ' . 'gpg' | - \ redraw! - elseif has('terminal') - command -buffer -nargs=1 GpgKeywordPrg - \ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+--' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'gpg' - endif - if exists(':GpgKeywordPrg') == 2 - setlocal iskeyword+=- - setlocal keywordprg=:GpgKeywordPrg - let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer GpgKeywordPrg' - endif +if has('unix') && executable('less') && exists(':terminal') == 2 + command -buffer -nargs=1 GpgKeywordPrg + \ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+--' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'gpg' + setlocal iskeyword+=- + setlocal keywordprg=:GpgKeywordPrg + let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer GpgKeywordPrg' endif let &cpo = s:cpo_save
--- a/runtime/ftplugin/modconf.vim +++ b/runtime/ftplugin/modconf.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: modules.conf(5) configuration file " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2023-10-07 +" Latest Revision: 2024-09-19 (simplify keywordprg #15696) if exists("b:did_ftplugin") finish @@ -16,20 +16,13 @@ let b:undo_ftplugin = "setl com< cms< in setlocal comments=:# commentstring=#\ %s include=^\\s*include setlocal formatoptions-=t formatoptions+=croql -if has('unix') && executable('less') - if !has('gui_running') - command -buffer -nargs=1 ModconfKeywordPrg - \ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s{,8}' . <q-args> . '\b'' --hilite-search" man ' . 'modprobe.d' | - \ redraw! - elseif has('terminal') - command -buffer -nargs=1 ModconfKeywordPrg - \ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'modprobe.d' - endif - if exists(':ModconfKeywordPrg') == 2 - setlocal iskeyword+=- - setlocal keywordprg=:ModconfKeywordPrg - let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer ModconfKeywordPrg' - endif +if has('unix') && executable('less') && exists(':terminal') == 2 + command -buffer -nargs=1 ModconfKeywordPrg + \ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'modprobe.d' + setlocal iskeyword+=- + setlocal keywordprg=:ModconfKeywordPrg + let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer ModconfKeywordPrg' +endif endif let &cpo = s:cpo_save
--- a/runtime/ftplugin/muttrc.vim +++ b/runtime/ftplugin/muttrc.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: mutt RC File " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2023-10-07 +" Latest Revision: 2024-09-19 (simplify keywordprg #15696) if exists("b:did_ftplugin") finish @@ -18,20 +18,12 @@ setlocal formatoptions-=t formatoptions+ let &l:include = '^\s*source\>' -if has('unix') && executable('less') - if !has('gui_running') - command -buffer -nargs=1 MuttrcKeywordPrg - \ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s+' . <q-args> . '\b'' --hilite-search" man ' . 'muttrc' | - \ redraw! - elseif has('terminal') - command -buffer -nargs=1 MuttrcKeywordPrg - \ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'muttrc' - endif - if exists(':MuttrcKeywordPrg') == 2 - setlocal iskeyword+=- - setlocal keywordprg=:MuttrcKeywordPrg - let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer MuttrcKeywordPrg' - endif +if has('unix') && executable('less') && exists(':terminal') == 2 + command -buffer -nargs=1 MuttrcKeywordPrg + \ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'muttrc' + setlocal iskeyword+=- + setlocal keywordprg=:MuttrcKeywordPrg + let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer MuttrcKeywordPrg' endif let &cpo = s:cpo_save
--- a/runtime/ftplugin/ps1.vim +++ b/runtime/ftplugin/ps1.vim @@ -4,6 +4,7 @@ " Last Change: 2021 Apr 02 " 2024 Jan 14 by Vim Project (browsefilter) " 2024 May 23 by Riley Bruins <ribru17@gmail.com> ('commentstring') +" 2024 Sep 19 by Konfekt (simplify keywordprg #15696) " Only do this when not done yet for this buffer if exists("b:did_ftplugin") | finish | endif @@ -35,6 +36,10 @@ if (has("gui_win32") || has("gui_gtk")) endif endif +" Undo the stuff we changed +let b:undo_ftplugin = "setlocal tw< cms< fo< iskeyword<" . + \ " | unlet! b:browsefilter" + " Look up keywords by Get-Help: " check for PowerShell Core in Windows, Linux or MacOS if executable('pwsh') | let s:pwsh_cmd = 'pwsh' @@ -45,21 +50,14 @@ elseif executable('powershell.exe') | le endif if exists('s:pwsh_cmd') - if !has('gui_running') && executable('less') && - \ !(exists('$ConEmuBuild') && &term =~? '^xterm') - " For exclusion of ConEmu, see https://github.com/Maximus5/ConEmu/issues/2048 - command! -buffer -nargs=1 GetHelp silent exe '!' . s:pwsh_cmd . ' -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command Get-Help -Full "<args>" | ' . (has('unix') ? 'LESS= less' : 'less') | redraw! - elseif has('terminal') + if exists(':terminal') == 2 command! -buffer -nargs=1 GetHelp silent exe 'term ' . s:pwsh_cmd . ' -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command Get-Help -Full "<args>"' . (executable('less') ? ' | less' : '') else command! -buffer -nargs=1 GetHelp echo system(s:pwsh_cmd . ' -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command Get-Help -Full <args>') endif + setlocal keywordprg=:GetHelp + let b:undo_ftplugin ..= " | setl kp< | sil! delc -buffer GetHelp" endif -setlocal keywordprg=:GetHelp - -" Undo the stuff we changed -let b:undo_ftplugin = "setlocal tw< cms< fo< iskeyword< keywordprg<" . - \ " | unlet! b:browsefilter" let &cpo = s:cpo_save unlet s:cpo_save
--- a/runtime/ftplugin/readline.vim +++ b/runtime/ftplugin/readline.vim @@ -2,7 +2,7 @@ " Language: readline(3) configuration file " Maintainer: Doug Kearns <dougkearns@gmail.com> " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Last Change: 2023 Aug 22 +" Last Change: 2024 Sep 19 (simplify keywordprg #15696) if exists("b:did_ftplugin") finish @@ -34,20 +34,12 @@ if (has("gui_win32") || has("gui_gtk")) let b:undo_ftplugin ..= " | unlet! b:browsefilter" endif -if has('unix') && executable('less') - if !has('gui_running') - command -buffer -nargs=1 ReadlineKeywordPrg - \ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s+' . <q-args> . '\b'' --hilite-search" man ' . '3 readline' | - \ redraw! - elseif has('terminal') - command -buffer -nargs=1 ReadlineKeywordPrg - \ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . '3 readline' - endif - if exists(':ReadlineKeywordPrg') == 2 - setlocal iskeyword+=- - setlocal keywordprg=:ReadlineKeywordPrg - let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer ReadlineKeywordPrg' - endif +if has('unix') && executable('less') && exists(':terminal') == 2 + command -buffer -nargs=1 ReadlineKeywordPrg + \ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . '3 readline' + setlocal iskeyword+=- + setlocal keywordprg=:ReadlineKeywordPrg + let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer ReadlineKeywordPrg' endif let &cpo = s:cpo_save
--- a/runtime/ftplugin/sh.vim +++ b/runtime/ftplugin/sh.vim @@ -45,9 +45,7 @@ if (has("gui_win32") || has("gui_gtk")) endif if get(b:, "is_bash", 0) - if !has("gui_running") && executable("less") - command! -buffer -nargs=1 ShKeywordPrg silent exe '!bash -c "{ help "<args>" 2>/dev/null || MANPAGER= man "<args>"; } | LESS= less"' | redraw! - elseif has("terminal") + if exists(':terminal') == 2 command! -buffer -nargs=1 ShKeywordPrg silent exe ':term bash -c "help "<args>" 2>/dev/null || man "<args>""' else command! -buffer -nargs=1 ShKeywordPrg echo system('bash -c "help <args>" 2>/dev/null || MANPAGER= man "<args>"')
--- a/runtime/ftplugin/sshconfig.vim +++ b/runtime/ftplugin/sshconfig.vim @@ -1,7 +1,8 @@ " Vim filetype plugin file -" Language: OpenSSH client configuration file -" Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2023-10-07 +" Language: OpenSSH client configuration file +" Maintainer: This runtime file is looking for a new maintainer. +" Previous Maintainer: Nikolai Weibull <now@bitwi.se> +" Latest Revision: 2024-09-19 (simplify keywordprg #15696) if exists("b:did_ftplugin") finish @@ -14,20 +15,12 @@ set cpo&vim setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql let b:undo_ftplugin = 'setlocal com< cms< fo<' -if has('unix') && executable('less') - if !has('gui_running') - command -buffer -nargs=1 SshconfigKeywordPrg - \ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s+' . <q-args> . '$'' --hilite-search" man ' . 'ssh_config' | - \ redraw! - elseif has('terminal') - command -buffer -nargs=1 SshconfigKeywordPrg - \ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '$', '\') . ''' --hilite-search" man ' . 'ssh_config' - endif - if exists(':SshconfigKeywordPrg') == 2 - setlocal iskeyword+=- - setlocal keywordprg=:SshconfigKeywordPrg - let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SshconfigKeywordPrg' - endif +if has('unix') && executable('less') && exists(':terminal') == 2 + command -buffer -nargs=1 SshconfigKeywordPrg + \ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '$', '\') . ''' --hilite-search" man ' . 'ssh_config' + setlocal iskeyword+=- + setlocal keywordprg=:SshconfigKeywordPrg + let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SshconfigKeywordPrg' endif let &cpo = s:cpo_save
--- a/runtime/ftplugin/sudoers.vim +++ b/runtime/ftplugin/sudoers.vim @@ -1,7 +1,8 @@ " Vim filetype plugin file -" Language: sudoers(5) configuration files -" Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2023-10-07 +" Language: sudoers(5) configuration files +" Maintainer: This runtime file is looking for a new maintainer. +" Previous Maintainer: Nikolai Weibull <now@bitwi.se> +" Latest Revision: 2024-09-19 (simplify keywordprg #15696) if exists("b:did_ftplugin") finish @@ -15,20 +16,12 @@ let b:undo_ftplugin = "setl com< cms< fo setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql -if has('unix') && executable('less') - if !has('gui_running') - command -buffer -nargs=1 SudoersKeywordPrg - \ silent exe '!' . 'LESS= MANPAGER="less --pattern=''\b' . <q-args> . '\b'' --hilite-search" man ' . 'sudoers' | - \ redraw! - elseif has('terminal') - command -buffer -nargs=1 SudoersKeywordPrg - \ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('\b' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'sudoers' - endif - if exists(':SudoersKeywordPrg') == 2 - setlocal iskeyword+=- - setlocal keywordprg=:SudoersKeywordPrg - let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SudoersKeywordPrg' - endif +if has('unix') && executable('less') && exists(':terminal') == 2 + command -buffer -nargs=1 SudoersKeywordPrg + \ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('\b' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'sudoers' + setlocal iskeyword+=- + setlocal keywordprg=:SudoersKeywordPrg + let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SudoersKeywordPrg' endif let &cpo = s:cpo_save
--- a/runtime/ftplugin/systemd.vim +++ b/runtime/ftplugin/systemd.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: systemd.unit(5) " Keyword Lookup Support: Enno Nagel <enno.nagel+vim@gmail.com> -" Latest Revision: 2023-10-07 +" Latest Revision: 2024-09-19 (simplify keywordprg #15696) if exists("b:did_ftplugin") finish @@ -9,30 +9,22 @@ endif " Looks a lot like dosini files. runtime! ftplugin/dosini.vim -if has('unix') && executable('less') - if !has('gui_running') - command -buffer -nargs=1 SystemdKeywordPrg silent exe '!' . KeywordLookup_systemd(<q-args>) | redraw! - elseif has('terminal') - command -buffer -nargs=1 SystemdKeywordPrg silent exe 'term ' . KeywordLookup_systemd(<q-args>) - endif - if exists(':SystemdKeywordPrg') == 2 - if !exists('*KeywordLookup_systemd') - 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 - else - return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd' - endif - endfunction +if has('unix') && executable('less') && exists(':terminal') == 2 + command -buffer -nargs=1 SystemdKeywordPrg silent exe 'term ' . 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 + else + return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd' endif - setlocal iskeyword+=- - setlocal keywordprg=:SystemdKeywordPrg - if !exists('b:undo_ftplugin') || empty(b:undo_ftplugin) - let b:undo_ftplugin = 'setlocal keywordprg< iskeyword<' - else - let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SystemdKeywordPrg' - endif + endfunction + setlocal iskeyword+=- + setlocal keywordprg=:SystemdKeywordPrg + if !exists('b:undo_ftplugin') || empty(b:undo_ftplugin) + let b:undo_ftplugin = 'setlocal keywordprg< iskeyword<' + else + let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer SystemdKeywordPrg' endif endif
--- a/runtime/ftplugin/udevrules.vim +++ b/runtime/ftplugin/udevrules.vim @@ -1,7 +1,8 @@ " Vim filetype plugin file -" Language: udev(8) rules file -" Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2023-10-07 +" Language: udev(8) rules file +" Maintainer: This runtime file is looking for a new maintainer. +" Previous Maintainer: Nikolai Weibull <now@bitwi.se> +" Latest Revision: 2024-09-19 (simplify keywordprg #15696) if exists("b:did_ftplugin") finish @@ -15,20 +16,12 @@ let b:undo_ftplugin = "setl com< cms< fo setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql -if has('unix') && executable('less') - if !has('gui_running') - command -buffer -nargs=1 UdevrulesKeywordPrg - \ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s{,8}' . <q-args> . '\b'' --hilite-search" man ' . 'udev' | - \ redraw! - elseif has('terminal') - command -buffer -nargs=1 UdevrulesKeywordPrg - \ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'udev' - endif - if exists(':UdevrulesKeywordPrg') == 2 - setlocal iskeyword+=- - setlocal keywordprg=:UdevrulesKeywordPrg - let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer UdevrulesKeywordPrg' - endif +if has('unix') && executable('less') && exists(':terminal') == 2 + command -buffer -nargs=1 UdevrulesKeywordPrg + \ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'udev' + setlocal iskeyword+=- + setlocal keywordprg=:UdevrulesKeywordPrg + let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword< | sil! delc -buffer UdevrulesKeywordPrg' endif let &cpo = s:cpo_save
--- a/runtime/ftplugin/zsh.vim +++ b/runtime/ftplugin/zsh.vim @@ -19,9 +19,7 @@ setlocal comments=:# commentstring=#\ %s let b:undo_ftplugin = "setl com< cms< fo< " if executable('zsh') && &shell !~# '/\%(nologin\|false\)$' - if !has('gui_running') && executable('less') - command! -buffer -nargs=1 ZshKeywordPrg silent exe '!MANPAGER= zsh -c "autoload -Uz run-help; run-help <args> 2>/dev/null | LESS= less"' | redraw! - elseif has('terminal') + if exists(':terminal') == 2 command! -buffer -nargs=1 ZshKeywordPrg silent exe ':term zsh -c "autoload -Uz run-help; run-help <args>"' else command! -buffer -nargs=1 ZshKeywordPrg echo system('MANPAGER= zsh -c "autoload -Uz run-help; run-help <args> 2>/dev/null"')