Browse Source

Add the VS Dark+ theme from VS Code

pull/2906/head
Lucas Trzesniewski 2 years ago
parent
commit
0fef34e502
  1. 87
      ILSpy/Themes/Theme.VSCodeDarkPlus.xaml
  2. 6
      ILSpy/Themes/ThemeManager.cs

87
ILSpy/Themes/Theme.VSCodeDarkPlus.xaml

@ -0,0 +1,87 @@ @@ -0,0 +1,87 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:themes="clr-namespace:ICSharpCode.ILSpy.Themes">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Theme.Dark.xaml" />
</ResourceDictionary.MergedDictionaries>
<!--
Colors taken from the VS Code Dark+ theme
https://github.com/microsoft/vscode/blob/main/extensions/theme-defaults/themes/dark_vs.json
https://github.com/microsoft/vscode/blob/main/extensions/theme-defaults/themes/dark_plus.json
-->
<SolidColorBrush x:Key="{x:Static themes:ResourceKeys.TextBackgroundColor}" Color="#1E1E1E" />
<SolidColorBrush x:Key="{x:Static themes:ResourceKeys.TextForegroundColor}" Color="#D4D4D4" />
<!-- ILAsm -->
<themes:SyntaxColor x:Key="SyntaxColor.ILAsm.Comment" Foreground="#6A9955" />
<themes:SyntaxColor x:Key="SyntaxColor.ILAsm.String" Foreground="#ce9178" />
<themes:SyntaxColor x:Key="SyntaxColor.ILAsm.Instructions" Foreground="#C586C0" />
<themes:SyntaxColor x:Key="SyntaxColor.ILAsm.Keywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.ILAsm.Directives" Foreground="#DCDCAA" />
<themes:SyntaxColor x:Key="SyntaxColor.ILAsm.Security" Foreground="#569cd6" />
<!-- Asm -->
<themes:SyntaxColor x:Key="SyntaxColor.Asm.Comment" Foreground="#6A9955" />
<themes:SyntaxColor x:Key="SyntaxColor.Asm.NumberLiteral" Foreground="#b5cea8" />
<themes:SyntaxColor x:Key="SyntaxColor.Asm.String" Foreground="#ce9178" />
<themes:SyntaxColor x:Key="SyntaxColor.Asm.Instructions" Foreground="#C586C0" />
<themes:SyntaxColor x:Key="SyntaxColor.Asm.Math Instructions" Foreground="#C586C0" />
<themes:SyntaxColor x:Key="SyntaxColor.Asm.Extended Instructions" Foreground="#C586C0" />
<themes:SyntaxColor x:Key="SyntaxColor.Asm.Registers" Foreground="#DCDCAA" />
<themes:SyntaxColor x:Key="SyntaxColor.Asm.Directives" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.Asm.Directive Operands" Foreground="#DCDCAA" />
<!-- CSharp -->
<themes:SyntaxColor x:Key="SyntaxColor.C#.Comment" Foreground="#6A9955" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.String" Foreground="#ce9178" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.StringInterpolation" Foreground="#d16969" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.Char" Foreground="#ce9178" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.Preprocessor" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.Punctuation" Foreground="#D4D4D4" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.ValueTypeKeywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.ReferenceTypeKeywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.NumberLiteral" Foreground="#b5cea8" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.ThisOrBaseReference" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.NullOrValueKeywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.Keywords" Foreground="#C586C0" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.GotoKeywords" Foreground="#C586C0" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.QueryKeywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.ExceptionKeywords" Foreground="#C586C0" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.CheckedKeyword" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.UnsafeKeywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.OperatorKeywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.ParameterModifiers" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.Modifiers" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.Visibility" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.NamespaceKeywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.GetSetAddRemove" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.TrueFalse" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.TypeKeywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.AttributeKeywords" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.ReferenceTypes" Foreground="#4EC9B0" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.InterfaceTypes" Foreground="#4EC9B0" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.TypeParameters" Foreground="#4EC9B0" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.DelegateTypes" Foreground="#4EC9B0" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.ValueTypes" Foreground="#4EC9B0" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.EnumTypes" Foreground="#4EC9B0" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.MethodCall" Foreground="#DCDCAA" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.FieldAccess" Foreground="#9CDCFE" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.InactiveCode" Foreground="#A6A6A6" />
<themes:SyntaxColor x:Key="SyntaxColor.C#.SemanticError" Foreground="#f44747" />
<!-- XML -->
<themes:SyntaxColor x:Key="SyntaxColor.XML.Comment" Foreground="#6A9955" />
<themes:SyntaxColor x:Key="SyntaxColor.XML.CData" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.XML.DocType" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.XML.XmlDeclaration" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.XML.XmlTag" Foreground="#569cd6" />
<themes:SyntaxColor x:Key="SyntaxColor.XML.AttributeName" Foreground="#9cdcfe" />
<themes:SyntaxColor x:Key="SyntaxColor.XML.AttributeValue" Foreground="#ce9178" />
<themes:SyntaxColor x:Key="SyntaxColor.XML.Entity" Foreground="#b5cea8" />
<themes:SyntaxColor x:Key="SyntaxColor.XML.BrokenEntity" Foreground="#f44747" />
</ResourceDictionary>

6
ILSpy/Themes/ThemeManager.cs

@ -45,9 +45,10 @@ namespace ICSharpCode.ILSpy.Themes @@ -45,9 +45,10 @@ namespace ICSharpCode.ILSpy.Themes
public string DefaultTheme => "Light";
public static IReadOnlyCollection<string> AllThemes => new[] {
"Dark",
"Light",
"VS Code Light+"
"Dark",
"VS Code Light+",
"VS Code Dark+"
};
public string? Theme {
@ -92,7 +93,6 @@ namespace ICSharpCode.ILSpy.Themes @@ -92,7 +93,6 @@ namespace ICSharpCode.ILSpy.Themes
var themeFileName = _theme
.Replace("+", "Plus")
.Replace("#", "Sharp")
.Replace(" ", "");
_themeDictionaryContainer.MergedDictionaries.Clear();

Loading…
Cancel
Save