1" Vim syntax file 2" Language: nanorc(5) - GNU nano configuration file 3" Maintainer: Nikolai Weibull <now@bitwi.se> 4" Latest Revision: 2006-04-19 5 6if exists("b:current_syntax") 7 finish 8endif 9 10let s:cpo_save = &cpo 11set cpo&vim 12 13syn keyword nanorcTodo contained TODO FIXME XXX NOTE 14 15syn region nanorcComment display oneline start='^\s*#' end='$' 16 \ contains=nanorcTodo,@Spell 17 18syn match nanorcBegin display '^' 19 \ nextgroup=nanorcKeyword,nanorcComment 20 \ skipwhite 21 22syn keyword nanorcKeyword contained set unset 23 \ nextgroup=nanorcBoolOption, 24 \ nanorcStringOption,nanorcNumberOption 25 \ skipwhite 26 27syn keyword nanorcKeyword contained syntax 28 \ nextgroup=nanorcSynGroupName skipwhite 29 30syn keyword nanorcKeyword contained color 31 \ nextgroup=@nanorcFGColor skipwhite 32 33syn keyword nanorcBoolOption contained autoindent backup const cut 34 \ historylog morespace mouse multibuffer 35 \ noconvert nofollow nohelp nowrap preserve 36 \ rebinddelete regexp smarthome smooth suspend 37 \ tempfile view 38 39syn keyword nanorcStringOption contained backupdir brackets operatingdir 40 \ punct quotestr speller whitespace 41 \ nextgroup=nanorcString skipwhite 42 43syn keyword nanorcNumberOption contained fill tabsize 44 \ nextgroup=nanorcNumber skipwhite 45 46syn region nanorcSynGroupName contained display oneline start=+"+ 47 \ end=+"\ze\%([[:blank:]]\|$\)+ 48 \ nextgroup=nanorcRegexes skipwhite 49 50syn match nanorcString contained display '".*"' 51 52syn region nanorcRegexes contained display oneline start=+"+ 53 \ end=+"\ze\%([[:blank:]]\|$\)+ 54 \ nextgroup=nanorcRegexes skipwhite 55 56syn match nanorcNumber contained display '[+-]\=\<\d\+\>' 57 58syn cluster nanorcFGColor contains=nanorcFGWhite,nanorcFGBlack, 59 \ nanorcFGRed,nanorcFGBlue,nanorcFGGreen, 60 \ nanorcFGYellow,nanorcFGMagenta,nanorcFGCyan, 61 \ nanorcFGBWhite,nanorcFGBBlack,nanorcFGBRed, 62 \ nanorcFGBBlue,nanorcFGBGreen,nanorcFGBYellow, 63 \ nanorcFGBMagenta,nanorcFGBCyan 64 65syn keyword nanorcFGWhite contained white 66 \ nextgroup=@nanorcFGSpec skipwhite 67 68syn keyword nanorcFGBlack contained black 69 \ nextgroup=@nanorcFGSpec skipwhite 70 71syn keyword nanorcFGRed contained red 72 \ nextgroup=@nanorcFGSpec skipwhite 73 74syn keyword nanorcFGBlue contained blue 75 \ nextgroup=@nanorcFGSpec skipwhite 76 77syn keyword nanorcFGGreen contained green 78 \ nextgroup=@nanorcFGSpec skipwhite 79 80syn keyword nanorcFGYellow contained yellow 81 \ nextgroup=@nanorcFGSpec skipwhite 82 83syn keyword nanorcFGMagenta contained magenta 84 \ nextgroup=@nanorcFGSpec skipwhite 85 86syn keyword nanorcFGCyan contained cyan 87 \ nextgroup=@nanorcFGSpec skipwhite 88 89syn keyword nanorcFGBWhite contained brightwhite 90 \ nextgroup=@nanorcFGSpec skipwhite 91 92syn keyword nanorcFGBBlack contained brightblack 93 \ nextgroup=@nanorcFGSpec skipwhite 94 95syn keyword nanorcFGBRed contained brightred 96 \ nextgroup=@nanorcFGSpec skipwhite 97 98syn keyword nanorcFGBBlue contained brightblue 99 \ nextgroup=@nanorcFGSpec skipwhite 100 101syn keyword nanorcFGBGreen contained brightgreen 102 \ nextgroup=@nanorcFGSpec skipwhite 103 104syn keyword nanorcFGBYellow contained brightyellow 105 \ nextgroup=@nanorcFGSpec skipwhite 106 107syn keyword nanorcFGBMagenta contained brightmagenta 108 \ nextgroup=@nanorcFGSpec skipwhite 109 110syn keyword nanorcFGBCyan contained brightcyan 111 \ nextgroup=@nanorcFGSpec skipwhite 112 113syn cluster nanorcBGColor contains=nanorcBGWhite,nanorcBGBlack, 114 \ nanorcBGRed,nanorcBGBlue,nanorcBGGreen, 115 \ nanorcBGYellow,nanorcBGMagenta,nanorcBGCyan, 116 \ nanorcBGBWhite,nanorcBGBBlack,nanorcBGBRed, 117 \ nanorcBGBBlue,nanorcBGBGreen,nanorcBGBYellow, 118 \ nanorcBGBMagenta,nanorcBGBCyan 119 120syn keyword nanorcBGWhite contained white 121 \ nextgroup=@nanorcBGSpec skipwhite 122 123syn keyword nanorcBGBlack contained black 124 \ nextgroup=@nanorcBGSpec skipwhite 125 126syn keyword nanorcBGRed contained red 127 \ nextgroup=@nanorcBGSpec skipwhite 128 129syn keyword nanorcBGBlue contained blue 130 \ nextgroup=@nanorcBGSpec skipwhite 131 132syn keyword nanorcBGGreen contained green 133 \ nextgroup=@nanorcBGSpec skipwhite 134 135syn keyword nanorcBGYellow contained yellow 136 \ nextgroup=@nanorcBGSpec skipwhite 137 138syn keyword nanorcBGMagenta contained magenta 139 \ nextgroup=@nanorcBGSpec skipwhite 140 141syn keyword nanorcBGCyan contained cyan 142 \ nextgroup=@nanorcBGSpec skipwhite 143 144syn keyword nanorcBGBWhite contained brightwhite 145 \ nextgroup=@nanorcBGSpec skipwhite 146 147syn keyword nanorcBGBBlack contained brightblack 148 \ nextgroup=@nanorcBGSpec skipwhite 149 150syn keyword nanorcBGBRed contained brightred 151 \ nextgroup=@nanorcBGSpec skipwhite 152 153syn keyword nanorcBGBBlue contained brightblue 154 \ nextgroup=@nanorcBGSpec skipwhite 155 156syn keyword nanorcBGBGreen contained brightgreen 157 \ nextgroup=@nanorcBGSpec skipwhite 158 159syn keyword nanorcBGBYellow contained brightyellow 160 \ nextgroup=@nanorcBGSpec skipwhite 161 162syn keyword nanorcBGBMagenta contained brightmagenta 163 \ nextgroup=@nanorcBGSpec skipwhite 164 165syn keyword nanorcBGBCyan contained brightcyan 166 \ nextgroup=@nanorcBGSpec skipwhite 167 168syn match nanorcBGColorSep contained ',' nextgroup=@nanorcBGColor 169 170syn cluster nanorcFGSpec contains=nanorcBGColorSep,nanorcRegexes, 171 \ nanorcStartRegion 172 173syn cluster nanorcBGSpec contains=nanorcRegexes,nanorcStartRegion 174 175syn keyword nanorcStartRegion contained start nextgroup=nanorcStartRegionEq 176 177syn match nanorcStartRegionEq contained '=' nextgroup=nanorcRegion 178 179syn region nanorcRegion contained display oneline start=+"+ 180 \ end=+"\ze\%([[:blank:]]\|$\)+ 181 \ nextgroup=nanorcEndRegion skipwhite 182 183syn keyword nanorcEndRegion contained end nextgroup=nanorcStartRegionEq 184 185syn match nanorcEndRegionEq contained '=' nextgroup=nanorcRegex 186 187syn region nanorcRegex contained display oneline start=+"+ 188 \ end=+"\ze\%([[:blank:]]\|$\)+ 189 190hi def link nanorcTodo Todo 191hi def link nanorcComment Comment 192hi def link nanorcKeyword Keyword 193hi def link nanorcBoolOption Identifier 194hi def link nanorcStringOption Identifier 195hi def link nanorcNumberOption Identifier 196hi def link nanorcSynGroupName String 197hi def link nanorcString String 198hi def link nanorcRegexes nanorcString 199hi def link nanorcNumber Number 200hi def nanorcFGWhite ctermfg=Gray guifg=Gray 201hi def nanorcFGBlack ctermfg=Black guifg=Black 202hi def nanorcFGRed ctermfg=DarkRed guifg=DarkRed 203hi def nanorcFGBlue ctermfg=DarkBlue guifg=DarkBlue 204hi def nanorcFGGreen ctermfg=DarkGreen guifg=DarkGreen 205hi def nanorcFGYellow ctermfg=Brown guifg=Brown 206hi def nanorcFGMagenta ctermfg=DarkMagenta guifg=DarkMagenta 207hi def nanorcFGCyan ctermfg=DarkCyan guifg=DarkCyan 208hi def nanorcFGBWhite ctermfg=White guifg=White 209hi def nanorcFGBBlack ctermfg=DarkGray guifg=DarkGray 210hi def nanorcFGBRed ctermfg=Red guifg=Red 211hi def nanorcFGBBlue ctermfg=Blue guifg=Blue 212hi def nanorcFGBGreen ctermfg=Green guifg=Green 213hi def nanorcFGBYellow ctermfg=Yellow guifg=Yellow 214hi def nanorcFGBMagenta ctermfg=Magenta guifg=Magenta 215hi def nanorcFGBCyan ctermfg=Cyan guifg=Cyan 216hi def link nanorcBGColorSep Normal 217hi def nanorcBGWhite ctermbg=Gray guibg=Gray 218hi def nanorcBGBlack ctermbg=Black guibg=Black 219hi def nanorcBGRed ctermbg=DarkRed guibg=DarkRed 220hi def nanorcBGBlue ctermbg=DarkBlue guibg=DarkBlue 221hi def nanorcBGGreen ctermbg=DarkGreen guibg=DarkGreen 222hi def nanorcBGYellow ctermbg=Brown guibg=Brown 223hi def nanorcBGMagenta ctermbg=DarkMagenta guibg=DarkMagenta 224hi def nanorcBGCyan ctermbg=DarkCyan guibg=DarkCyan 225hi def nanorcBGBWhite ctermbg=White guibg=White 226hi def nanorcBGBBlack ctermbg=DarkGray guibg=DarkGray 227hi def nanorcBGBRed ctermbg=Red guibg=Red 228hi def nanorcBGBBlue ctermbg=Blue guibg=Blue 229hi def nanorcBGBGreen ctermbg=Green guibg=Green 230hi def nanorcBGBYellow ctermbg=Yellow guibg=Yellow 231hi def nanorcBGBMagenta ctermbg=Magenta guibg=Magenta 232hi def nanorcBGBCyan ctermbg=Cyan guibg=Cyan 233hi def link nanorcStartRegion Type 234hi def link nanorcStartRegionEq Operator 235hi def link nanorcRegion nanorcString 236hi def link nanorcEndRegion Type 237hi def link nanorcEndRegionEq Operator 238hi def link nanorcRegex nanoRegexes 239 240let b:current_syntax = "nanorc" 241 242let &cpo = s:cpo_save 243unlet s:cpo_save 244