blob: 4ae09f91bed415f2bcfc20d00e4d2de6fb31fa38 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim filetype plugin file
2" Language: csh
Bram Moolenaar5c736222010-01-06 20:54:52 +01003" 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
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
7if exists("b:did_ftplugin") | finish | endif
8let b:did_ftplugin = 1
9
10" Make sure the continuation lines below do not cause problems in
11" compatibility mode.
12let s:save_cpo = &cpo
13set cpo-=C
14
15setlocal commentstring=#%s
16setlocal formatoptions-=t
17setlocal 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.
26if 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\>'
34endif
35
36" Change the :browse e filter to primarily show csh-related files.
37if has("gui_win32")
38 let b:browsefilter="csh Scripts (*.csh)\t*.csh\n" .
39 \ "All Files (*.*)\t*.*\n"
40endif
41
42" Undo the stuff we changed.
43let b:undo_ftplugin = "setlocal commentstring< formatoptions<" .
44 \ " | unlet! b:match_words b:browsefilter"
45
46" Restore the saved compatibility options.
47let &cpo = s:save_cpo
Bram Moolenaar84f72352012-03-11 15:57:40 +010048unlet s:save_cpo