Files
Christian Brabandt d6f7a03f7c runtime(misc): Use correct terminal feature test in ftplugins
Problem:  The current test 'exists(':terminal') == 2' is valid even in
          Vim builds that have the terminal not included (e.g. normal
          feature builds) and thus the K key would cause an error:
          "E319: Sorry, the command is not available in this version" or
          "E117: Unknown function: term_start()"
Solution: Change the terminal feature test to "has('terminal')" to
          properly detect Vims without the terminal feature and use
          exists('*term_start') for functionality that depends on Vims
          support for the term_start() feature. While at it, change the
          Last Change date to the preferred style for Vim runtime files.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-06 18:49:22 +00:00

52 lines
1.7 KiB
VimL

" Vim filetype plugin file
" Language: readline(3) configuration file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 2024 Sep 19 (simplify keywordprg #15696)
" 2024 Jul 22 by Vim project (use :hor term #17822)
" 2026 May 04 by Vim Project: fix typo
" 2026 Sep 01 by Vim Project: use correct terminal feature test
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=:#
setlocal commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql
let b:undo_ftplugin = "setl com< cms< fo<"
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 0
let b:match_words = '$if:$else:$endif'
let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words"
endif
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Readline Initialization Files (inputrc, .inputrc)\tinputrc;*.inputrc\n"
if has("win32")
let b:browsefilter ..= "All Files (*.*)\t*\n"
else
let b:browsefilter ..= "All Files (*)\t*\n"
endif
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
endif
if has('unix') && executable('less') && has('terminal')
command -buffer -nargs=1 ReadlineKeywordPrg
\ silent exe 'hor 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
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8 noet: