xref: /vim-8.2.3635/runtime/syntax/indent.vim (revision 214641f7)
1071d4279SBram Moolenaar" Vim syntax file
242eeac35SBram Moolenaar" Language:             indent(1) configuration file
3*214641f7SBram Moolenaar" Previous Maintainer:  Nikolai Weibull <[email protected]>
46dfc28beSBram Moolenaar" Latest Revision:      2010-01-23
542eeac35SBram Moolenaar"   indent_is_bsd:      If exists, will change somewhat to match BSD implementation
642eeac35SBram Moolenaar"
7071d4279SBram Moolenaar" TODO:     is the deny-all (a la lilo.vim nice or no?)...
8071d4279SBram Moolenaar"       irritating to be wrong to the last char...
9071d4279SBram Moolenaar"       would be sweet if right until one char fails
10071d4279SBram Moolenaar
1142eeac35SBram Moolenaarif exists("b:current_syntax")
12071d4279SBram Moolenaar  finish
13071d4279SBram Moolenaarendif
14071d4279SBram Moolenaar
1542eeac35SBram Moolenaarlet s:cpo_save = &cpo
1642eeac35SBram Moolenaarset cpo&vim
17071d4279SBram Moolenaar
18446cb837SBram Moolenaarsetlocal iskeyword+=-,+
19071d4279SBram Moolenaar
2042eeac35SBram Moolenaarsyn match   indentError   '\S\+'
2142eeac35SBram Moolenaar
22071d4279SBram Moolenaarsyn keyword indentTodo    contained TODO FIXME XXX NOTE
23071d4279SBram Moolenaar
240dc065eeSBram Moolenaarsyn region  indentComment start='/\*' end='\*/'
2542eeac35SBram Moolenaar                          \ contains=indentTodo,@Spell
260dc065eeSBram Moolenaarsyn region  indentComment start='//' skip='\\$' end='$'
2742eeac35SBram Moolenaar                          \ contains=indentTodo,@Spell
28071d4279SBram Moolenaar
292c7a7638SBram Moolenaarif !exists("indent_is_bsd")
306dfc28beSBram Moolenaar  syn match indentOptions '-i\|--indentation-level\|-il\|--indent-level'
31e0d7b3c0SBram Moolenaar                        \ nextgroup=indentNumber skipwhite skipempty
322c7a7638SBram Moolenaarendif
33e0d7b3c0SBram Moolenaarsyn 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\)\)'
34e0d7b3c0SBram Moolenaar                        \ nextgroup=indentNumber skipwhite skipempty
352c7a7638SBram Moolenaar
362c7a7638SBram Moolenaarsyn match   indentNumber  display contained '\d\+\>'
372c7a7638SBram Moolenaar
382c7a7638SBram Moolenaarsyn match   indentOptions '-T'
39e0d7b3c0SBram Moolenaar                        \ nextgroup=indentIdent skipwhite skipempty
402c7a7638SBram Moolenaar
412c7a7638SBram Moolenaarsyn match   indentIdent   display contained '\h\w*\>'
422c7a7638SBram Moolenaar
4342eeac35SBram Moolenaarsyn keyword indentOptions -bacc --blank-lines-after-ifdefs
4442eeac35SBram Moolenaar                        \ -bad --blank-lines-after-declarations
4542eeac35SBram Moolenaar                        \ -badp --blank-lines-after-procedure-declarations
4642eeac35SBram Moolenaar                        \ -bap --blank-lines-after-procedures
4742eeac35SBram Moolenaar                        \ -bbb --blank-lines-before-block-comments
4842eeac35SBram Moolenaar                        \ -bbo --break-before-boolean-operator
4942eeac35SBram Moolenaar                        \ -bc --blank-lines-after-commas
5042eeac35SBram Moolenaar                        \ -bfda --break-function-decl-args
5142eeac35SBram Moolenaar                        \ -bfde --break-function-decl-args-end
5242eeac35SBram Moolenaar                        \ -bl --braces-after-if-line
5342eeac35SBram Moolenaar                        \ -blf --braces-after-func-def-line
5442eeac35SBram Moolenaar                        \ -bls --braces-after-struct-decl-line
5542eeac35SBram Moolenaar                        \ -br --braces-on-if-line
5642eeac35SBram Moolenaar                        \ -brf --braces-on-func-def-line
5742eeac35SBram Moolenaar                        \ -brs --braces-on-struct-decl-line
582c7a7638SBram Moolenaar                        \ -bs --Bill-Shannon --blank-before-sizeof
5942eeac35SBram Moolenaar                        \ -c++ --c-plus-plus
6042eeac35SBram Moolenaar                        \ -cdb --comment-delimiters-on-blank-lines
6142eeac35SBram Moolenaar                        \ -cdw --cuddle-do-while
6242eeac35SBram Moolenaar                        \ -ce --cuddle-else
6342eeac35SBram Moolenaar                        \ -cs --space-after-cast
6442eeac35SBram Moolenaar                        \ -dj --left-justify-declarations
6542eeac35SBram Moolenaar                        \ -eei --extra-expression-indentation
6642eeac35SBram Moolenaar                        \ -fc1 --format-first-column-comments
6742eeac35SBram Moolenaar                        \ -fca --format-all-comments
6842eeac35SBram Moolenaar                        \ -gnu --gnu-style
692c7a7638SBram Moolenaar                        \ -h --help --usage
7042eeac35SBram Moolenaar                        \ -hnl --honour-newlines
712c7a7638SBram Moolenaar                        \ -kr --k-and-r-style --kernighan-and-ritchie --kernighan-and-ritchie-style
7242eeac35SBram Moolenaar                        \ -lp --continue-at-parentheses
7342eeac35SBram Moolenaar                        \ -lps --leave-preprocessor-space
7442eeac35SBram Moolenaar                        \ -nbacc --no-blank-lines-after-ifdefs
7542eeac35SBram Moolenaar                        \ -nbad --no-blank-lines-after-declarations
7642eeac35SBram Moolenaar                        \ -nbadp --no-blank-lines-after-procedure-declarations
7742eeac35SBram Moolenaar                        \ -nbap --no-blank-lines-after-procedures
7842eeac35SBram Moolenaar                        \ -nbbb --no-blank-lines-before-block-comments
7942eeac35SBram Moolenaar                        \ -nbbo --break-after-boolean-operator
8042eeac35SBram Moolenaar                        \ -nbc --no-blank-lines-after-commas
8142eeac35SBram Moolenaar                        \ -nbfda --dont-break-function-decl-args
8242eeac35SBram Moolenaar                        \ -nbfde --dont-break-function-decl-args-end
832c7a7638SBram Moolenaar                        \ -nbs --no-Bill-Shannon --no-blank-before-sizeof
8442eeac35SBram Moolenaar                        \ -ncdb --no-comment-delimiters-on-blank-lines
8542eeac35SBram Moolenaar                        \ -ncdw --dont-cuddle-do-while
8642eeac35SBram Moolenaar                        \ -nce --dont-cuddle-else
8742eeac35SBram Moolenaar                        \ -ncs --no-space-after-casts
8842eeac35SBram Moolenaar                        \ -ndj --dont-left-justify-declarations
8942eeac35SBram Moolenaar                        \ -neei --no-extra-expression-indentation
9042eeac35SBram Moolenaar                        \ -nfc1 --dont-format-first-column-comments
9142eeac35SBram Moolenaar                        \ -nfca --dont-format-comments
9242eeac35SBram Moolenaar                        \ -nhnl --ignore-newlines
932c7a7638SBram Moolenaar                        \ -nip --dont-indent-parameters --no-parameter-indentation
9442eeac35SBram Moolenaar                        \ -nlp --dont-line-up-parentheses
9542eeac35SBram Moolenaar                        \ -nlps --remove-preprocessor-space
9642eeac35SBram Moolenaar                        \ -npcs --no-space-after-function-call-names
972c7a7638SBram Moolenaar                        \ -npmt
9842eeac35SBram Moolenaar                        \ -npro --ignore-profile
9942eeac35SBram Moolenaar                        \ -nprs --no-space-after-parentheses
10042eeac35SBram Moolenaar                        \ -npsl --dont-break-procedure-type
10142eeac35SBram Moolenaar                        \ -nsaf --no-space-after-for
10242eeac35SBram Moolenaar                        \ -nsai --no-space-after-if
10342eeac35SBram Moolenaar                        \ -nsaw --no-space-after-while
10442eeac35SBram Moolenaar                        \ -nsc --dont-star-comments
10542eeac35SBram Moolenaar                        \ -nsob --leave-optional-blank-lines
10642eeac35SBram Moolenaar                        \ -nss --dont-space-special-semicolon
10742eeac35SBram Moolenaar                        \ -nut --no-tabs
10842eeac35SBram Moolenaar                        \ -nv --no-verbosity
10942eeac35SBram Moolenaar                        \ -o --output
11042eeac35SBram Moolenaar                        \ -o --output-file
1112c7a7638SBram Moolenaar                        \ -orig --berkeley --berkeley-style --original --original-style
11242eeac35SBram Moolenaar                        \ -pcs --space-after-procedure-calls
11342eeac35SBram Moolenaar                        \ -pmt --preserve-mtime
11442eeac35SBram Moolenaar                        \ -prs --space-after-parentheses
11542eeac35SBram Moolenaar                        \ -psl --procnames-start-lines
11642eeac35SBram Moolenaar                        \ -saf --space-after-for
11742eeac35SBram Moolenaar                        \ -sai --space-after-if
11842eeac35SBram Moolenaar                        \ -saw --space-after-while
11942eeac35SBram Moolenaar                        \ -sc --start-left-side-of-comments
12042eeac35SBram Moolenaar                        \ -sob --swallow-optional-blank-lines
12142eeac35SBram Moolenaar                        \ -ss --space-special-semicolon
12242eeac35SBram Moolenaar                        \ -st --standard-output
12342eeac35SBram Moolenaar                        \ -ut --use-tabs
12442eeac35SBram Moolenaar                        \ -v --verbose
12542eeac35SBram Moolenaar                        \ -version --version
1266dfc28beSBram Moolenaar                        \ -linux --linux-style
127071d4279SBram Moolenaar
12842eeac35SBram Moolenaarif exists("indent_is_bsd")
129e0d7b3c0SBram Moolenaar  syn keyword indentOptions -ip -ei -nei
13042eeac35SBram Moolenaarendif
13142eeac35SBram Moolenaar
13242eeac35SBram Moolenaarif exists("c_minlines")
13342eeac35SBram Moolenaar  let b:c_minlines = c_minlines
134071d4279SBram Moolenaarelse
13542eeac35SBram Moolenaar  if !exists("c_no_if0")
13642eeac35SBram Moolenaar    let b:c_minlines = 50       " #if 0 constructs can be long
137071d4279SBram Moolenaar  else
13842eeac35SBram Moolenaar    let b:c_minlines = 15       " mostly for () constructs
13942eeac35SBram Moolenaar  endif
140071d4279SBram Moolenaarendif
141071d4279SBram Moolenaar
14242eeac35SBram Moolenaarhi def link indentError   Error
14342eeac35SBram Moolenaarhi def link indentComment Comment
14442eeac35SBram Moolenaarhi def link indentTodo    Todo
14542eeac35SBram Moolenaarhi def link indentOptions Keyword
14642eeac35SBram Moolenaarhi def link indentNumber  Number
14742eeac35SBram Moolenaarhi def link indentIdent   Identifier
148071d4279SBram Moolenaar
149071d4279SBram Moolenaarlet b:current_syntax = "indent"
150071d4279SBram Moolenaar
15142eeac35SBram Moolenaarlet &cpo = s:cpo_save
15242eeac35SBram Moolenaarunlet s:cpo_save
153