1" Vim syntax file 2" Language: indent(1) configuration file 3" Maintainer: Nikolai Weibull <[email protected]> 4" Latest Revision: 2010-01-23 5" indent_is_bsd: If exists, will change somewhat to match BSD implementation 6" 7" TODO: is the deny-all (a la lilo.vim nice or no?)... 8" irritating to be wrong to the last char... 9" would be sweet if right until one char fails 10 11if exists("b:current_syntax") 12 finish 13endif 14 15let s:cpo_save = &cpo 16set cpo&vim 17 18setlocal iskeyword+=-,+ 19 20syn match indentError '\S\+' 21 22syn keyword indentTodo contained TODO FIXME XXX NOTE 23 24syn region indentComment start='/\*' end='\*/' 25 \ contains=indentTodo,@Spell 26syn region indentComment start='//' skip='\\$' end='$' 27 \ contains=indentTodo,@Spell 28 29if !exists("indent_is_bsd") 30 syn match indentOptions '-i\|--indentation-level\|-il\|--indent-level' 31 \ nextgroup=indentNumber skipwhite skipempty 32endif 33syn 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 35 36syn match indentNumber display contained '\d\+\>' 37 38syn match indentOptions '-T' 39 \ nextgroup=indentIdent skipwhite skipempty 40 41syn match indentIdent display contained '\h\w*\>' 42 43syn 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 58 \ -bs --Bill-Shannon --blank-before-sizeof 59 \ -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 69 \ -h --help --usage 70 \ -hnl --honour-newlines 71 \ -kr --k-and-r-style --kernighan-and-ritchie --kernighan-and-ritchie-style 72 \ -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 83 \ -nbs --no-Bill-Shannon --no-blank-before-sizeof 84 \ -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 93 \ -nip --dont-indent-parameters --no-parameter-indentation 94 \ -nlp --dont-line-up-parentheses 95 \ -nlps --remove-preprocessor-space 96 \ -npcs --no-space-after-function-call-names 97 \ -npmt 98 \ -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 111 \ -orig --berkeley --berkeley-style --original --original-style 112 \ -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 126 \ -linux --linux-style 127 128if exists("indent_is_bsd") 129 syn keyword indentOptions -ip -ei -nei 130endif 131 132if 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 137 else 138 let b:c_minlines = 15 " mostly for () constructs 139 endif 140endif 141 142hi 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 149let b:current_syntax = "indent" 150 151let &cpo = s:cpo_save 152unlet s:cpo_save 153