From 660dc88001868af4b00dd1791fa03a7bf0f6d03f Mon Sep 17 00:00:00 2001 From: Paddy Date: Sun, 20 Feb 2022 18:55:28 +0100 Subject: [PATCH] #1080: dark theme support for the text viewer --- .../QuickLook.Plugin.TextViewer/Plugin.cs | 67 ++++++++++++------- .../QuickLook.Plugin.TextViewer.csproj | 7 +- .../Syntax/Dark/.gitkeep | 0 .../Syntax/{ => Light}/ANTLR.xshd | 0 .../Syntax/{ => Light}/ActionScript.xshd | 0 .../Syntax/{ => Light}/Ada.xshd | 0 .../Syntax/{ => Light}/Assembly.xshd | 0 .../Syntax/{ => Light}/AutoHotkey.xshd | 0 .../Syntax/{ => Light}/Batch.xshd | 0 .../Syntax/{ => Light}/Boo.xshd | 0 .../Syntax/{ => Light}/C#.xshd | 0 .../Syntax/{ => Light}/C++.xshd | 0 .../Syntax/{ => Light}/C.xshd | 0 .../Syntax/{ => Light}/CSS.xshd | 0 .../Syntax/{ => Light}/Ceylon.xshd | 0 .../Syntax/{ => Light}/ChucK.xshd | 0 .../Syntax/{ => Light}/Clojure.xshd | 0 .../Syntax/{ => Light}/Cocoa.xshd | 0 .../Syntax/{ => Light}/CoffeeScript.xshd | 0 .../Syntax/{ => Light}/Cool.xshd | 0 .../Syntax/{ => Light}/D.xshd | 0 .../Syntax/{ => Light}/Dart.xshd | 0 .../Syntax/{ => Light}/Delphi.xshd | 0 .../Syntax/{ => Light}/Eiffel.xshd | 0 .../Syntax/{ => Light}/Elixir.xshd | 0 .../Syntax/{ => Light}/Erlang.xshd | 0 .../Syntax/{ => Light}/F#.xshd | 0 .../Syntax/{ => Light}/Falcon.xshd | 0 .../Syntax/{ => Light}/Fantom.xshd | 0 .../Syntax/{ => Light}/Fortran95.xshd | 0 .../Syntax/{ => Light}/Go.xshd | 0 .../Syntax/{ => Light}/Goovy.xshd | 0 .../Syntax/{ => Light}/Gui4Cli.xshd | 0 .../Syntax/{ => Light}/HTML.xshd | 0 .../Syntax/{ => Light}/Haskell.xshd | 0 .../Syntax/{ => Light}/Haxe.xshd | 0 .../Syntax/{ => Light}/ILYC.xshd | 0 .../Syntax/{ => Light}/INI.xshd | 0 .../Syntax/{ => Light}/Icon.xshd | 0 .../Syntax/{ => Light}/Io.xshd | 0 .../Syntax/{ => Light}/JSON.xshd | 0 .../Syntax/{ => Light}/Java.xshd | 0 .../Syntax/{ => Light}/JavaScript.xshd | 0 .../Syntax/{ => Light}/Julia.xshd | 0 .../Syntax/{ => Light}/Just BASIC.xshd | 0 .../Syntax/{ => Light}/KiXtart.xshd | 0 .../Syntax/{ => Light}/Kotlin.xshd | 0 .../Syntax/{ => Light}/Lean.xshd | 0 .../Syntax/{ => Light}/Lisp.xshd | 0 .../Syntax/{ => Light}/Lua.xshd | 0 .../Syntax/{ => Light}/Nemerle.xshd | 0 .../Syntax/{ => Light}/Nim.xshd | 0 .../Syntax/{ => Light}/OCaml.xshd | 0 .../Syntax/{ => Light}/Objective-C.xshd | 0 .../Syntax/{ => Light}/PHP.xshd | 0 .../Syntax/{ => Light}/ParaSail.xshd | 0 .../Syntax/{ => Light}/Pascal.xshd | 0 .../Syntax/{ => Light}/Pike.xshd | 0 .../Syntax/{ => Light}/PowerShell.xshd | 0 .../Syntax/{ => Light}/Prolog.xshd | 0 .../Syntax/{ => Light}/PureScript.xshd | 0 .../Syntax/{ => Light}/Python.xshd | 0 .../Syntax/{ => Light}/R.xshd | 0 .../Syntax/{ => Light}/Registry.xshd | 0 .../Syntax/{ => Light}/Resource.xshd | 0 .../Syntax/{ => Light}/Rexx.xshd | 0 .../Syntax/{ => Light}/Ruby.xshd | 0 .../Syntax/{ => Light}/Rust.xshd | 0 .../Syntax/{ => Light}/SQF.xshd | 0 .../Syntax/{ => Light}/SQL.xshd | 0 .../Syntax/{ => Light}/Scala.xshd | 0 .../Syntax/{ => Light}/Scheme.xshd | 0 .../Syntax/{ => Light}/Solidity.xshd | 0 .../Syntax/{ => Light}/Spike.xshd | 0 .../Syntax/{ => Light}/Swift.xshd | 0 .../Syntax/{ => Light}/TCL.xshd | 0 .../Syntax/{ => Light}/Thrift.xshd | 0 .../Syntax/{ => Light}/TypeScript.xshd | 0 .../Syntax/{ => Light}/VBNET.xshd | 0 .../Syntax/{ => Light}/VBScript.xshd | 0 .../Syntax/{ => Light}/VHDL.xshd | 0 .../Syntax/{ => Light}/VS Solution.xshd | 0 .../Syntax/{ => Light}/Vala.xshd | 0 .../Syntax/{ => Light}/Verilog.xshd | 0 .../Syntax/{ => Light}/Volt.xshd | 0 .../Syntax/{ => Light}/X10.xshd | 0 .../Syntax/{ => Light}/XC.xshd | 0 .../Syntax/{ => Light}/XML.xshd | 0 .../Syntax/{ => Light}/Xtend.xshd | 0 .../TextViewerPanel.cs | 14 +++- .../QuickLook.Plugin.TextViewer/app.config | 11 +++ .../packages.config | 2 +- 92 files changed, 71 insertions(+), 30 deletions(-) create mode 100644 QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Dark/.gitkeep rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/ANTLR.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/ActionScript.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Ada.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Assembly.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/AutoHotkey.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Batch.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Boo.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/C#.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/C++.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/C.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/CSS.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Ceylon.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/ChucK.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Clojure.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Cocoa.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/CoffeeScript.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Cool.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/D.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Dart.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Delphi.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Eiffel.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Elixir.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Erlang.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/F#.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Falcon.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Fantom.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Fortran95.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Go.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Goovy.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Gui4Cli.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/HTML.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Haskell.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Haxe.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/ILYC.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/INI.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Icon.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Io.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/JSON.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Java.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/JavaScript.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Julia.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Just BASIC.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/KiXtart.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Kotlin.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Lean.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Lisp.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Lua.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Nemerle.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Nim.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/OCaml.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Objective-C.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/PHP.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/ParaSail.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Pascal.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Pike.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/PowerShell.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Prolog.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/PureScript.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Python.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/R.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Registry.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Resource.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Rexx.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Ruby.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Rust.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/SQF.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/SQL.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Scala.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Scheme.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Solidity.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Spike.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Swift.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/TCL.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Thrift.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/TypeScript.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/VBNET.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/VBScript.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/VHDL.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/VS Solution.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Vala.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Verilog.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Volt.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/X10.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/XC.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/XML.xshd (100%) rename QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/{ => Light}/Xtend.xshd (100%) create mode 100644 QuickLook.Plugin/QuickLook.Plugin.TextViewer/app.config diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Plugin.cs b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Plugin.cs index 4cb3846..4f65ebc 100644 --- a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Plugin.cs +++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Plugin.cs @@ -16,6 +16,7 @@ // along with this program. If not, see . using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; @@ -25,6 +26,7 @@ using System.Xml; using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit.Highlighting; using ICSharpCode.AvalonEdit.Highlighting.Xshd; +using QuickLook.Common.Helpers; using QuickLook.Common.Plugin; namespace QuickLook.Plugin.TextViewer @@ -33,33 +35,18 @@ namespace QuickLook.Plugin.TextViewer { private TextViewerPanel _tvp; + private static HighlightingManager _hlmLight; + private static HighlightingManager _hlmDark; + public int Priority => -5; public void Init() { - var hlm = HighlightingManager.Instance; - - var assemblyPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); - if (string.IsNullOrEmpty(assemblyPath)) return; - - var syntaxPath = Path.Combine(assemblyPath, "Syntax"); - if (!Directory.Exists(syntaxPath)) return; - - foreach (var file in Directory.EnumerateFiles(syntaxPath, "*.xshd")) - { - var ext = Path.GetFileNameWithoutExtension(file); - using (Stream s = File.OpenRead(Path.GetFullPath(file))) - using (var reader = new XmlTextReader(s)) - { - var xshd = HighlightingLoader.LoadXshd(reader); - var highlightingDefinition = HighlightingLoader.Load(xshd, hlm); - if (xshd.Extensions.Count > 0) - hlm.RegisterHighlighting(ext, xshd.Extensions.ToArray(), highlightingDefinition); - } - } - // pre-load var _ = new TextEditor(); + + _hlmLight = getHighlightingManager(Themes.Light, "Light"); + _hlmDark = getHighlightingManager(Themes.Dark, "Dark"); } public bool CanHandle(string path) @@ -87,8 +74,6 @@ namespace QuickLook.Plugin.TextViewer public void Prepare(string path, ContextObject context) { - //context.Theme = Themes.Light; - context.PreferredSize = new Size {Width = 800, Height = 600}; } @@ -109,6 +94,8 @@ namespace QuickLook.Plugin.TextViewer else { _tvp = new TextViewerPanel(path, context); + AssignHighlightingManager(_tvp, context); + context.ViewerContent = _tvp; } context.Title = $"{Path.GetFileName(path)}"; @@ -128,5 +115,39 @@ namespace QuickLook.Plugin.TextViewer return true; } + + private HighlightingManager getHighlightingManager(Themes theme, string dirName) + { + var hlm = new HighlightingManager(); + + var assemblyPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + if (string.IsNullOrEmpty(assemblyPath)) + return hlm; + + var syntaxPath = Path.Combine(assemblyPath, "Syntax", dirName); + if (!Directory.Exists(syntaxPath)) + return hlm; + + foreach (var file in Directory.EnumerateFiles(syntaxPath, "*.xshd")) + { + Debug.WriteLine(file); + var ext = Path.GetFileNameWithoutExtension(file); + using (Stream s = File.OpenRead(Path.GetFullPath(file))) + using (var reader = new XmlTextReader(s)) + { + var xshd = HighlightingLoader.LoadXshd(reader); + var highlightingDefinition = HighlightingLoader.Load(xshd, hlm); + if (xshd.Extensions.Count > 0) + hlm.RegisterHighlighting(ext, xshd.Extensions.ToArray(), highlightingDefinition); + } + } + + return hlm; + } + private void AssignHighlightingManager(TextViewerPanel tvp, ContextObject context) + { + var isDark = (context.Theme == Themes.Dark) | OSThemeHelper.AppsUseDarkTheme() | false; + tvp.HighlightingManager = isDark ? _hlmDark : _hlmLight; + } } } \ No newline at end of file diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/QuickLook.Plugin.TextViewer.csproj b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/QuickLook.Plugin.TextViewer.csproj index 4157040..20eb165 100644 --- a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/QuickLook.Plugin.TextViewer.csproj +++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/QuickLook.Plugin.TextViewer.csproj @@ -57,8 +57,8 @@ - - ..\..\packages\AvalonEdit.6.1.2.30\lib\net45\ICSharpCode.AvalonEdit.dll + + ..\..\packages\AvalonEdit.6.1.3.50\lib\net45\ICSharpCode.AvalonEdit.dll @@ -89,8 +89,9 @@ - PreserveNewest + None + Designer diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Dark/.gitkeep b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Dark/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ANTLR.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ANTLR.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ANTLR.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ANTLR.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ActionScript.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ActionScript.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ActionScript.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ActionScript.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Ada.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Ada.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Ada.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Ada.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Assembly.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Assembly.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Assembly.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Assembly.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/AutoHotkey.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/AutoHotkey.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/AutoHotkey.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/AutoHotkey.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Batch.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Batch.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Batch.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Batch.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Boo.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Boo.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Boo.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Boo.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/C#.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/C#.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/C#.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/C#.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/C++.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/C++.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/C++.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/C++.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/C.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/C.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/C.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/C.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/CSS.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/CSS.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/CSS.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/CSS.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Ceylon.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Ceylon.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Ceylon.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Ceylon.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ChucK.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ChucK.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ChucK.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ChucK.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Clojure.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Clojure.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Clojure.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Clojure.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Cocoa.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Cocoa.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Cocoa.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Cocoa.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/CoffeeScript.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/CoffeeScript.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/CoffeeScript.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/CoffeeScript.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Cool.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Cool.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Cool.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Cool.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/D.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/D.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/D.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/D.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Dart.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Dart.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Dart.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Dart.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Delphi.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Delphi.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Delphi.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Delphi.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Eiffel.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Eiffel.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Eiffel.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Eiffel.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Elixir.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Elixir.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Elixir.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Elixir.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Erlang.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Erlang.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Erlang.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Erlang.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/F#.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/F#.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/F#.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/F#.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Falcon.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Falcon.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Falcon.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Falcon.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Fantom.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Fantom.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Fantom.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Fantom.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Fortran95.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Fortran95.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Fortran95.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Fortran95.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Go.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Go.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Go.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Go.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Goovy.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Goovy.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Goovy.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Goovy.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Gui4Cli.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Gui4Cli.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Gui4Cli.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Gui4Cli.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/HTML.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/HTML.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/HTML.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/HTML.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Haskell.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Haskell.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Haskell.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Haskell.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Haxe.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Haxe.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Haxe.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Haxe.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ILYC.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ILYC.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ILYC.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ILYC.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/INI.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/INI.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/INI.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/INI.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Icon.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Icon.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Icon.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Icon.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Io.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Io.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Io.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Io.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/JSON.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/JSON.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/JSON.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/JSON.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Java.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Java.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Java.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Java.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/JavaScript.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/JavaScript.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/JavaScript.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/JavaScript.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Julia.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Julia.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Julia.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Julia.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Just BASIC.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Just BASIC.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Just BASIC.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Just BASIC.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/KiXtart.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/KiXtart.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/KiXtart.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/KiXtart.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Kotlin.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Kotlin.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Kotlin.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Kotlin.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Lean.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Lean.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Lean.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Lean.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Lisp.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Lisp.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Lisp.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Lisp.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Lua.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Lua.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Lua.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Lua.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Nemerle.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Nemerle.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Nemerle.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Nemerle.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Nim.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Nim.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Nim.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Nim.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/OCaml.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/OCaml.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/OCaml.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/OCaml.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Objective-C.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Objective-C.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Objective-C.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Objective-C.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/PHP.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/PHP.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/PHP.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/PHP.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ParaSail.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ParaSail.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/ParaSail.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/ParaSail.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Pascal.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Pascal.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Pascal.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Pascal.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Pike.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Pike.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Pike.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Pike.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/PowerShell.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/PowerShell.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/PowerShell.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/PowerShell.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Prolog.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Prolog.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Prolog.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Prolog.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/PureScript.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/PureScript.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/PureScript.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/PureScript.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Python.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Python.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Python.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Python.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/R.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/R.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/R.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/R.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Registry.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Registry.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Registry.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Registry.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Resource.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Resource.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Resource.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Resource.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Rexx.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Rexx.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Rexx.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Rexx.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Ruby.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Ruby.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Ruby.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Ruby.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Rust.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Rust.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Rust.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Rust.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/SQF.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/SQF.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/SQF.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/SQF.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/SQL.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/SQL.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/SQL.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/SQL.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Scala.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Scala.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Scala.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Scala.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Scheme.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Scheme.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Scheme.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Scheme.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Solidity.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Solidity.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Solidity.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Solidity.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Spike.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Spike.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Spike.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Spike.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Swift.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Swift.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Swift.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Swift.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/TCL.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/TCL.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/TCL.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/TCL.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Thrift.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Thrift.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Thrift.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Thrift.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/TypeScript.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/TypeScript.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/TypeScript.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/TypeScript.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/VBNET.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/VBNET.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/VBNET.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/VBNET.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/VBScript.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/VBScript.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/VBScript.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/VBScript.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/VHDL.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/VHDL.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/VHDL.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/VHDL.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/VS Solution.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/VS Solution.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/VS Solution.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/VS Solution.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Vala.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Vala.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Vala.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Vala.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Verilog.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Verilog.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Verilog.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Verilog.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Volt.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Volt.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Volt.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Volt.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/X10.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/X10.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/X10.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/X10.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/XC.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/XC.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/XC.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/XC.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/XML.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/XML.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/XML.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/XML.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Xtend.xshd b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Xtend.xshd similarity index 100% rename from QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Xtend.xshd rename to QuickLook.Plugin/QuickLook.Plugin.TextViewer/Syntax/Light/Xtend.xshd diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/TextViewerPanel.cs b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/TextViewerPanel.cs index f1c9b77..3754ae8 100644 --- a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/TextViewerPanel.cs +++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/TextViewerPanel.cs @@ -39,12 +39,14 @@ namespace QuickLook.Plugin.TextViewer { private readonly ContextObject _context; private bool _disposed; + private HighlightingManager highlightingManager = HighlightingManager.Instance; public TextViewerPanel(string path, ContextObject context) { _context = context; - Background = new SolidColorBrush(Color.FromArgb(0xAA, 255, 255, 255)); + SetResourceReference(Control.ForegroundProperty, "WindowTextForeground"); + Background = Brushes.Transparent; FontSize = 14; ShowLineNumbers = true; WordWrap = true; @@ -82,6 +84,12 @@ namespace QuickLook.Plugin.TextViewer LoadFileAsync(path); } + public HighlightingManager HighlightingManager + { + get => highlightingManager; + set => highlightingManager = value; + } + public void Dispose() { _disposed = true; @@ -144,7 +152,7 @@ namespace QuickLook.Plugin.TextViewer Task.Run(() => { const int maxLength = 5 * 1024 * 1024; - const int maxHighlightingLength = (int) (0.5 * 1024 * 1024); + const int maxHighlightingLength = (int)(0.5 * 1024 * 1024); var buffer = new MemoryStream(); bool fileTooLong; @@ -185,7 +193,7 @@ namespace QuickLook.Plugin.TextViewer Encoding = encoding; SyntaxHighlighting = bufferCopy.Length > maxHighlightingLength ? null - : HighlightingManager.Instance.GetDefinitionByExtension(Path.GetExtension(path)); + : HighlightingManager?.GetDefinitionByExtension(Path.GetExtension(path)); Document = doc; _context.IsBusy = false; diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/app.config b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/app.config new file mode 100644 index 0000000..a9cf434 --- /dev/null +++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/packages.config b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/packages.config index 2c632c3..b11815c 100644 --- a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/packages.config +++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file