Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 2 | " Language: indent(1) configuration file |
Bram Moolenaar | 57657d8 | 2006-04-21 22:12:41 +0000 | [diff] [blame] | 3 | " Maintainer: Nikolai Weibull <now@bitwi.se> |
Bram Moolenaar | e0d7b3c | 2007-05-12 14:23:41 +0000 | [diff] [blame] | 4 | " Latest Revision: 2007-05-10 |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 5 | " indent_is_bsd: If exists, will change somewhat to match BSD implementation |
| 6 | " |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 7 | " TODO: is the deny-all (a la lilo.vim nice or no?)... |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 8 | " irritating to be wrong to the last char... |
| 9 | " would be sweet if right until one char fails |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 10 | |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 11 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 12 | finish |
| 13 | endif |
| 14 | |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 15 | let s:cpo_save = &cpo |
| 16 | set cpo&vim |
| 17 | |
Bram Moolenaar | 57657d8 | 2006-04-21 22:12:41 +0000 | [diff] [blame] | 18 | setlocal iskeyword=@,48-57,-,+,_ |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 19 | |
| 20 | syn match indentError '\S\+' |
| 21 | |
| 22 | syn keyword indentTodo contained TODO FIXME XXX NOTE |
| 23 | |
Bram Moolenaar | 0dc065e | 2005-07-04 22:49:24 +0000 | [diff] [blame] | 24 | syn region indentComment start='/\*' end='\*/' |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 25 | \ contains=indentTodo,@Spell |
Bram Moolenaar | 0dc065e | 2005-07-04 22:49:24 +0000 | [diff] [blame] | 26 | syn region indentComment start='//' skip='\\$' end='$' |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 27 | \ contains=indentTodo,@Spell |
| 28 | |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 29 | if !exists("indent_is_bsd") |
| 30 | syn match indentOptions '-i\|--indentation-level' |
Bram Moolenaar | e0d7b3c | 2007-05-12 14:23:41 +0000 | [diff] [blame] | 31 | \ nextgroup=indentNumber skipwhite skipempty |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 32 | endif |
Bram Moolenaar | e0d7b3c | 2007-05-12 14:23:41 +0000 | [diff] [blame] | 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\)\)' |
| 34 | \ nextgroup=indentNumber skipwhite skipempty |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 35 | |
| 36 | syn match indentNumber display contained '\d\+\>' |
| 37 | |
| 38 | syn match indentOptions '-T' |
Bram Moolenaar | e0d7b3c | 2007-05-12 14:23:41 +0000 | [diff] [blame] | 39 | \ nextgroup=indentIdent skipwhite skipempty |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 40 | |
| 41 | syn match indentIdent display contained '\h\w*\>' |
| 42 | |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 43 | syn 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 Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 58 | \ -bs --Bill-Shannon --blank-before-sizeof |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 69 | \ -h --help --usage |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 70 | \ -hnl --honour-newlines |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 71 | \ -kr --k-and-r-style --kernighan-and-ritchie --kernighan-and-ritchie-style |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 83 | \ -nbs --no-Bill-Shannon --no-blank-before-sizeof |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 93 | \ -nip --dont-indent-parameters --no-parameter-indentation |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 94 | \ -nlp --dont-line-up-parentheses |
| 95 | \ -nlps --remove-preprocessor-space |
| 96 | \ -npcs --no-space-after-function-call-names |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 97 | \ -npmt |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 2c7a763 | 2007-05-10 18:19:11 +0000 | [diff] [blame] | 111 | \ -orig --berkeley --berkeley-style --original --original-style |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 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 | |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 127 | if exists("indent_is_bsd") |
Bram Moolenaar | e0d7b3c | 2007-05-12 14:23:41 +0000 | [diff] [blame] | 128 | syn keyword indentOptions -ip -ei -nei |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 129 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 130 | |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 131 | if exists("c_minlines") |
| 132 | let b:c_minlines = c_minlines |
| 133 | else |
| 134 | if !exists("c_no_if0") |
| 135 | let b:c_minlines = 50 " #if 0 constructs can be long |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 136 | else |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 137 | let b:c_minlines = 15 " mostly for () constructs |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 138 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 139 | endif |
| 140 | |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 141 | hi def link indentError Error |
| 142 | hi def link indentComment Comment |
| 143 | hi def link indentTodo Todo |
| 144 | hi def link indentOptions Keyword |
| 145 | hi def link indentNumber Number |
| 146 | hi def link indentIdent Identifier |
| 147 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 148 | let b:current_syntax = "indent" |
| 149 | |
Bram Moolenaar | 42eeac3 | 2005-06-29 22:40:58 +0000 | [diff] [blame] | 150 | let &cpo = s:cpo_save |
| 151 | unlet s:cpo_save |