Skip to content

Commit d2d05cc

Browse files
committed
Added styling file for ScintilaNet
1 parent 38fa02d commit d2d05cc

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
using System.Drawing;
2+
using ObjectExporter.Core.Globals;
3+
using ScintillaNET;
4+
5+
namespace ObjectExporter.VsPackage.Settings
6+
{
7+
public static class ScintillaStyles
8+
{
9+
public static void InitStyle(Scintilla scintilla, ExportType type)
10+
{
11+
scintilla.StyleResetDefault();
12+
scintilla.Styles[Style.Default].Font = "Consolas";
13+
scintilla.Styles[Style.Default].Size = 10;
14+
scintilla.Styles[Style.Default].ForeColor = Color.Black;
15+
scintilla.StyleClearAll();
16+
17+
switch (type)
18+
{
19+
case ExportType.CSharpObject:
20+
SetCSharpStyle(scintilla);
21+
break;
22+
case ExportType.Json:
23+
SetJsonStyle(scintilla);
24+
break;
25+
case ExportType.Xml:
26+
SetXmlStyle(scintilla);
27+
break;
28+
}
29+
}
30+
31+
public static void SetCSharpStyle(Scintilla scintilla)
32+
{
33+
scintilla.Styles[Style.Cpp.Comment].ForeColor = Color.FromArgb(0, 128, 0); // Green
34+
scintilla.Styles[Style.Cpp.CommentLine].ForeColor = Color.FromArgb(0, 128, 0); // Green
35+
scintilla.Styles[Style.Cpp.CommentLineDoc].ForeColor = Color.FromArgb(128, 128, 128); // Gray
36+
scintilla.Styles[Style.Cpp.Number].ForeColor = Color.Olive;
37+
38+
scintilla.Styles[Style.Cpp.Default].ForeColor = Color.Black;
39+
40+
scintilla.Styles[Style.Cpp.Word].ForeColor = Color.Blue;
41+
scintilla.Styles[Style.Cpp.Word2].ForeColor = Color.Blue;
42+
43+
scintilla.Styles[Style.Cpp.String].ForeColor = Color.FromArgb(163, 21, 21); // Red
44+
scintilla.Styles[Style.Cpp.Character].ForeColor = Color.FromArgb(163, 21, 21); // Red
45+
scintilla.Styles[Style.Cpp.Verbatim].ForeColor = Color.FromArgb(163, 21, 21); // Red
46+
scintilla.Styles[Style.Cpp.StringEol].BackColor = Color.Pink;
47+
scintilla.Styles[Style.Cpp.Operator].ForeColor = Color.Purple;
48+
scintilla.Styles[Style.Cpp.Preprocessor].ForeColor = Color.Maroon;
49+
50+
// Set the keywords
51+
// TODO move to ReservedKeywords.cs
52+
scintilla.SetKeywords(0, "abstract as base break case catch checked continue default delegate do else event explicit extern false finally fixed for foreach goto if implicit in interface internal is lock namespace new null object operator out override params private protected public readonly ref return sealed sizeof stackalloc switch this throw true try typeof unchecked unsafe using virtual while");
53+
scintilla.SetKeywords(1, "bool byte char class const decimal double enum float int long sbyte short static string struct uint ulong ushort void");
54+
}
55+
56+
public static void SetXmlStyle(Scintilla scintilla)
57+
{
58+
scintilla.Styles[Style.Xml.Entity].ForeColor = Color.Red;
59+
scintilla.Styles[Style.Xml.Comment].ForeColor = Color.Green;
60+
scintilla.Styles[Style.Xml.Tag].ForeColor = Color.Blue;
61+
scintilla.Styles[Style.Xml.TagEnd].ForeColor = Color.Blue;
62+
scintilla.Styles[Style.Xml.DoubleString].ForeColor = Color.DeepPink;
63+
scintilla.Styles[Style.Xml.SingleString].ForeColor = Color.DeepPink;
64+
}
65+
66+
public static void SetJsonStyle(Scintilla scintilla)
67+
{
68+
scintilla.Styles[Style.Json.Number].ForeColor = Color.Olive;
69+
scintilla.Styles[Style.Json.String].ForeColor = Color.Maroon;
70+
scintilla.Styles[Style.Json.Operator].ForeColor = IntToColor(0xE0E0E0);
71+
}
72+
73+
private static Color IntToColor(int rgb)
74+
{
75+
return Color.FromArgb(255, (byte)(rgb >> 16), (byte)(rgb >> 8), (byte)rgb);
76+
}
77+
}
78+
}

0 commit comments

Comments
 (0)