diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Dark/DiffHighlightingDefinition.cs b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Dark/DiffHighlightingDefinition.cs
index 6033940..e767338 100644
--- a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Dark/DiffHighlightingDefinition.cs
+++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Dark/DiffHighlightingDefinition.cs
@@ -15,7 +15,6 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.AvalonEdit.Rendering;
using System.Collections.Generic;
diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Dark/M3UHighlightingDefinition.cs b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Dark/M3UHighlightingDefinition.cs
new file mode 100644
index 0000000..fdce4a0
--- /dev/null
+++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Dark/M3UHighlightingDefinition.cs
@@ -0,0 +1,73 @@
+// Copyright © 2017-2026 QL-Win Contributors
+//
+// This file is part of QuickLook program.
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+using ICSharpCode.AvalonEdit.Highlighting;
+using ICSharpCode.AvalonEdit.Rendering;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+
+namespace QuickLook.Plugin.TextViewer.Themes.HighlightingDefinitions.Dark;
+
+public class M3UHighlightingDefinition : DarkHighlightingDefinition
+{
+ public override string Name => "M3U Playlist";
+
+ public override string Extension => ".m3u;.m3u8";
+
+ public override HighlightingRuleSet MainRuleSet => new()
+ {
+ Rules =
+ {
+ new HighlightingRule
+ {
+ Regex = new Regex(@"^#.*", RegexOptions.Compiled),
+ Color = GetNamedColor("Comment")
+ },
+ new HighlightingRule
+ {
+ Regex = new Regex(@"^#EXT[\w\-:.,=\s]*", RegexOptions.Compiled | RegexOptions.IgnoreCase),
+ Color = GetNamedColor("Tag")
+ },
+ }
+ };
+
+ public override HighlightingColor GetNamedColor(string name)
+ {
+ return name switch
+ {
+ "Comment" => new HighlightingColor
+ {
+ Name = "Comment",
+ Foreground = new SimpleHighlightingBrush("#6A9949".ToColor()),
+ },
+ "Tag" => new HighlightingColor
+ {
+ Name = "Tag",
+ Foreground = new SimpleHighlightingBrush("#8AB4F8".ToColor()),
+ },
+ _ => null,
+ };
+ }
+
+ public override IEnumerable NamedHighlightingColors =>
+ [
+ GetNamedColor("Comment"),
+ GetNamedColor("Tag"),
+ ];
+
+ public override DocumentColorizingTransformer[] LineTransformers { get; } = [];
+}
diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Light/DiffHighlightingDefinition.cs b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Light/DiffHighlightingDefinition.cs
index 7f19b77..75cb40f 100644
--- a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Light/DiffHighlightingDefinition.cs
+++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Light/DiffHighlightingDefinition.cs
@@ -15,7 +15,6 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Highlighting;
using ICSharpCode.AvalonEdit.Rendering;
using System.Collections.Generic;
diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Light/M3UHighlightingDefinition.cs b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Light/M3UHighlightingDefinition.cs
new file mode 100644
index 0000000..dfe41ef
--- /dev/null
+++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Themes/HighlightingDefinitions/Light/M3UHighlightingDefinition.cs
@@ -0,0 +1,73 @@
+// Copyright © 2017-2026 QL-Win Contributors
+//
+// This file is part of QuickLook program.
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+using ICSharpCode.AvalonEdit.Highlighting;
+using ICSharpCode.AvalonEdit.Rendering;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+
+namespace QuickLook.Plugin.TextViewer.Themes.HighlightingDefinitions.Light;
+
+public class M3UHighlightingDefinition : LightHighlightingDefinition
+{
+ public override string Name => "M3U Playlist";
+
+ public override string Extension => ".m3u;.m3u8";
+
+ public override HighlightingRuleSet MainRuleSet => new()
+ {
+ Rules =
+ {
+ new HighlightingRule
+ {
+ Regex = new Regex(@"^#.*", RegexOptions.Compiled),
+ Color = GetNamedColor("Comment")
+ },
+ new HighlightingRule
+ {
+ Regex = new Regex(@"^#EXT[\w\-:.,=\s]*", RegexOptions.Compiled | RegexOptions.IgnoreCase),
+ Color = GetNamedColor("Tag")
+ },
+ }
+ };
+
+ public override HighlightingColor GetNamedColor(string name)
+ {
+ return name switch
+ {
+ "Comment" => new HighlightingColor
+ {
+ Name = "Comment",
+ Foreground = new SimpleHighlightingBrush("#008000".ToColor()),
+ },
+ "Tag" => new HighlightingColor
+ {
+ Name = "Tag",
+ Foreground = new SimpleHighlightingBrush("#2B91AF".ToColor()),
+ },
+ _ => null,
+ };
+ }
+
+ public override IEnumerable NamedHighlightingColors =>
+ [
+ GetNamedColor("Comment"),
+ GetNamedColor("Tag"),
+ ];
+
+ public override DocumentColorizingTransformer[] LineTransformers { get; } = [];
+}