Merge branch 'vim-with-runtime' into feat/quickfix-title
[vim_extended.git] / runtime / ftplugin / csh.vim
blob3f89c72c20fe107f43d12e6d12d9a2a778dbf128
1 " Vim filetype plugin file
2 " Language:     csh
3 " Maintainer:   Dan Sharp <dwsharp at users dot sourceforge dot net>
4 " Last Changed: 20 Jan 2009
5 " URL:          http://dwsharp.users.sourceforge.net/vim/ftplugin
7 if exists("b:did_ftplugin") | finish | endif
8 let b:did_ftplugin = 1
10 " Make sure the continuation lines below do not cause problems in
11 " compatibility mode.
12 let s:save_cpo = &cpo
13 set cpo-=C
15 setlocal commentstring=#%s
16 setlocal formatoptions-=t
17 setlocal formatoptions+=crql
19 " Csh:  thanks to Johannes Zellner
20 " - Both foreach and end must appear alone on separate lines.
21 " - The words else and endif must appear at the beginning of input lines;
22 "   the if must appear alone on its input line or after an else.
23 " - Each case label and the default label must appear at the start of a
24 "   line.
25 " - while and end must appear alone on their input lines.
26 if exists("loaded_matchit")
27     let b:match_words =
28       \ '^\s*\<if\>.*(.*).*\<then\>:'.
29       \   '^\s*\<else\>\s\+\<if\>.*(.*).*\<then\>:^\s*\<else\>:'.
30       \   '^\s*\<endif\>,'.
31       \ '\%(^\s*\<foreach\>\s\+\S\+\|^s*\<while\>\).*(.*):'.
32       \   '\<break\>:\<continue\>:^\s*\<end\>,'.
33       \ '^\s*\<switch\>.*(.*):^\s*\<case\>\s\+:^\s*\<default\>:^\s*\<endsw\>'
34 endif
36 " Change the :browse e filter to primarily show csh-related files.
37 if has("gui_win32")
38     let  b:browsefilter="csh Scripts (*.csh)\t*.csh\n" .
39                 \       "All Files (*.*)\t*.*\n"
40 endif
42 " Undo the stuff we changed.
43 let b:undo_ftplugin = "setlocal commentstring< formatoptions<" .
44                 \     " | unlet! b:match_words b:browsefilter"
46 " Restore the saved compatibility options.
47 let &cpo = s:save_cpo