7
|
1 " Vim filetype plugin file
|
|
2 " Language: csh
|
2034
|
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
|
6
|
|
7 if exists("b:did_ftplugin") | finish | endif
|
|
8 let b:did_ftplugin = 1
|
|
9
|
|
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
|
|
14
|
|
15 setlocal commentstring=#%s
|
|
16 setlocal formatoptions-=t
|
|
17 setlocal formatoptions+=crql
|
|
18
|
|
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
|
|
35
|
|
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
|
|
41
|
|
42 " Undo the stuff we changed.
|
|
43 let b:undo_ftplugin = "setlocal commentstring< formatoptions<" .
|
|
44 \ " | unlet! b:match_words b:browsefilter"
|
|
45
|
|
46 " Restore the saved compatibility options.
|
|
47 let &cpo = s:save_cpo
|