xref: /vim-8.2.3635/runtime/ftplugin/zsh.vim (revision 23515b4e)
142eeac35SBram Moolenaar" Vim filetype plugin file
242eeac35SBram Moolenaar" Language:             Zsh shell script
3f2571c61SBram Moolenaar" Maintainer:           Christian Brabandt <[email protected]>
4f2571c61SBram Moolenaar" Previous Maintainer:  Nikolai Weibull <[email protected]>
5*23515b4eSBram Moolenaar" Latest Revision:      2020-09-01
6f2571c61SBram Moolenaar" License:              Vim (see :h license)
7f2571c61SBram Moolenaar" Repository:           https://github.com/chrisbra/vim-zsh
842eeac35SBram Moolenaar
942eeac35SBram Moolenaarif exists("b:did_ftplugin")
1042eeac35SBram Moolenaar  finish
1142eeac35SBram Moolenaarendif
1242eeac35SBram Moolenaarlet b:did_ftplugin = 1
1342eeac35SBram Moolenaar
14e37d50a5SBram Moolenaarlet s:cpo_save = &cpo
15e37d50a5SBram Moolenaarset cpo&vim
16e37d50a5SBram Moolenaar
17b17893aaSBram Moolenaarsetlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
18b17893aaSBram Moolenaar
190dc065eeSBram Moolenaarlet b:undo_ftplugin = "setl com< cms< fo< "
2042eeac35SBram Moolenaar
21b17893aaSBram Moolenaarif executable('zsh')
22b17893aaSBram Moolenaar  if !has('gui_running') && executable('less')
23*23515b4eSBram Moolenaar    command! -buffer -nargs=1 RunHelp silent exe '!MANPAGER= zsh -ic "autoload -Uz run-help; run-help <args> 2>/dev/null | LESS= less"' | redraw!
24b17893aaSBram Moolenaar  elseif has('terminal')
25b17893aaSBram Moolenaar    command! -buffer -nargs=1 RunHelp silent exe ':term zsh -ic "autoload -Uz run-help; run-help <args>"'
26b17893aaSBram Moolenaar  else
27b17893aaSBram Moolenaar    command! -buffer -nargs=1 RunHelp echo system('zsh -ic "autoload -Uz run-help; run-help <args> 2>/dev/null"')
28b17893aaSBram Moolenaar  endif
29*23515b4eSBram Moolenaar  if !exists('current_compiler')
30*23515b4eSBram Moolenaar    compiler zsh
31*23515b4eSBram Moolenaar  endif
32b17893aaSBram Moolenaar  setlocal keywordprg=:RunHelp
33*23515b4eSBram Moolenaar  let b:undo_ftplugin .= 'keywordprg<'
34b17893aaSBram Moolenaarendif
35e37d50a5SBram Moolenaar
36*23515b4eSBram Moolenaarlet b:match_words = '\<if\>:\<elif\>:\<else\>:\<fi\>'
37d58e929fSBram Moolenaar      \ . ',\<case\>:^\s*([^)]*):\<esac\>'
38d58e929fSBram Moolenaar      \ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
39d58e929fSBram Moolenaarlet b:match_skip = 's:comment\|string\|heredoc\|subst'
40d58e929fSBram Moolenaar
41e37d50a5SBram Moolenaarlet &cpo = s:cpo_save
42e37d50a5SBram Moolenaarunlet s:cpo_save
43