blob: 389101a5227f55468fe252b452c62ff21476f478 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar42eeac32005-06-29 22:40:58 +00002" Language: indent(1) configuration file
Bram Moolenaar57657d82006-04-21 22:12:41 +00003" Maintainer: Nikolai Weibull <now@bitwi.se>
Bram Moolenaar6dfc28b2010-02-11 14:19:15 +01004" Latest Revision: 2010-01-23
Bram Moolenaar42eeac32005-06-29 22:40:58 +00005" indent_is_bsd: If exists, will change somewhat to match BSD implementation
6"
Bram Moolenaar071d4272004-06-13 20:20:40 +00007" TODO: is the deny-all (a la lilo.vim nice or no?)...
Bram Moolenaar42eeac32005-06-29 22:40:58 +00008" irritating to be wrong to the last char...
9" would be sweet if right until one char fails
Bram Moolenaar071d4272004-06-13 20:20:40 +000010
Bram Moolenaar42eeac32005-06-29 22:40:58 +000011if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000012 finish
13endif
14
Bram Moolenaar42eeac32005-06-29 22:40:58 +000015let s:cpo_save = &cpo
16set cpo&vim
17
Bram Moolenaar446cb832008-06-24 21:56:24 +000018setlocal iskeyword+=-,+
Bram Moolenaar42eeac32005-06-29 22:40:58 +000019
20syn match indentError '\S\+'
21
22syn keyword indentTodo contained TODO FIXME XXX NOTE
23
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000024syn region indentComment start='/\*' end='\*/'
Bram Moolenaar42eeac32005-06-29 22:40:58 +000025 \ contains=indentTodo,@Spell
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000026syn region indentComment start='//' skip='\\$' end='$'
Bram Moolenaar42eeac32005-06-29 22:40:58 +000027 \ contains=indentTodo,@Spell
28
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000029if !exists("indent_is_bsd")
Bram Moolenaar6dfc28b2010-02-11 14:19:15 +010030 syn match indentOptions '-i\|--indentation-level\|-il\|--indent-level'
Bram Moolenaare0d7b3c2007-05-12 14:23:41 +000031 \ nextgroup=indentNumber skipwhite skipempty
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000032endif
Bram Moolenaare0d7b3c2007-05-12 14:23:41 +000033syn 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\)\)'
34 \ nextgroup=indentNumber skipwhite skipempty
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000035
36syn match indentNumber display contained '\d\+\>'
37
38syn match indentOptions '-T'
Bram Moolenaare0d7b3c2007-05-12 14:23:41 +000039 \ nextgroup=indentIdent skipwhite skipempty
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000040
41syn match indentIdent display contained '\h\w*\>'
42
Bram Moolenaar42eeac32005-06-29 22:40:58 +000043syn keyword indentOptions -bacc --blank-lines-after-ifdefs
44 \ -bad --blank-lines-after-declarations
45 \ -badp --blank-lines-after-procedure-declarations
46 \ -bap --blank-lines-after-procedures
47 \ -bbb --blank-lines-before-block-comments
48 \ -bbo --break-before-boolean-operator
49 \ -bc --blank-lines-after-commas
50 \ -bfda --break-function-decl-args
51 \ -bfde --break-function-decl-args-end
52 \ -bl --braces-after-if-line
53 \ -blf --braces-after-func-def-line
54 \ -bls --braces-after-struct-decl-line
55 \ -br --braces-on-if-line
56 \ -brf --braces-on-func-def-line
57 \ -brs --braces-on-struct-decl-line
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000058 \ -bs --Bill-Shannon --blank-before-sizeof
Bram Moolenaar42eeac32005-06-29 22:40:58 +000059 \ -c++ --c-plus-plus
60 \ -cdb --comment-delimiters-on-blank-lines
61 \ -cdw --cuddle-do-while
62 \ -ce --cuddle-else
63 \ -cs --space-after-cast
64 \ -dj --left-justify-declarations
65 \ -eei --extra-expression-indentation
66 \ -fc1 --format-first-column-comments
67 \ -fca --format-all-comments
68 \ -gnu --gnu-style
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000069 \ -h --help --usage
Bram Moolenaar42eeac32005-06-29 22:40:58 +000070 \ -hnl --honour-newlines
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000071 \ -kr --k-and-r-style --kernighan-and-ritchie --kernighan-and-ritchie-style
Bram Moolenaar42eeac32005-06-29 22:40:58 +000072 \ -lp --continue-at-parentheses
73 \ -lps --leave-preprocessor-space
74 \ -nbacc --no-blank-lines-after-ifdefs
75 \ -nbad --no-blank-lines-after-declarations
76 \ -nbadp --no-blank-lines-after-procedure-declarations
77 \ -nbap --no-blank-lines-after-procedures
78 \ -nbbb --no-blank-lines-before-block-comments
79 \ -nbbo --break-after-boolean-operator
80 \ -nbc --no-blank-lines-after-commas
81 \ -nbfda --dont-break-function-decl-args
82 \ -nbfde --dont-break-function-decl-args-end
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000083 \ -nbs --no-Bill-Shannon --no-blank-before-sizeof
Bram Moolenaar42eeac32005-06-29 22:40:58 +000084 \ -ncdb --no-comment-delimiters-on-blank-lines
85 \ -ncdw --dont-cuddle-do-while
86 \ -nce --dont-cuddle-else
87 \ -ncs --no-space-after-casts
88 \ -ndj --dont-left-justify-declarations
89 \ -neei --no-extra-expression-indentation
90 \ -nfc1 --dont-format-first-column-comments
91 \ -nfca --dont-format-comments
92 \ -nhnl --ignore-newlines
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000093 \ -nip --dont-indent-parameters --no-parameter-indentation
Bram Moolenaar42eeac32005-06-29 22:40:58 +000094 \ -nlp --dont-line-up-parentheses
95 \ -nlps --remove-preprocessor-space
96 \ -npcs --no-space-after-function-call-names
Bram Moolenaar2c7a7632007-05-10 18:19:11 +000097 \ -npmt
Bram Moolenaar42eeac32005-06-29 22:40:58 +000098 \ -npro --ignore-profile
99 \ -nprs --no-space-after-parentheses
100 \ -npsl --dont-break-procedure-type
101 \ -nsaf --no-space-after-for
102 \ -nsai --no-space-after-if
103 \ -nsaw --no-space-after-while
104 \ -nsc --dont-star-comments
105 \ -nsob --leave-optional-blank-lines
106 \ -nss --dont-space-special-semicolon
107 \ -nut --no-tabs
108 \ -nv --no-verbosity
109 \ -o --output
110 \ -o --output-file
Bram Moolenaar2c7a7632007-05-10 18:19:11 +0000111 \ -orig --berkeley --berkeley-style --original --original-style
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000112 \ -pcs --space-after-procedure-calls
113 \ -pmt --preserve-mtime
114 \ -prs --space-after-parentheses
115 \ -psl --procnames-start-lines
116 \ -saf --space-after-for
117 \ -sai --space-after-if
118 \ -saw --space-after-while
119 \ -sc --start-left-side-of-comments
120 \ -sob --swallow-optional-blank-lines
121 \ -ss --space-special-semicolon
122 \ -st --standard-output
123 \ -ut --use-tabs
124 \ -v --verbose
125 \ -version --version
Bram Moolenaar6dfc28b2010-02-11 14:19:15 +0100126 \ -linux --linux-style
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000127
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000128if exists("indent_is_bsd")
Bram Moolenaare0d7b3c2007-05-12 14:23:41 +0000129 syn keyword indentOptions -ip -ei -nei
Bram Moolenaar071d4272004-06-13 20:20:40 +0000130endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000131
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000132if exists("c_minlines")
133 let b:c_minlines = c_minlines
134else
135 if !exists("c_no_if0")
136 let b:c_minlines = 50 " #if 0 constructs can be long
Bram Moolenaar071d4272004-06-13 20:20:40 +0000137 else
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000138 let b:c_minlines = 15 " mostly for () constructs
Bram Moolenaar071d4272004-06-13 20:20:40 +0000139 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000140endif
141
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000142hi def link indentError Error
143hi def link indentComment Comment
144hi def link indentTodo Todo
145hi def link indentOptions Keyword
146hi def link indentNumber Number
147hi def link indentIdent Identifier
148
Bram Moolenaar071d4272004-06-13 20:20:40 +0000149let b:current_syntax = "indent"
150
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000151let &cpo = s:cpo_save
152unlet s:cpo_save