📄 actiprosoftware.csharp.xml
字号:
<SyntaxLanguage Key="C#" LanguageDefinitionVersion="4.0" Secure="True" WordContainsAdditionalCharacters="@_"
SyntaxLanguageTypeName="CodeHighlighterTest.CSharpDynamicSyntaxLanguage, CodeHighlighterTest"
xmlns="http://ActiproSoftware/SyntaxEditor/4.0/LanguageDefinition">
<!-- String Properties -->
<Properties>
<Property Key="Creator" Value="Actipro Software LLC" />
<Property Key="Copyright" Value="Copyright (c) 2001-2006 Actipro Software LLC. All rights reserved." />
</Properties>
<!-- Triggers -->
<Triggers>
<AutoReplaceTrigger Key="AutoReplaceTrigger">
<AutoReplaceTriggerActivators>
<AutoReplaceTriggerActivator Character=" " />
<AutoReplaceTriggerActivator Character="	" />
<AutoReplaceTriggerActivator Character="
" />
<AutoReplaceTriggerActivator Character="." />
<AutoReplaceTriggerActivator Character="," />
<AutoReplaceTriggerActivator Character=":" />
<AutoReplaceTriggerActivator Character=";" />
<AutoReplaceTriggerActivator Character="=" />
<AutoReplaceTriggerActivator Character="(" />
<AutoReplaceTriggerActivator Character=")" />
<AutoReplaceTriggerActivator Character="[" />
<AutoReplaceTriggerActivator Character="]" />
<AutoReplaceTriggerActivator Character="{" />
<AutoReplaceTriggerActivator Character="}" />
</AutoReplaceTriggerActivators>
<AutoReplaceTriggerValidStates>
<AutoReplaceTriggerValidState State="DefaultState" />
</AutoReplaceTriggerValidStates>
</AutoReplaceTrigger>
<KeyPressTrigger Key="MemberListTrigger" Character=".">
<KeyPressTriggerValidStates>
<KeyPressTriggerValidState State="DefaultState" />
</KeyPressTriggerValidStates>
</KeyPressTrigger>
<KeyPressTrigger Key="XMLCommentTagListTrigger" Character="<">
<KeyPressTriggerValidStates>
<KeyPressTriggerValidState State="XMLCommentState" />
</KeyPressTriggerValidStates>
</KeyPressTrigger>
</Triggers>
<!-- Highlighting Styles -->
<Styles>
<!-- Optional Styles to Override Built-In Styles -->
<Style Key="BracketHighlightingStyle" Name="Bracket Highlighted Text" BackColor="Silver" />
<Style Key="CollapsibleTextStyle" Name="Collapsible Text" ForeColor="Gray" BorderStyle="Solid" BorderCornerStyle="SinglePixelRounded" />
<Style Key="CodeSnippetFieldStyle" Name="Code Snippet Field" BackColor="#BFE4BF" BorderStyle="Solid" />
<Style Key="CodeSnippetDependentFieldStyle" Name="Code Snippet Dependent Field" BorderStyle="Dot" />
<!-- C# Styles -->
<Style Key="ReservedWordStyle" ForeColor="Blue" />
<Style Key="NativeTypeStyle" ForeColor="Blue" />
<Style Key="OperatorStyle" ForeColor="Black" />
<Style Key="NumberStyle" ForeColor="Purple" />
<Style Key="StringDelimiterStyle" ForeColor="Maroon" />
<Style Key="StringDefaultStyle" ForeColor="Maroon" />
<Style Key="CommentDelimiterStyle" ForeColor="Green" />
<Style Key="CommentURLStyle" ForeColor="Green" UnderlineStyle="Solid" CursorName="Hand" CursorModifierKeys="AnyControl" />
<Style Key="CommentDefaultStyle" ForeColor="Green" />
<Style Key="XMLCommentDelimiterStyle" ForeColor="Gray" />
<Style Key="XMLCommentTagStyle" ForeColor="Gray" />
<Style Key="XMLCommentURLStyle" ForeColor="Green" UnderlineStyle="Solid" CursorName="Hand" CursorModifierKeys="AnyControl" />
<Style Key="XMLCommentDefaultStyle" ForeColor="Green" />
<Style Key="PreProcessorDirectiveKeywordStyle" Name="Pre-Processor Directive Keyword" ForeColor="Blue" />
<Style Key="PreProcessorDirectiveDefaultStyle" Name="Pre-Processor Directive Default" ForeColor="Black" />
<Style Key="UserDefinedIdentifierStyle" ForeColor="Navy" Bold="True" />
</Styles>
<!-- Macros -->
<Macros>
<!-- URL -->
<Macro Key="URLMacro" Value="https?:// [\w\-]+ (\. [\w\-]+)* (/ [\w\-./?%=]*)?" />
</Macros>
<!-- States -->
<States>
<!-- Code -->
<State Key="DefaultState">
<!-- Patterns Groups -->
<PatternGroups>
<!-- Whitespace -->
<RegexPatternGroup TokenKey="WhitespaceToken" PatternValue="{WhitespaceMacro}+" IsWhitespace="True" />
<!-- Line Terminators -->
<RegexPatternGroup TokenKey="LineTerminatorToken" PatternValue="{LineTerminatorMacro}" IsWhitespace="True" />
<!-- Brackets -->
<ExplicitPatternGroup Key="OpenParenthesisPatternGroup" TokenKey="OpenParenthesisToken" PatternValue="(" EndBracket="CloseParenthesisPatternGroup" />
<ExplicitPatternGroup Key="CloseParenthesisPatternGroup" TokenKey="CloseParenthesisToken" PatternValue=")" StartBracket="OpenParenthesisPatternGroup" />
<ExplicitPatternGroup Key="OpenCurlyBracePatternGroup" TokenKey="OpenCurlyBraceToken" PatternValue="{" EndBracket="CloseCurlyBracePatternGroup" />
<ExplicitPatternGroup Key="CloseCurlyBracePatternGroup" TokenKey="CloseCurlyBraceToken" PatternValue="}" StartBracket="OpenCurlyBracePatternGroup" />
<ExplicitPatternGroup Key="OpenSquareBracePatternGroup" TokenKey="OpenSquareBraceToken" PatternValue="[" EndBracket="CloseSquareBracePatternGroup" />
<ExplicitPatternGroup Key="CloseSquareBracePatternGroup" TokenKey="CloseSquareBraceToken" PatternValue="]" StartBracket="OpenSquareBracePatternGroup" />
<!-- Punctuation -->
<ExplicitPatternGroup TokenKey="PunctuationToken">
<ExplicitPatterns>
. , : ;
</ExplicitPatterns>
</ExplicitPatternGroup>
<!-- Null -->
<ExplicitPatternGroup TokenKey="NullToken" Style="ReservedWordStyle" PatternValue="null" LookAhead="{NonWordMacro}|\z" CaseSensitivity="Sensitive" />
<!-- Native Types -->
<ExplicitPatternGroup TokenKey="NativeTypeToken" Style="NativeTypeStyle" LookAhead="{NonWordMacro}|\z" CaseSensitivity="Sensitive">
<ExplicitPatterns>
object bool string int byte char float sbyte short long ushort uint ulong double decimal
</ExplicitPatterns>
</ExplicitPatternGroup>
<!-- Booleans -->
<ExplicitPatternGroup TokenKey="BooleanToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}|\z" CaseSensitivity="Sensitive">
<ExplicitPatterns>
false true
</ExplicitPatterns>
</ExplicitPatternGroup>
<!-- Reserved Words -->
<ExplicitPatternGroup TokenKey="ReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}|\z" CaseSensitivity="Sensitive">
<ExplicitPatterns>
as break case catch class else
for foreach get
abstract base checked const continue default delegate do enum
event explicit extern finally fixed global goto
if in internal is
new private protected public return
implicit interface lock namespace operator out override params partial readonly ref
this try typeof
sealed set sizeof stackalloc static struct switch throw unchecked unsafe
using virtual void volatile where while yield
</ExplicitPatterns>
</ExplicitPatternGroup>
<!-- Identifier -->
<RegexPatternGroup TokenKey="IdentifierToken" PatternValue="@? (_ | {AlphaMacro})({WordMacro})*" />
<!-- Operators -->
<ExplicitPatternGroup TokenKey="OperatorToken" Style="OperatorStyle">
<ExplicitPatterns>
=== !==
== !=
= !
++ --
+= -= *= /= %=
->
+ - * / %
&& ||
&= |= ^=
& | ~ ^
<<= >>=
<< >>
<= < >= >
?? ?
</ExplicitPatterns>
</ExplicitPatternGroup>
<!-- Numbers -->
<RegexPatternGroup TokenKey="RealNumberToken" Style="NumberStyle" LookAhead="{NonWordMacro}|\z">
<RegexPattern Value="{DigitMacro}* \. {DigitMacro}+ ([Ee] [\+\-]? {DigitMacro}+)? [FfDdMm]?" />
<RegexPattern Value="{DigitMacro}+ [Ee] [\+\-]? {DigitMacro}+ [FfDdMm]" />
</RegexPatternGroup>
<RegexPatternGroup TokenKey="IntegerNumberToken" Style="NumberStyle" PatternValue="{DigitMacro}+ (([Uu]? [Ll]?) | ([Ll]? [Uu]?))" LookAhead="{NonWordMacro}|\z" />
<RegexPatternGroup TokenKey="HexIntegerNumberToken" Style="NumberStyle" PatternValue="0 [xX] {HexDigitMacro}+ (([Uu]? [Ll]?) | ([Ll]? [Uu]?))" LookAhead="{NonWordMacro}|\z" />
</PatternGroups>
<!-- Child States -->
<ChildStates>
<ChildState Key="CharacterState" />
<ChildState Key="StringState" />
<ChildState Key="MultiLineCommentState" />
<ChildState Key="XMLCommentState" />
<ChildState Key="CommentState" />
<ChildState Key="VerbatimStringState" />
<ChildState Key="PreProcessorDirectiveState" />
</ChildStates>
</State>
<!-- Characters -->
<State Key="CharacterState" TokenKey="CharacterDefaultToken" Style="StringDefaultStyle">
<!-- Scopes -->
<Scopes>
<Scope>
<ExplicitPatternGroup Type="StartScope" TokenKey="CharacterStartToken" Style="StringDelimiterStyle" PatternValue="'" />
<RegexPatternGroup Type="EndScope" TokenKey="CharacterEndToken" Style="StringDelimiterStyle" PatternValue="['\n]" />
</Scope>
</Scopes>
<!-- Patterns Groups -->
<PatternGroups>
<RegexPatternGroup TokenKey="CharacterEscapedCharacterToken" PatternValue="\\x {HexDigitMacro}{1,4}" />
<RegexPatternGroup TokenKey="CharacterEscapedCharacterToken" PatternValue="\\u {HexDigitMacro}{4,4}" />
<RegexPatternGroup TokenKey="CharacterEscapedCharacterToken" PatternValue="\\U {HexDigitMacro}{8,8}" />
<RegexPatternGroup TokenKey="CharacterEscapedCharacterToken" PatternValue="\\." />
<RegexPatternGroup TokenKey="CharacterWhitespaceToken" PatternValue="{WhitespaceMacro}+" IsWhitespace="True" />
<RegexPatternGroup TokenKey="CharacterWordToken" PatternValue="\w+" />
<RegexPatternGroup TokenKey="CharacterDefaultToken" PatternValue="[^'\n]" />
</PatternGroups>
</State>
<!-- Strings -->
<State Key="StringState" TokenKey="StringDefaultToken" Style="StringDefaultStyle">
<!-- Scopes -->
<Scopes>
<Scope>
<ExplicitPatternGroup Type="StartScope" TokenKey="StringStartToken" Style="StringDelimiterStyle" PatternValue=""" />
<RegexPatternGroup Type="EndScope" TokenKey="StringEndToken" Style="StringDelimiterStyle" PatternValue="[\"\n]" />
</Scope>
</Scopes>
<!-- Patterns Groups -->
<PatternGroups>
<RegexPatternGroup TokenKey="StringEscapedCharacterToken" PatternValue="\\x {HexDigitMacro}{1,4}" />
<RegexPatternGroup TokenKey="StringEscapedCharacterToken" PatternValue="\\u {HexDigitMacro}{4,4}" />
<RegexPatternGroup TokenKey="StringEscapedCharacterToken" PatternValue="\\U {HexDigitMacro}{8,8}" />
<RegexPatternGroup TokenKey="StringEscapedCharacterToken" PatternValue="\\." />
<RegexPatternGroup TokenKey="StringWhitespaceToken" PatternValue="{WhitespaceMacro}+" IsWhitespace="True" />
<RegexPatternGroup TokenKey="StringWordToken" PatternValue="\w+" />
<RegexPatternGroup TokenKey="StringDefaultToken" PatternValue="[^\"\n]" />
</PatternGroups>
</State>
<!-- Verbatim Strings -->
<State Key="VerbatimStringState" TokenKey="VerbatimStringDefaultToken" Style="StringDefaultStyle">
<!-- Scopes -->
<Scopes>
<Scope>
<ExplicitPatternGroup Type="StartScope" TokenKey="VerbatimStringStartToken" Style="StringDelimiterStyle" PatternValue="@"" />
<ExplicitPatternGroup Type="EndScope" TokenKey="VerbatimStringEndToken" Style="StringDelimiterStyle" PatternValue=""" />
</Scope>
</Scopes>
<!-- Patterns Groups -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -