annotate runtime/syntax/indent.vim @ 27:a01d8d9b2a58 first-working-version

first working version.
author kono
date Mon, 27 Oct 2008 18:28:11 +0900
parents 76efa0be13f1
children e170173ecb68
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: indent(1) configuration file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Latest Revision: 2007-05-10
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " indent_is_bsd: If exists, will change somewhat to match BSD implementation
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 "
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " TODO: is the deny-all (a la lilo.vim nice or no?)...
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 " irritating to be wrong to the last char...
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 " would be sweet if right until one char fails
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 if exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 let s:cpo_save = &cpo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 set cpo&vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 setlocal iskeyword=@,48-57,-,+,_
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn match indentError '\S\+'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 syn keyword indentTodo contained TODO FIXME XXX NOTE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 syn region indentComment start='/\*' end='\*/'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 \ contains=indentTodo,@Spell
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn region indentComment start='//' skip='\\$' end='$'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 \ contains=indentTodo,@Spell
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 if !exists("indent_is_bsd")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn match indentOptions '-i\|--indentation-level'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 \ nextgroup=indentNumber skipwhite skipempty
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 syn match indentOptions '-\%(bli\|c\%([bl]i\|[dip]\)\=\|di\=\|ip\=\|lc\=\|pp\=i\|sbi\|ts\|-\%(brace-indent\|comment-indentation\|case-brace-indentation\|declaration-comment-column\|continuation-indentation\|case-indentation\|else-endif-column\|line-comments-indentation\|declaration-indentation\|indent-level\|parameter-indentation\|line-length\|comment-line-length\|paren-indentation\|preprocessor-indentation\|struct-brace-indentation\|tab-size\)\)'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 \ nextgroup=indentNumber skipwhite skipempty
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 syn match indentNumber display contained '\d\+\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 syn match indentOptions '-T'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 \ nextgroup=indentIdent skipwhite skipempty
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 syn match indentIdent display contained '\h\w*\>'
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn keyword indentOptions -bacc --blank-lines-after-ifdefs
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 \ -bad --blank-lines-after-declarations
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 \ -badp --blank-lines-after-procedure-declarations
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 \ -bap --blank-lines-after-procedures
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 \ -bbb --blank-lines-before-block-comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 \ -bbo --break-before-boolean-operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 \ -bc --blank-lines-after-commas
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 \ -bfda --break-function-decl-args
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 \ -bfde --break-function-decl-args-end
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 \ -bl --braces-after-if-line
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 \ -blf --braces-after-func-def-line
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 \ -bls --braces-after-struct-decl-line
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 \ -br --braces-on-if-line
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 \ -brf --braces-on-func-def-line
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 \ -brs --braces-on-struct-decl-line
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 \ -bs --Bill-Shannon --blank-before-sizeof
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 \ -c++ --c-plus-plus
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 \ -cdb --comment-delimiters-on-blank-lines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 \ -cdw --cuddle-do-while
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 \ -ce --cuddle-else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 \ -cs --space-after-cast
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 \ -dj --left-justify-declarations
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 \ -eei --extra-expression-indentation
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 \ -fc1 --format-first-column-comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 \ -fca --format-all-comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 \ -gnu --gnu-style
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 \ -h --help --usage
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 \ -hnl --honour-newlines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 \ -kr --k-and-r-style --kernighan-and-ritchie --kernighan-and-ritchie-style
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 \ -lp --continue-at-parentheses
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 \ -lps --leave-preprocessor-space
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 \ -nbacc --no-blank-lines-after-ifdefs
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 \ -nbad --no-blank-lines-after-declarations
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 \ -nbadp --no-blank-lines-after-procedure-declarations
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 \ -nbap --no-blank-lines-after-procedures
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 \ -nbbb --no-blank-lines-before-block-comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 \ -nbbo --break-after-boolean-operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 \ -nbc --no-blank-lines-after-commas
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 \ -nbfda --dont-break-function-decl-args
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 \ -nbfde --dont-break-function-decl-args-end
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 \ -nbs --no-Bill-Shannon --no-blank-before-sizeof
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 \ -ncdb --no-comment-delimiters-on-blank-lines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 \ -ncdw --dont-cuddle-do-while
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86 \ -nce --dont-cuddle-else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 \ -ncs --no-space-after-casts
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 \ -ndj --dont-left-justify-declarations
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 \ -neei --no-extra-expression-indentation
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 \ -nfc1 --dont-format-first-column-comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 \ -nfca --dont-format-comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 \ -nhnl --ignore-newlines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 \ -nip --dont-indent-parameters --no-parameter-indentation
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 \ -nlp --dont-line-up-parentheses
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 \ -nlps --remove-preprocessor-space
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96 \ -npcs --no-space-after-function-call-names
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 \ -npmt
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 \ -npro --ignore-profile
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99 \ -nprs --no-space-after-parentheses
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 \ -npsl --dont-break-procedure-type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 \ -nsaf --no-space-after-for
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102 \ -nsai --no-space-after-if
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 \ -nsaw --no-space-after-while
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104 \ -nsc --dont-star-comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105 \ -nsob --leave-optional-blank-lines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106 \ -nss --dont-space-special-semicolon
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 \ -nut --no-tabs
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108 \ -nv --no-verbosity
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109 \ -o --output
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110 \ -o --output-file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111 \ -orig --berkeley --berkeley-style --original --original-style
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112 \ -pcs --space-after-procedure-calls
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113 \ -pmt --preserve-mtime
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114 \ -prs --space-after-parentheses
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115 \ -psl --procnames-start-lines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116 \ -saf --space-after-for
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117 \ -sai --space-after-if
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118 \ -saw --space-after-while
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119 \ -sc --start-left-side-of-comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
120 \ -sob --swallow-optional-blank-lines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
121 \ -ss --space-special-semicolon
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
122 \ -st --standard-output
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
123 \ -ut --use-tabs
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
124 \ -v --verbose
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
125 \ -version --version
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
126
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
127 if exists("indent_is_bsd")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
128 syn keyword indentOptions -ip -ei -nei
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
129 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
130
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
131 if exists("c_minlines")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
132 let b:c_minlines = c_minlines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
133 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
134 if !exists("c_no_if0")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
135 let b:c_minlines = 50 " #if 0 constructs can be long
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
136 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
137 let b:c_minlines = 15 " mostly for () constructs
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
138 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
139 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
140
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
141 hi def link indentError Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
142 hi def link indentComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
143 hi def link indentTodo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
144 hi def link indentOptions Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
145 hi def link indentNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
146 hi def link indentIdent Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
147
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
148 let b:current_syntax = "indent"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
149
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
150 let &cpo = s:cpo_save
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
151 unlet s:cpo_save