summaryrefslogtreecommitdiff
path: root/uvim/runtime/syntax/cs.vim
diff options
context:
space:
mode:
Diffstat (limited to 'uvim/runtime/syntax/cs.vim')
-rw-r--r--uvim/runtime/syntax/cs.vim360
1 files changed, 0 insertions, 360 deletions
diff --git a/uvim/runtime/syntax/cs.vim b/uvim/runtime/syntax/cs.vim
deleted file mode 100644
index 3ae6bfca8d..0000000000
--- a/uvim/runtime/syntax/cs.vim
+++ /dev/null
@@ -1,360 +0,0 @@
-" Vim syntax file
-" Language: C#
-" Maintainer: Nick Jensen <nickspoon@gmail.com>
-" Former Maintainers: Anduin Withers <awithers@anduin.com>
-" Johannes Zellner <johannes@zellner.org>
-" Last Change: 2025-03-14
-" Filenames: *.cs
-" License: Vim (see :h license)
-" Repository: https://github.com/nickspoons/vim-cs
-"
-" References:
-" - ECMA-334 5th Edition: C# Language Specification
-" https://www.ecma-international.org/publications-and-standards/standards/ecma-334/
-" - C# Language Design: Draft 6th Edition and later proposals
-" https://github.com/dotnet/csharplang
-
-if exists('b:current_syntax')
- finish
-endif
-
-let s:save_cpo = &cpoptions
-set cpoptions&vim
-
-syn keyword csType bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic
-syn keyword csType nint nuint " contextual
-
-syn keyword csStorage enum interface namespace struct
-syn match csStorage "\<record\ze\_s\+@\=\h\w*\_s*[<(:{;]"
-syn match csStorage "\%(\<\%(partial\|new\|public\|protected\|internal\|private\|abstract\|sealed\|static\|unsafe\|readonly\)\)\@9<=\_s\+record\>"
-syn match csStorage "\<record\ze\_s\+\%(class\|struct\)"
-syn match csStorage "\<delegate\>"
-syn keyword csRepeat break continue do for foreach goto return while
-syn keyword csConditional else if switch
-syn keyword csLabel case default
-
-syn match csNamespaceAlias "@\=\h\w*\ze\_s*::" display
-syn match csGlobalNamespaceAlias "global\ze\_s*::" display
-syn cluster csNamespaceAlias contains=csGlobalNamespaceAlias,csNamespaceAlias,csNamespaceAliasQualifier
-
-" user labels
-syn match csLabel display +^\s*\I\i*\s*:\%([^:]\)\@=+
-
-" Function pointers
-syn match csType "\<delegate\s*\*" contains=csOpSymbols nextgroup=csManagedModifier skipwhite skipempty
-syn keyword csManagedModifier managed unmanaged contained
-
-" Modifiers
-syn match csUsingModifier "\<global\ze\_s\+using\>"
-syn keyword csAccessModifier internal private protected public
-syn keyword csModifier operator nextgroup=csCheckedModifier skipwhite skipempty
-syn keyword csCheckedModifier checked contained
-
-" TODO: in new out
-syn keyword csModifier abstract const event override readonly sealed static virtual volatile
-syn match csModifier "\<\%(extern\|fixed\|unsafe\)\>"
-syn match csModifier "\<partial\ze\_s\+\%(class\|struct\|interface\|record\|void\)\>"
-
-syn keyword csException try catch finally throw when
-syn keyword csLinq ascending by descending equals from group in into join let on orderby select
-syn match csLinq "\<where\>"
-
-" Type parameter constraint clause
-syn match csStorage "\<where\>\ze\_s\+@\=\h\w*\_s*:"
-
-" Async
-syn keyword csAsyncModifier async
-syn keyword csAsyncOperator await
-
-syn match csStorage "\<extern\ze\s\+alias\>"
-syn match csStorage "\%(\<extern\s\+\)\@16<=alias\>"
-
-syn match csStatement "\<\%(checked\|unchecked\|unsafe\)\ze\_s*{"
-syn match csStatement "\<fixed\ze\_s*("
-syn keyword csStatement lock
-syn match csStatement "\<yield\ze\_s\+\%(return\|break\)\>"
-
-syn match csAccessor "\<\%(get\|set\|init\|add\|remove\)\ze\_s*\%([;{]\|=>\)"
-
-syn keyword csAccess base
-syn match csAccess "\<this\>"
-
-" Extension method parameter modifier
-syn match csModifier "\<this\ze\_s\+@\=\h"
-
-syn keyword csUnspecifiedStatement as in is nameof out params ref sizeof stackalloc using
-syn keyword csUnsupportedStatement value
-syn keyword csUnspecifiedKeyword explicit implicit
-
-" Operators
-syn keyword csTypeOf typeof nextgroup=csTypeOfOperand,csTypeOfError skipwhite skipempty
-syn region csTypeOfOperand matchgroup=csParens start="(" end=")" contained contains=csType
-syn match csTypeOfError "[^([:space:]]" contained
-syn match csKeywordOperator "\<\%(checked\|unchecked\)\ze\_s*("
-
-" Punctuation
-syn match csBraces "[{}[\]]" display
-syn match csParens "[()]" display
-syn match csOpSymbols "+\{1,2}" display
-syn match csOpSymbols "-\{1,2}" display
-syn match csOpSymbols "=\{1,2}" display
-syn match csOpSymbols ">\{1,2}" display
-syn match csOpSymbols "<\{1,2}" display
-syn match csOpSymbols "[!><+\-*/]=" display
-syn match csOpSymbols "[!*/^]" display
-syn match csOpSymbols "=>" display
-syn match csEndColon ";" display
-syn match csLogicSymbols "&&" display
-syn match csLogicSymbols "||" display
-syn match csLogicSymbols "?" display
-syn match csLogicSymbols ":" display
-syn match csNamespaceAliasQualifier "::" display
-
-" Generics
-syn region csGeneric matchgroup=csGenericBraces start="<" end=">" oneline contains=csType,csGeneric,@csNamespaceAlias,csUserType,csUserIdentifier,csUserInterface,csUserMethod
-
-" Comments
-"
-" PROVIDES: @csCommentHook
-syn keyword csTodo contained TODO FIXME XXX NOTE HACK TBD
-syn region csBlockComment start="/\*" end="\*/" contains=@csCommentHook,csTodo,@Spell
-syn match csLineComment "//.*$" contains=@csCommentHook,csTodo,@Spell
-syn cluster csComment contains=csLineComment,csBlockComment
-
-syn region csSummary start="^\s*/// <summary" end="^\%\(\s*///\)\@!" transparent fold keepend
-
-" xml markup inside '///' and /**...*/ comments
-syn cluster xmlRegionHook add=csXmlLineCommentLeader,csXmlBlockCommentMiddle
-syn cluster xmlCdataHook add=csXmlLineCommentLeader,csXmlBlockCommentMiddle
-syn cluster xmlStartTagHook add=csXmlLineCommentLeader,csXmlBlockCommentMiddle
-syn cluster xmlTagHook add=csXmlTag
-syn cluster xmlAttribHook add=csXmlAttrib
-
-" https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/recommended-tags
-syn keyword csXmlTag contained summary remarks
-syn keyword csXmlTag contained returns param paramref exception value
-syn keyword csXmlTag contained para list c code example
-syn keyword csXmlTag contained inheritdoc include
-syn keyword csXmlTag contained see seealso
-syn keyword csXmlTag contained typeparam typeparamref
-syn keyword csXmlTag contained b i u br a
-syn keyword csXmlAttrib contained cref href
-
-syn match csXmlLineCommentLeader "///" contained
-syn match csXmlLineComment "///.*$" contains=csXmlLineCommentLeader,@csXml,@Spell keepend
-syn match csXmlBlockCommentMiddle "^\s*\zs\*" contained
-syn region csXmlBlockComment start="/\*\*" end="\*/" contains=@csXml,@Spell,csXmlBlockCommentMiddle keepend
-syn include @csXml syntax/xml.vim
-hi def link xmlRegion Comment
-
-" Since syntax/xml.vim contains `syn spell toplevel`, we need to set it back to `default` here.
-syn spell default
-
-" Pre-processing directives
-syn region csPreProcDeclaration start="^\s*\zs#\s*\%(define\|undef\)\>" end="$" contains=csLineComment keepend
-syn region csPreProcConditional start="^\s*\zs#\s*\%(if\|elif\)\>" end="$" contains=csLineComment keepend
-syn region csPreProcConditional start="^\s*\zs#\s*\%(else\|endif\)\>" end="$" contains=csLineComment keepend
-syn region csPreProcLine start="^\s*\zs#\s*line\>" end="$" contains=csLineComment keepend
-syn region csPreProcDiagnostic start="^\s*\zs#\s*\%(error\|warning\)\>" end="$"
-syn region csPreProcConditionalSection matchgroup=csPreProcRegion start="^\s*#\s*region\>.*" end="^\s*#\s*endregion\>.*" transparent fold contains=TOP
-syn region csPreProcPragma start="^\s*\zs#\s*pragma\>" end="$" contains=csLineComment keepend
-syn region csPreProcNullable start="^\s*\zs#\s*nullable\>" end="$" contains=csLineComment keepend
-
-if expand('%:e') == 'csx' || getline('1') =~ '^#!.*\<dotnet-script\>'
- syn region csPreProcInclude start="^\s*\zs#\s*\%(load\|r\)\>" end="$" contains=csLineComment keepend
- syn match csShebang "\%^#!.*" display
-endif
-
-syn cluster csPreProcessor contains=csPreProc.*
-
-syn region csClassType start="\<class\>"hs=s+6 end=">" end="[:{]"me=e-1 contains=csClass
-" csUserType may be defined by user scripts/plugins - it should be contained in csNewType
-syn region csNewType start="\<new\>"hs=s+4 end="[;\n{(<\[]"me=e-1 contains=csNew,@csNamespaceAlias,csUserType
-syn region csIsType start=" is "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs
-syn region csIsType start=" as "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs
-syn keyword csNew new contained
-syn keyword csClass class contained
-syn keyword csIsAs is as
-
-syn keyword csBoolean false true
-syn keyword csNull null
-
-" Strings and constants
-syn match csSpecialError "\\." contained
-syn match csSpecialCharError "[^']" contained
-" Character literals
-syn match csSpecialChar +\\["\\'0abfnrtv]+ contained display
-syn match csUnicodeNumber +\\x\x\{1,4}+ contained contains=csUnicodeSpecifier display
-syn match csUnicodeNumber +\\u\x\{4}+ contained contains=csUnicodeSpecifier display
-syn match csUnicodeNumber +\\U00\x\{6}+ contained contains=csUnicodeSpecifier display
-syn match csUnicodeSpecifier +\\[uUx]+ contained display
-
-syn region csString matchgroup=csQuote start=+"+ end=+"\%(u8\)\=+ end=+$+ extend contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell
-
-for s:i in range(3, get(g:, "cs_raw_string_quote_count", 8))
- exe 'syn region csRawString' .. s:i .. ' matchgroup=csQuote start=+\z("\{' .. s:i .. '}\)+ end=+\z1+ oneline nextgroup=csRawStringError' .. s:i
- exe 'syn region csRawString' .. s:i .. ' matchgroup=csQuote start=+\z("\{' .. s:i .. '}\)\s*$+ end=+^\s*\z1+ nextgroup=csRawStringError' .. s:i .. ' contains=csRawStringError' .. s:i
- exe 'syn match csRawStringError' .. s:i .. ' /\%("\{' .. s:i .. '}\)\@' .. s:i .. '<="\+/ contained'
- exe 'syn match csRawStringError' .. s:i .. ' /\S.\{-}\s*"\{' .. s:i .. '}"\@!/ contained'
-
- exe 'hi def link csRawString' .. s:i .. ' csString'
- exe 'hi def link csRawStringError' .. s:i .. ' Error'
-endfor
-unlet s:i
-
-syn match csCharacter "'[^']*'" contains=csSpecialChar,csSpecialCharError,csUnicodeNumber display
-syn match csCharacter "'\\''" contains=csSpecialChar display
-syn match csCharacter "'[^\\]'" display
-
-" Numbers
-syn case ignore
-syn match csInteger "\<0b[01_]*[01]\%([lu]\|lu\|ul\)\=\>" display
-syn match csInteger "\<\d\+\%(_\+\d\+\)*\%([lu]\|lu\|ul\)\=\>" display
-syn match csInteger "\<0x[[:xdigit:]_]*\x\%([lu]\|lu\|ul\)\=\>" display
-syn match csReal "\<\d\+\%(_\+\d\+\)*\.\d\+\%(_\+\d\+\)*\%\(e[-+]\=\d\+\%(_\+\d\+\)*\)\=[fdm]\=" display
-syn match csReal "\.\d\+\%(_\+\d\+\)*\%(e[-+]\=\d\+\%(_\+\d\+\)*\)\=[fdm]\=\>" display
-syn match csReal "\<\d\+\%(_\+\d\+\)*e[-+]\=\d\+\%(_\+\d\+\)*[fdm]\=\>" display
-syn match csReal "\<\d\+\%(_\+\d\+\)*[fdm]\>" display
-syn case match
-syn cluster csNumber contains=csInteger,csReal
-
-syn region csInterpolatedString matchgroup=csQuote start=+\$"+ end=+"\%(u8\)\=+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,@Spell
-
-syn region csInterpolation matchgroup=csInterpolationDelimiter start=+{+ end=+}+ keepend contained contains=@csAll,csBraced,csBracketed,csInterpolationAlign,csInterpolationFormat
-syn match csEscapedInterpolation "{{" transparent contains=NONE display
-syn match csEscapedInterpolation "}}" transparent contains=NONE display
-syn region csInterpolationAlign matchgroup=csInterpolationAlignDel start=+,+ end=+}+ end=+:+me=e-1 contained contains=@csNumber,csBoolean,csConstant,csCharacter,csParens,csOpSymbols,csString,csBracketed display
-syn match csInterpolationFormat +:[^}]\+}+ contained contains=csInterpolationFormatDel display
-syn match csInterpolationAlignDel +,+ contained display
-syn match csInterpolationFormatDel +:+ contained display
-
-syn region csVerbatimString matchgroup=csQuote start=+@"+ end=+"\%(u8\)\=+ skip=+""+ extend contains=csVerbatimQuote,@Spell
-
-" Interpolated raw string literals
-for s:i in range(1, get(g:, "cs_raw_string_interpolation_brace_count", 8))
- exe 'syn region csInterpolatedRawString' .. s:i .. ' matchgroup=csQuote start=+$\{' .. s:i .. '}\z("""\+\)+ end=+\z1+ extend contains=csInterpolation' .. s:i .. ',csInterpolationDelimiterError' .. s:i .. ',@Spell'
- exe 'syn match csInterpolationDelimiterError' .. s:i .. ' "}\{' .. s:i .. '}" contained'
- exe 'syn match csInterpolationDelimiterError' .. s:i .. ' "{\{' .. 2 * s:i .. ',}" contained'
- exe 'syn match csInterpolationDelimiterError' .. s:i .. ' "}\{' .. 2 * s:i .. ',}" contained'
- exe 'syn region csInterpolation' .. s:i .. ' matchgroup=csInterpolationDelimiter start=+\%({\{' .. s:i .. '}\)\@' .. s:i .. '<!{\{' .. s:i .. '}{\@!+ end=+}\@<!}\{' .. s:i .. '}\%(}\{' .. s:i .. '}\)\@!+' ..
- \ ' keepend contained contains=@csAll,csBraced,csBracketed,csInterpolationAlign,csInterpolationFormat,csInterpolationDelimiterError' .. s:i
-
- exe 'hi def link csInterpolationDelimiterError' .. s:i .. ' Error'
- exe 'hi def link csInterpolatedRawString' .. s:i .. ' csRawString'
-endfor
-unlet s:i
-
-syn match csVerbatimQuote +""+ contained
-
-syn region csInterVerbString matchgroup=csQuote start=+$@"+ start=+@$"+ end=+"\%(u8\)\=+ skip=+""+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,csVerbatimQuote,@Spell
-
-syn cluster csString contains=csString,csInterpolatedString,csVerbatimString,csInterVerbString,csRawString
-
-syn cluster csLiteral contains=csBoolean,@csNumber,csCharacter,@csString,csNull
-
-syn region csBracketed matchgroup=csParens start=+(+ end=+)+ extend contained transparent contains=@csAll,csBraced,csBracketed
-syn region csBraced matchgroup=csParens start=+{+ end=+}+ extend contained transparent contains=@csAll,csBraced,csBracketed
-
-syn cluster csAll contains=@csLiteral,csClassType,@csComment,csEndColon,csIsType,csLabel,csLogicSymbols,csNewType,csOpSymbols,csParens,@csPreProcessor,csSummary,@csNamespaceAlias,csType,csUnicodeNumber,csUserType,csUserIdentifier,csUserInterface,csUserMethod
-
-" Keyword identifiers
-syn match csIdentifier "@\h\w*"
-
-" The default highlighting.
-hi def link csUnspecifiedStatement Statement
-hi def link csUnsupportedStatement Statement
-hi def link csUnspecifiedKeyword Keyword
-
-hi def link csGlobalNamespaceAlias Include
-
-hi def link csType Type
-hi def link csClassType Type
-hi def link csIsType Type
-
-hi def link csStorage Structure
-hi def link csClass Structure
-hi def link csNew Statement
-hi def link csIsAs Keyword
-hi def link csAccessor Keyword
-hi def link csAccess Keyword
-
-hi def link csLinq Statement
-
-hi def link csStatement Statement
-hi def link csRepeat Repeat
-hi def link csConditional Conditional
-hi def link csLabel Label
-hi def link csException Exception
-
-hi def link csModifier StorageClass
-hi def link csAccessModifier csModifier
-hi def link csAsyncModifier csModifier
-hi def link csCheckedModifier csModifier
-hi def link csManagedModifier csModifier
-hi def link csUsingModifier csModifier
-
-hi def link csTodo Todo
-hi def link csComment Comment
-hi def link csLineComment csComment
-hi def link csBlockComment csComment
-
-hi def link csKeywordOperator Keyword
-hi def link csAsyncOperator csKeywordOperator
-hi def link csTypeOf csKeywordOperator
-hi def link csTypeOfOperand Typedef
-hi def link csTypeOfError Error
-hi def link csOpSymbols Operator
-hi def link csLogicSymbols Operator
-
-hi def link csSpecialError Error
-hi def link csSpecialCharError Error
-hi def link csString String
-hi def link csRawString csString
-hi def link csRawStringError Error
-hi def link csQuote String
-hi def link csInterpolatedString String
-hi def link csVerbatimString String
-hi def link csInterVerbString String
-hi def link csVerbatimQuote SpecialChar
-
-hi def link csPreProc PreProc
-hi def link csPreProcDeclaration Define
-hi def link csPreProcConditional PreCondit
-hi def link csPreProcLine csPreProc
-hi def link csPreProcDiagnostic csPreProc
-hi def link csPreProcRegion csPreProc
-hi def link csPreProcPragma csPreProc
-hi def link csPreProcNullable csPreProc
-hi def link csPreProcInclude csPreProc
-hi def link csShebang csPreProc
-
-hi def link csConstant Constant
-hi def link csNull Constant
-hi def link csBoolean Boolean
-hi def link csCharacter Character
-hi def link csSpecialChar SpecialChar
-hi def link csInteger Number
-hi def link csReal Float
-hi def link csUnicodeNumber SpecialChar
-hi def link csUnicodeSpecifier SpecialChar
-hi def link csInterpolationDelimiter Delimiter
-hi def link csInterpolationAlignDel csInterpolationDelimiter
-hi def link csInterpolationFormat csInterpolationDelimiter
-hi def link csInterpolationFormatDel csInterpolationDelimiter
-
-hi def link csGenericBraces csBraces
-
-" xml markup
-hi def link csXmlLineCommentLeader Comment
-hi def link csXmlLineComment Comment
-hi def link csXmlBlockComment Comment
-hi def link csXmlBlockCommentMiddle csXmlBlockComment
-hi def link csXmlTag Statement
-hi def link csXmlAttrib Statement
-
-let b:current_syntax = 'cs'
-
-let &cpoptions = s:save_cpo
-unlet s:save_cpo
-
-" vim: vts=16,28