Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 2 | " Language: C# |
| 3 | " Maintainer: Nick Jensen <nickspoon@gmail.com> |
| 4 | " Former Maintainers: Anduin Withers <awithers@anduin.com> |
| 5 | " Johannes Zellner <johannes@zellner.org> |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 6 | " Last Change: 2022-03-01 |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 7 | " Filenames: *.cs |
| 8 | " License: Vim (see :h license) |
| 9 | " Repository: https://github.com/nickspoons/vim-cs |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 10 | " |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 11 | " References: |
| 12 | " - ECMA-334 5th Edition: C# Language Specification |
| 13 | " https://www.ecma-international.org/publications-and-standards/standards/ecma-334/ |
| 14 | " - C# Language Design: Draft 6th Edition and later proposals |
| 15 | " https://github.com/dotnet/csharplang |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 16 | |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 17 | if exists('b:current_syntax') |
| 18 | finish |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 19 | endif |
| 20 | |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 21 | let s:save_cpo = &cpoptions |
| 22 | set cpoptions&vim |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 23 | |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 24 | syn keyword csType bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 25 | syn keyword csType nint nuint " contextual |
| 26 | |
| 27 | syn keyword csStorage enum interface namespace struct |
| 28 | syn match csStorage "\<delegate\>" |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 29 | syn keyword csRepeat break continue do for foreach goto return while |
| 30 | syn keyword csConditional else if switch |
| 31 | syn keyword csLabel case default |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 32 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 33 | syn match csNamespaceAlias "@\=\h\w*\ze\_s*::" display |
| 34 | syn match csGlobalNamespaceAlias "global\ze\_s*::" display |
| 35 | syn cluster csNamespaceAlias contains=csGlobalNamespaceAlias,csNamespaceAlias,csNamespaceAliasQualifier |
| 36 | |
| 37 | " user labels |
| 38 | syn match csLabel display +^\s*\I\i*\s*:\%([^:]\)\@=+ |
| 39 | |
| 40 | " Function pointers |
| 41 | syn match csType "\<delegate\s*\*" contains=csOpSymbols nextgroup=csManagedModifier skipwhite skipempty |
| 42 | syn keyword csManagedModifier managed unmanaged contained |
| 43 | |
| 44 | " Modifiers |
| 45 | syn match csUsingModifier "\<global\ze\_s\+using\>" |
| 46 | syn keyword csAccessModifier internal private protected public |
| 47 | " TODO: in new out |
| 48 | syn keyword csModifier abstract const event override readonly sealed static virtual volatile |
| 49 | syn match csModifier "\<\%(extern\|fixed\|unsafe\)\>" |
| 50 | syn match csModifier "\<partial\ze\_s\+\%(class\|struct\|interface\|record\|void\)\>" |
| 51 | |
| 52 | syn keyword csException try catch finally throw when |
| 53 | syn keyword csLinq ascending by descending equals from group in into join let on orderby select |
| 54 | syn match csLinq "\<where\>" |
| 55 | |
| 56 | " Type parameter constraint clause |
| 57 | syn match csStorage "\<where\>\ze\_s\+@\=\h\w*\_s*:" |
| 58 | |
| 59 | " Async |
| 60 | syn keyword csAsyncModifier async |
| 61 | syn keyword csAsyncOperator await |
| 62 | |
| 63 | syn match csStorage "\<extern\ze\s\+alias\>" |
| 64 | syn match csStorage "\%(\<extern\s\+\)\@16<=alias\>" |
| 65 | |
| 66 | syn match csStatement "\<\%(checked\|unchecked\|unsafe\)\ze\_s*{" |
| 67 | syn match csStatement "\<fixed\ze\_s*(" |
| 68 | syn keyword csStatement lock |
| 69 | syn match csStatement "\<yield\ze\_s\+\%(return\|break\)\>" |
| 70 | |
| 71 | syn match csAccessor "\<\%(get\|set\|init\|add\|remove\)\ze\_s*\%([;{]\|=>\)" |
| 72 | |
| 73 | syn keyword csAccess base |
| 74 | syn match csAccess "\<this\>" |
| 75 | |
| 76 | " Extension method parameter modifier |
| 77 | syn match csModifier "\<this\ze\_s\+@\=\h" |
| 78 | |
| 79 | syn keyword csUnspecifiedStatement as in is nameof operator out params ref sizeof stackalloc using |
| 80 | syn keyword csUnsupportedStatement value |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 81 | syn keyword csUnspecifiedKeyword explicit implicit |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 82 | |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 83 | " Operators |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 84 | syn keyword csTypeOf typeof nextgroup=csTypeOfOperand,csTypeOfError skipwhite skipempty |
| 85 | syn region csTypeOfOperand matchgroup=csParens start="(" end=")" contained contains=csType |
| 86 | syn match csTypeOfError "[^([:space:]]" contained |
| 87 | syn match csKeywordOperator "\<\%(checked\|unchecked\)\ze\_s*(" |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 88 | |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 89 | " Punctuation |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 90 | syn match csBraces "[{}[\]]" display |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 91 | syn match csParens "[()]" display |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 92 | syn match csOpSymbols "+\{1,2}" display |
| 93 | syn match csOpSymbols "-\{1,2}" display |
| 94 | syn match csOpSymbols "=\{1,2}" display |
| 95 | syn match csOpSymbols ">\{1,2}" display |
| 96 | syn match csOpSymbols "<\{1,2}" display |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 97 | syn match csOpSymbols "[!><+\-*/]=" display |
| 98 | syn match csOpSymbols "[!*/^]" display |
| 99 | syn match csOpSymbols "=>" display |
| 100 | syn match csEndColon ";" display |
| 101 | syn match csLogicSymbols "&&" display |
| 102 | syn match csLogicSymbols "||" display |
| 103 | syn match csLogicSymbols "?" display |
| 104 | syn match csLogicSymbols ":" display |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 105 | syn match csNamespaceAliasQualifier "::" display |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 106 | |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 107 | " Generics |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 108 | syn region csGeneric matchgroup=csGenericBraces start="<" end=">" oneline contains=csType,csGeneric,@csNamespaceAlias,csUserType,csUserIdentifier,csUserInterface,csUserMethod |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 109 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 110 | " Comments |
| 111 | " |
| 112 | " PROVIDES: @csCommentHook |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 113 | syn keyword csTodo contained TODO FIXME XXX NOTE HACK TBD |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 114 | syn region csBlockComment start="/\*" end="\*/" contains=@csCommentHook,csTodo,@Spell |
| 115 | syn match csLineComment "//.*$" contains=@csCommentHook,csTodo,@Spell |
| 116 | syn cluster csComment contains=csLineComment,csBlockComment |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 117 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 118 | syn region csSummary start="^\s*/// <summary" end="^\%\(\s*///\)\@!" transparent fold keepend |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 119 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 120 | " xml markup inside '///' and /**...*/ comments |
| 121 | syn cluster xmlRegionHook add=csXmlLineCommentLeader,csXmlBlockCommentMiddle |
| 122 | syn cluster xmlCdataHook add=csXmlLineCommentLeader,csXmlBlockCommentMiddle |
| 123 | syn cluster xmlStartTagHook add=csXmlLineCommentLeader,csXmlBlockCommentMiddle |
| 124 | syn cluster xmlTagHook add=csXmlTag |
| 125 | syn cluster xmlAttribHook add=csXmlAttrib |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 126 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 127 | " https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags |
| 128 | syn keyword csXmlTag contained summary remarks |
| 129 | syn keyword csXmlTag contained returns param paramref exception value |
| 130 | syn keyword csXmlTag contained para list c code example |
| 131 | syn keyword csXmlTag contained inheritdoc include |
| 132 | syn keyword csXmlTag contained see seealso |
| 133 | syn keyword csXmlTag contained typeparam typeparamref |
| 134 | syn keyword csXmlTag contained b i u br a |
| 135 | syn keyword csXmlAttrib contained cref href |
| 136 | |
| 137 | syn match csXmlLineCommentLeader "///" contained |
| 138 | syn match csXmlLineComment "///.*$" contains=csXmlLineCommentLeader,@csXml,@Spell keepend |
| 139 | syn match csXmlBlockCommentMiddle "^\s*\zs\*" contained |
| 140 | syn region csXmlBlockComment start="/\*\*" end="\*/" contains=@csXml,@Spell,csXmlBlockCommentMiddle keepend |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 141 | syn include @csXml syntax/xml.vim |
| 142 | hi def link xmlRegion Comment |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 143 | |
Bram Moolenaar | 560979e | 2020-02-04 22:53:05 +0100 | [diff] [blame] | 144 | " Since syntax/xml.vim contains `syn spell toplevel`, we need to set it back to `default` here. |
| 145 | syn spell default |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 146 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 147 | " Pre-processing directives |
| 148 | syn region csPreProcDeclaration start="^\s*\zs#\s*\%(define\|undef\)\>" end="$" contains=csLineComment keepend |
| 149 | syn region csPreProcConditional start="^\s*\zs#\s*\%(if\|elif\)\>" end="$" contains=csLineComment keepend |
| 150 | syn region csPreProcConditional start="^\s*\zs#\s*\%(else\|endif\)\>" end="$" contains=csLineComment keepend |
| 151 | syn region csPreProcLine start="^\s*\zs#\s*line\>" end="$" contains=csLineComment keepend |
| 152 | syn region csPreProcDiagnostic start="^\s*\zs#\s*\%(error\|warning\)\>" end="$" |
| 153 | syn region csPreProcConditionalSection matchgroup=csPreProcRegion start="^\s*#\s*region\>.*" end="^\s*#\s*endregion\>.*" transparent fold contains=TOP |
| 154 | syn region csPreProcPragma start="^\s*\zs#\s*pragma\>" end="$" contains=csLineComment keepend |
| 155 | syn region csPreProcNullable start="^\s*\zs#\s*nullable\>" end="$" contains=csLineComment keepend |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 156 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 157 | if expand('%:e') == 'csx' || getline('1') =~ '^#!.*\<dotnet-script\>' |
| 158 | syn region csPreProcInclude start="^\s*\zs#\s*\%(load\|r\)\>" end="$" contains=csLineComment keepend |
| 159 | syn match csShebang "\%^#!.*" display |
| 160 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 161 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 162 | syn cluster csPreProcessor contains=csPreProc.* |
| 163 | |
| 164 | syn region csClassType start="\<class\>"hs=s+6 end=">" end="[:{]"me=e-1 contains=csClass |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 165 | " csUserType may be defined by user scripts/plugins - it should be contained in csNewType |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 166 | syn region csNewType start="\<new\>"hs=s+4 end="[;\n{(<\[]"me=e-1 contains=csNew,@csNamespaceAlias,csUserType |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 167 | syn region csIsType start=" is "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs |
| 168 | syn region csIsType start=" as "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs |
| 169 | syn keyword csNew new contained |
| 170 | syn keyword csClass class contained |
| 171 | syn keyword csIsAs is as |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 172 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 173 | syn keyword csBoolean false true |
| 174 | syn keyword csNull null |
| 175 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 176 | " Strings and constants |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 177 | syn match csSpecialError "\\." contained |
| 178 | syn match csSpecialCharError "[^']" contained |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 179 | " Character literals |
| 180 | syn match csSpecialChar +\\["\\'0abfnrtv]+ contained display |
| 181 | syn match csUnicodeNumber +\\x\x\{1,4}+ contained contains=csUnicodeSpecifier display |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 182 | syn match csUnicodeNumber +\\u\x\{4}+ contained contains=csUnicodeSpecifier display |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 183 | syn match csUnicodeNumber +\\U00\x\{6}+ contained contains=csUnicodeSpecifier display |
| 184 | syn match csUnicodeSpecifier +\\[uUx]+ contained display |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 185 | |
| 186 | syn region csString matchgroup=csQuote start=+"+ end=+"+ end=+$+ extend contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell |
Bram Moolenaar | 23515b4 | 2020-11-29 14:36:24 +0100 | [diff] [blame] | 187 | syn match csCharacter "'[^']*'" contains=csSpecialChar,csSpecialCharError,csUnicodeNumber display |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 188 | syn match csCharacter "'\\''" contains=csSpecialChar display |
| 189 | syn match csCharacter "'[^\\]'" display |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 190 | |
| 191 | " Numbers |
| 192 | syn case ignore |
| 193 | syn match csInteger "\<0b[01_]*[01]\%([lu]\|lu\|ul\)\=\>" display |
| 194 | syn match csInteger "\<\d\+\%(_\+\d\+\)*\%([lu]\|lu\|ul\)\=\>" display |
| 195 | syn match csInteger "\<0x[[:xdigit:]_]*\x\%([lu]\|lu\|ul\)\=\>" display |
| 196 | syn match csReal "\<\d\+\%(_\+\d\+\)*\.\d\+\%(_\+\d\+\)*\%\(e[-+]\=\d\+\%(_\+\d\+\)*\)\=[fdm]\=" display |
| 197 | syn match csReal "\.\d\+\%(_\+\d\+\)*\%(e[-+]\=\d\+\%(_\+\d\+\)*\)\=[fdm]\=\>" display |
| 198 | syn match csReal "\<\d\+\%(_\+\d\+\)*e[-+]\=\d\+\%(_\+\d\+\)*[fdm]\=\>" display |
| 199 | syn match csReal "\<\d\+\%(_\+\d\+\)*[fdm]\>" display |
| 200 | syn case match |
| 201 | syn cluster csNumber contains=csInteger,csReal |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 202 | |
Bram Moolenaar | 23515b4 | 2020-11-29 14:36:24 +0100 | [diff] [blame] | 203 | syn region csInterpolatedString matchgroup=csQuote start=+\$"+ end=+"+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,@Spell |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 204 | |
Bram Moolenaar | 23515b4 | 2020-11-29 14:36:24 +0100 | [diff] [blame] | 205 | syn region csInterpolation matchgroup=csInterpolationDelimiter start=+{+ end=+}+ keepend contained contains=@csAll,csBraced,csBracketed,csInterpolationAlign,csInterpolationFormat |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 206 | syn match csEscapedInterpolation "{{" transparent contains=NONE display |
| 207 | syn match csEscapedInterpolation "}}" transparent contains=NONE display |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 208 | syn region csInterpolationAlign matchgroup=csInterpolationAlignDel start=+,+ end=+}+ end=+:+me=e-1 contained contains=@csNumber,csBoolean,csConstant,csCharacter,csParens,csOpSymbols,csString,csBracketed display |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 209 | syn match csInterpolationFormat +:[^}]\+}+ contained contains=csInterpolationFormatDel display |
| 210 | syn match csInterpolationAlignDel +,+ contained display |
| 211 | syn match csInterpolationFormatDel +:+ contained display |
| 212 | |
| 213 | syn region csVerbatimString matchgroup=csQuote start=+@"+ end=+"+ skip=+""+ extend contains=csVerbatimQuote,@Spell |
| 214 | syn match csVerbatimQuote +""+ contained |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 215 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 216 | syn region csInterVerbString matchgroup=csQuote start=+$@"+ start=+@$"+ end=+"+ skip=+""+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,csVerbatimQuote,@Spell |
| 217 | |
| 218 | syn cluster csString contains=csString,csInterpolatedString,csVerbatimString,csInterVerbString |
| 219 | |
| 220 | syn cluster csLiteral contains=csBoolean,@csNumber,csCharacter,@csString,csNull |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 221 | |
Bram Moolenaar | 23515b4 | 2020-11-29 14:36:24 +0100 | [diff] [blame] | 222 | syn region csBracketed matchgroup=csParens start=+(+ end=+)+ extend contained transparent contains=@csAll,csBraced,csBracketed |
| 223 | syn region csBraced matchgroup=csParens start=+{+ end=+}+ extend contained transparent contains=@csAll,csBraced,csBracketed |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 224 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 225 | syn cluster csAll contains=@csLiteral,csClassType,@csComment,csEndColon,csIsType,csLabel,csLogicSymbols,csNewType,csOpSymbols,csParens,@csPreProcessor,csSummary,@csNamespaceAlias,csType,csUnicodeNumber,csUserType,csUserIdentifier,csUserInterface,csUserMethod |
| 226 | |
| 227 | " Keyword identifiers |
| 228 | syn match csIdentifier "@\h\w*" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 229 | |
| 230 | " The default highlighting. |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 231 | hi def link csUnspecifiedStatement Statement |
| 232 | hi def link csUnsupportedStatement Statement |
| 233 | hi def link csUnspecifiedKeyword Keyword |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 234 | |
| 235 | hi def link csGlobalNamespaceAlias Include |
| 236 | |
| 237 | hi def link csType Type |
| 238 | hi def link csClassType Type |
| 239 | hi def link csIsType Type |
| 240 | |
| 241 | hi def link csStorage Structure |
| 242 | hi def link csClass Structure |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 243 | hi def link csNew Statement |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 244 | hi def link csIsAs Keyword |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 245 | hi def link csAccessor Keyword |
| 246 | hi def link csAccess Keyword |
| 247 | |
| 248 | hi def link csLinq Statement |
| 249 | |
| 250 | hi def link csStatement Statement |
| 251 | hi def link csRepeat Repeat |
| 252 | hi def link csConditional Conditional |
| 253 | hi def link csLabel Label |
| 254 | hi def link csException Exception |
| 255 | |
| 256 | hi def link csModifier StorageClass |
| 257 | hi def link csAccessModifier csModifier |
| 258 | hi def link csAsyncModifier csModifier |
| 259 | hi def link csManagedModifier csModifier |
| 260 | hi def link csUsingModifier csModifier |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 261 | |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 262 | hi def link csTodo Todo |
| 263 | hi def link csComment Comment |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 264 | hi def link csLineComment csComment |
| 265 | hi def link csBlockComment csComment |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 266 | |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 267 | hi def link csKeywordOperator Keyword |
| 268 | hi def link csAsyncOperator csKeywordOperator |
| 269 | hi def link csTypeOf csKeywordOperator |
| 270 | hi def link csTypeOfOperand Typedef |
| 271 | hi def link csTypeOfError Error |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 272 | hi def link csOpSymbols Operator |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 273 | hi def link csLogicSymbols Operator |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 274 | |
| 275 | hi def link csSpecialError Error |
| 276 | hi def link csSpecialCharError Error |
| 277 | hi def link csString String |
| 278 | hi def link csQuote String |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 279 | hi def link csInterpolatedString String |
| 280 | hi def link csVerbatimString String |
| 281 | hi def link csInterVerbString String |
| 282 | hi def link csVerbatimQuote SpecialChar |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 283 | |
| 284 | hi def link csPreProc PreProc |
| 285 | hi def link csPreProcDeclaration Define |
| 286 | hi def link csPreProcConditional PreCondit |
| 287 | hi def link csPreProcLine csPreProc |
| 288 | hi def link csPreProcDiagnostic csPreProc |
| 289 | hi def link csPreProcRegion csPreProc |
| 290 | hi def link csPreProcPragma csPreProc |
| 291 | hi def link csPreProcNullable csPreProc |
| 292 | hi def link csPreProcInclude csPreProc |
| 293 | hi def link csShebang csPreProc |
| 294 | |
| 295 | hi def link csConstant Constant |
| 296 | hi def link csNull Constant |
| 297 | hi def link csBoolean Boolean |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 298 | hi def link csCharacter Character |
| 299 | hi def link csSpecialChar SpecialChar |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 300 | hi def link csInteger Number |
| 301 | hi def link csReal Float |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 302 | hi def link csUnicodeNumber SpecialChar |
| 303 | hi def link csUnicodeSpecifier SpecialChar |
| 304 | hi def link csInterpolationDelimiter Delimiter |
| 305 | hi def link csInterpolationAlignDel csInterpolationDelimiter |
| 306 | hi def link csInterpolationFormat csInterpolationDelimiter |
| 307 | hi def link csInterpolationFormatDel csInterpolationDelimiter |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 308 | |
Bram Moolenaar | 088e8e3 | 2019-08-08 22:15:18 +0200 | [diff] [blame] | 309 | hi def link csGenericBraces csBraces |
| 310 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 311 | " xml markup |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 312 | hi def link csXmlLineCommentLeader Comment |
| 313 | hi def link csXmlLineComment Comment |
| 314 | hi def link csXmlBlockComment Comment |
| 315 | hi def link csXmlBlockCommentMiddle csXmlBlockComment |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 316 | hi def link csXmlTag Statement |
Bram Moolenaar | 63f3260 | 2022-06-09 20:45:54 +0100 | [diff] [blame] | 317 | hi def link csXmlAttrib Statement |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 318 | |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 319 | let b:current_syntax = 'cs' |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 320 | |
Bram Moolenaar | d47d522 | 2018-12-09 20:43:55 +0100 | [diff] [blame] | 321 | let &cpoptions = s:save_cpo |
| 322 | unlet s:save_cpo |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 323 | |
Bram Moolenaar | a9604e6 | 2018-07-21 05:56:22 +0200 | [diff] [blame] | 324 | " vim: vts=16,28 |