aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.SharedUI/CSharp-Mode.xshd
blob: cb2520461cf0b140453e28d8250b2b4f6944b70c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
    @(Model.GetAttributesString())
    @(Model.GetModifierString()) class @(Model.Name) @(Model.InheritsFrom.Count > 0 ? " : " + String.Join(", ",Model.InheritsFrom) : null)
    {
        @foreach (var prop in Model.Properties)
        {
            <div>@prop.GenerateCode()</div>
        }

        @foreach (var dp in Model.DependencyProperties)
        {
            <div>@dp.GenerateCode()</div>
        }

        @foreach (var method in Model.Methods)
        {
            <div>@method.GenerateCode()</div>
        }
    }
219'>219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
<?xml version="1.0"?>
<SyntaxDefinition name="C#" extensions=".cs" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
	<!-- The named colors 'Comment' and 'String' are used in SharpDevelop to detect if a line is inside a multiline string/comment -->
	<Color name="Comment" foreground="#608B4E" exampleText="// comment" />
	<Color name="String" foreground="#C67070" exampleText="string text = &quot;Hello, World!&quot;"/>
	<Color name="Char" foreground="#C67070" exampleText="char linefeed = '\n';"/>
	<Color name="Preprocessor" foreground="DimGray" exampleText="#region Title" />
	<Color name="Punctuation" exampleText="a(b.c);" />
	<Color name="ValueTypes" fontWeight="bold" foreground="#025DB4" exampleText="bool b = true;" />
	<Color name="ReferenceTypes" foreground="#4EC9B0" exampleText="object o;" />
	<Color name="MethodCall" foreground="Gainsboro" fontWeight="bold" exampleText="o.ToString();"/>
	<Color name="NumberLiteral" foreground="#E7CA6C" exampleText="3.1415f"/>
	<Color name="ThisOrBaseReference" fontWeight="bold" exampleText="this.Do(); base.Do();"/>
	<Color name="NullOrValueKeywords" fontWeight="bold" exampleText="if (value == null)"/>
	<Color name="Keywords" fontWeight="bold" foreground="#025DB4" exampleText="if (a) {} else {}"/>
	<Color name="GotoKeywords" foreground="#3F8FD6" exampleText="continue; return null;"/>
	<Color name="ContextKeywords" foreground="#3F8FD6" exampleText="var a = from x in y select z;"/>
	<Color name="ExceptionKeywords" fontWeight="bold" foreground="#3F8FD6" exampleText="try {} catch {} finally {}"/>
	<Color name="CheckedKeyword" fontWeight="bold" foreground="DarkGray" exampleText="checked {}"/>
	<Color name="UnsafeKeywords" foreground="#3F8FD6" exampleText="unsafe { fixed (..) {} }"/>
	<Color name="OperatorKeywords" fontWeight="bold" foreground="Pink" exampleText="public static implicit operator..."/>
	<Color name="ParameterModifiers" fontWeight="bold" foreground="DeepPink" exampleText="(ref int a, params int[] b)"/>
	<Color name="Modifiers" foreground="#3F8FD6" exampleText="static readonly int a;"/>
  <Color name="CustomTypes" foreground="#3F8FD6" />
	<Color name="Visibility" fontWeight="bold" foreground="#3F8FD6" exampleText="public override void ToString();"/>
	<Color name="NamespaceKeywords" fontWeight="bold" foreground="#569CD6" exampleText="namespace A.B { using System; }"/>
	<Color name="GetSetAddRemove" foreground="#3F8FD6" exampleText="int Prop { get; set; }"/>
	<Color name="TrueFalse" fontWeight="bold" foreground="#3F8FD6" exampleText="b = false; a = true;" />
	<Color name="TypeKeywords" fontWeight="bold" foreground="#3F8FD6" exampleText="if (x is int) { a = x as int; type = typeof(int); size = sizeof(int); c = new object(); }"/>
	
	<Property name="DocCommentMarker" value="///" />
	
	<RuleSet name="CommentMarkerSet">
		<Keywords fontWeight="bold" foreground="Red">
			<Word>TODO</Word>
			<Word>FIXME</Word>
		</Keywords>
		<Keywords fontWeight="bold" foreground="#E0E000">
			<Word>HACK</Word>
			<Word>UNDONE</Word>
		</Keywords>
	</RuleSet>
	
	<!-- This is the main ruleset. -->
	<RuleSet>
		<Span color="Preprocessor">
			<Begin>\#</Begin>
			<RuleSet name="PreprocessorSet">
				<Span> <!-- preprocessor directives that allows comments -->
					<Begin fontWeight="bold">
						(define|undef|if|elif|else|endif|line)\b
					</Begin>
					<RuleSet>
						<Span color="Comment" ruleSet="CommentMarkerSet">
							<Begin>//</Begin>
						</Span>
					</RuleSet>
				</Span>
				<Span> <!-- preprocessor directives that don't allow comments -->
					<Begin fontWeight="bold">
						(region|endregion|error|warning|pragma)\b
					</Begin>
				</Span>
			</RuleSet>
		</Span>
		
		<Span color="Comment">
			<Begin color="XmlDoc/DocComment">///</Begin>
			<RuleSet>
				<Import ruleSet="XmlDoc/DocCommentSet"/>
				<Import ruleSet="CommentMarkerSet"/>
			</RuleSet>
		</Span>
		
		<Span color="Comment" ruleSet="CommentMarkerSet">
			<Begin>//</Begin>
		</Span>
		
		<Span color="Comment" ruleSet="CommentMarkerSet" multiline="true">
			<Begin>/\*</Begin>
			<End>\*/</End>
		</Span>
		
		<Span color="String">
			<Begin>"</Begin>
			<End>"</End>
			<RuleSet>
				<!-- span for escape sequences -->
				<Span begin="\\" end="."/>
			</RuleSet>
		</Span>
		
		<Span color="Char">
			<Begin>'</Begin>
			<End>'</End>
			<RuleSet>
				<!-- span for escape sequences -->
				<Span begin="\\" end="."/>
			</RuleSet>
		</Span>
		
		<Span color="String" multiline="true">
			<Begin>@"</Begin>
			<End>"</End>
			<RuleSet>
				<!-- span for escape sequences -->
				<Span begin='""' end=""/>
			</RuleSet>
		</Span>
		
		<!-- don't highlight "@int" as keyword -->
		<Rule>
			@[\w\d_]+
		</Rule>

    <Keywords color="CustomTypes">
        @CUSTOM_TYPES@
    </Keywords>
		
		<Keywords color="ThisOrBaseReference">
			<Word>this</Word>
			<Word>base</Word>
		</Keywords>
		
		<Keywords color="TypeKeywords">
			<Word>as</Word>
			<Word>is</Word>
			<Word>new</Word>
			<Word>sizeof</Word>
			<Word>typeof</Word>
			<Word>stackalloc</Word>
		</Keywords>
		
		<Keywords color="TrueFalse">
			<Word>true</Word>
			<Word>false</Word>
		</Keywords>
		
		<Keywords color="Keywords">
			<Word>else</Word>
			<Word>if</Word>
			<Word>switch</Word>
			<Word>case</Word>
			<Word>default</Word>
			<Word>do</Word>
			<Word>for</Word>
			<Word>foreach</Word>
			<Word>in</Word>
			<Word>while</Word>
			<Word>lock</Word>
		</Keywords>
		
		<Keywords color="GotoKeywords">
			<Word>break</Word>
			<Word>continue</Word>
			<Word>goto</Word>
			<Word>return</Word>
		</Keywords>
		
		<Keywords color="ContextKeywords">
			<Word>yield</Word>
			<Word>partial</Word>
			<Word>global</Word>
			<Word>where</Word>
			<Word>select</Word>
			<Word>group</Word>
			<Word>by</Word>
			<Word>into</Word>
			<Word>from</Word>
			<Word>ascending</Word>
			<Word>descending</Word>
			<Word>orderby</Word>
			<Word>let</Word>
			<Word>join</Word>
			<Word>on</Word>
			<Word>equals</Word>
			<Word>var</Word>
			<Word>dynamic</Word>
			<Word>await</Word>
		</Keywords>
		
		<Keywords color="ExceptionKeywords">
			<Word>try</Word>
			<Word>throw</Word>
			<Word>catch</Word>
			<Word>finally</Word>
		</Keywords>
		
		<Keywords color="CheckedKeyword">
			<Word>checked</Word>
			<Word>unchecked</Word>
		</Keywords>
		
		<Keywords color="UnsafeKeywords">
			<Word>fixed</Word>
			<Word>unsafe</Word>
		</Keywords>
		
		<Keywords color="ValueTypes">
			<Word>bool</Word>
			<Word>byte</Word>
			<Word>char</Word>
			<Word>decimal</Word>
			<Word>double</Word>
			<Word>enum</Word>
			<Word>float</Word>
			<Word>int</Word>
			<Word>long</Word>
			<Word>sbyte</Word>
			<Word>short</Word>
			<Word>struct</Word>
			<Word>uint</Word>
			<Word>ushort</Word>
			<Word>ulong</Word>
		</Keywords>
		
		<Keywords color="ReferenceTypes">
			<Word>class</Word>
			<Word>interface</Word>
			<Word>delegate</Word>
			<Word>object</Word>
			<Word>string</Word>
			<Word>void</Word>
		</Keywords>
		
		<Keywords color="OperatorKeywords">
			<Word>explicit</Word>
			<Word>implicit</Word>
			<Word>operator</Word>
		</Keywords>
		
		<Keywords color="ParameterModifiers">
			<Word>params</Word>
			<Word>ref</Word>
			<Word>out</Word>
		</Keywords>
		
		<Keywords color="Modifiers">
			<Word>abstract</Word>
			<Word>const</Word>
			<Word>event</Word>
			<Word>extern</Word>
			<Word>override</Word>
			<Word>readonly</Word>
			<Word>sealed</Word>
			<Word>static</Word>
			<Word>virtual</Word>
			<Word>volatile</Word>
			<Word>async</Word>
		</Keywords>
		
		<Keywords color="Visibility">
			<Word>public</Word>
			<Word>protected</Word>
			<Word>private</Word>
			<Word>internal</Word>
		</Keywords>
		
		<Keywords color="NamespaceKeywords">
			<Word>namespace</Word>
			<Word>using</Word>
      <Word>include</Word> 
		</Keywords>
		
		<Keywords color="GetSetAddRemove">
			<Word>get</Word>
			<Word>set</Word>
			<Word>add</Word>
			<Word>remove</Word>
		</Keywords>
		
		<Keywords color="NullOrValueKeywords">
			<Word>null</Word>
			<Word>value</Word>
		</Keywords>
		
		<!-- Mark previous rule-->
		<Rule color="MethodCall">
		\b
		[\d\w_]+  # an identifier
		(?=\s*\() # followed by (
		</Rule>
		
		<!-- Digits -->
		<Rule color="NumberLiteral">
			\b0[xX][0-9a-fA-F]+  # hex number
		|	
			(	\b\d+(\.[0-9]+)?   #number with optional floating point
			|	\.[0-9]+           #or just starting with floating point
			)
			([eE][+-]?[0-9]+)? # optional exponent
		</Rule>
		
		<Rule color="Punctuation">
			[?,.;()\[\]{}+\-/%*&lt;&gt;^+~!|&amp;]+
		</Rule>
	</RuleSet>
</SyntaxDefinition>