From 17c023efaaee0a7dc1fa38a5f33101e18f15ef53 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 29 Feb 2024 21:20:44 -0500 Subject: [PATCH] Use Matching to replace NaturalSort --- NaturalSort/NaturalComparer.cs | 104 ------------------ NaturalSort/NaturalComparerUtil.cs | 79 ------------- NaturalSort/NaturalReversedComparer.cs | 104 ------------------ NaturalSort/NaturalSort.csproj | 28 ----- SabreTools.Core/ArrayExtensions.cs | 40 ------- SabreTools.Core/SabreTools.Core.csproj | 1 + SabreTools.Core/Tools/Utilities.cs | 1 + SabreTools.DatFiles/ItemDictionary.cs | 5 +- SabreTools.DatFiles/ItemDictionaryDB.cs | 2 +- .../SabreTools.DatFiles.csproj | 2 +- SabreTools.DatItems/DatItem.cs | 2 +- SabreTools.DatItems/Formats/File.cs | 1 + .../SabreTools.DatItems.csproj | 2 +- .../SabreTools.DatTools.csproj | 2 +- SabreTools.DatTools/Splitter.cs | 2 +- SabreTools.FileTypes/Aaru/AaruFormat.cs | 2 +- SabreTools.FileTypes/Archives/RarArchive.cs | 3 +- .../Archives/SevenZipArchive.cs | 7 +- SabreTools.FileTypes/Archives/TapeArchive.cs | 5 +- SabreTools.FileTypes/Archives/ZipArchive.cs | 2 +- SabreTools.FileTypes/BaseFile.cs | 1 + .../SabreTools.FileTypes.csproj | 2 +- SabreTools.sln | 10 -- SabreTools/Features/Split.cs | 1 - 24 files changed, 23 insertions(+), 385 deletions(-) delete mode 100644 NaturalSort/NaturalComparer.cs delete mode 100644 NaturalSort/NaturalComparerUtil.cs delete mode 100644 NaturalSort/NaturalReversedComparer.cs delete mode 100644 NaturalSort/NaturalSort.csproj delete mode 100644 SabreTools.Core/ArrayExtensions.cs diff --git a/NaturalSort/NaturalComparer.cs b/NaturalSort/NaturalComparer.cs deleted file mode 100644 index c45feccd..00000000 --- a/NaturalSort/NaturalComparer.cs +++ /dev/null @@ -1,104 +0,0 @@ -/* - * - * Links for info and original source code: - * - * https://blog.codinghorror.com/sorting-for-humans-natural-sort-order/ - * http://www.codeproject.com/Articles/22517/Natural-Sort-Comparer - * - * Exact code implementation used with permission, originally by motoschifo - * - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text.RegularExpressions; - -// Ported to SabreTools.Matching. Remove once published. -namespace NaturalSort -{ - public class NaturalComparer : Comparer, IDisposable - { - private readonly Dictionary table; - - public NaturalComparer() - { - table = []; - } - - public void Dispose() - { - table.Clear(); - } - - public override int Compare(string? x, string? y) - { - if (x == null || y == null) - { - if (x == null && y != null) - return -1; - else if (x != null && y == null) - return 1; - else - return 0; - } - if (x.ToLowerInvariant() == y.ToLowerInvariant()) - { - return x.CompareTo(y); - } - if (!table.TryGetValue(x, out string[]? x1)) - { - //x1 = Regex.Split(x.Replace(" ", string.Empty), "([0-9]+)"); - x1 = Regex.Split(x.ToLowerInvariant(), "([0-9]+)").Where(s => !string.IsNullOrEmpty(s)).ToArray(); - table.Add(x, x1); - } - if (!table.TryGetValue(y, out string[]? y1)) - { - //y1 = Regex.Split(y.Replace(" ", string.Empty), "([0-9]+)"); - y1 = Regex.Split(y.ToLowerInvariant(), "([0-9]+)").Where(s => !string.IsNullOrEmpty(s)).ToArray(); - table.Add(y, y1); - } - - for (int i = 0; i < x1.Length && i < y1.Length; i++) - { - if (x1[i] != y1[i]) - { - return PartCompare(x1[i], y1[i]); - } - } - if (y1.Length > x1.Length) - { - return 1; - } - else if (x1.Length > y1.Length) - { - return -1; - } - else - { - return x.CompareTo(y); - } - } - - private static int PartCompare(string left, string right) - { - if (!long.TryParse(left, out long x)) - { - return NaturalComparerUtil.CompareNumeric(left, right); - } - - if (!long.TryParse(right, out long y)) - { - return NaturalComparerUtil.CompareNumeric(left, right); - } - - // If we have an equal part, then make sure that "longer" ones are taken into account - if (x.CompareTo(y) == 0) - { - return left.Length - right.Length; - } - - return x.CompareTo(y); - } - } -} diff --git a/NaturalSort/NaturalComparerUtil.cs b/NaturalSort/NaturalComparerUtil.cs deleted file mode 100644 index 41f0612d..00000000 --- a/NaturalSort/NaturalComparerUtil.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System.IO; - -// Ported to SabreTools.Matching. Remove once published. -namespace NaturalSort -{ - public static class NaturalComparerUtil - { - public static int CompareNumeric(string s1, string s2) - { - // Save the orginal strings, for later comparison - string s1orig = s1; - string s2orig = s2; - - // We want to normalize the strings, so we set both to lower case - s1 = s1.ToLowerInvariant(); - s2 = s2.ToLowerInvariant(); - - // If the strings are the same exactly, return - if (s1 == s2) - return s1orig.CompareTo(s2orig); - - // If one is null, then say that's less than - if (s1 == null) - return -1; - if (s2 == null) - return 1; - - // Now split into path parts after converting AltDirSeparator to DirSeparator - s1 = s1.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); - s2 = s2.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); - string[] s1parts = s1.Split(Path.DirectorySeparatorChar); - string[] s2parts = s2.Split(Path.DirectorySeparatorChar); - - // Then compare each part in turn - for (int j = 0; j < s1parts.Length && j < s2parts.Length; j++) - { - int compared = CompareNumericPart(s1parts[j], s2parts[j]); - if (compared != 0) - return compared; - } - - // If we got out here, then it looped through at least one of the strings - if (s1parts.Length > s2parts.Length) - return 1; - if (s1parts.Length < s2parts.Length) - return -1; - - return s1orig.CompareTo(s2orig); - } - - private static int CompareNumericPart(string s1, string s2) - { - // Otherwise, loop through until we have an answer - for (int i = 0; i < s1.Length && i < s2.Length; i++) - { - int s1c = s1[i]; - int s2c = s2[i]; - - // If the characters are the same, continue - if (s1c == s2c) - continue; - - // If they're different, check which one was larger - if (s1c > s2c) - return 1; - if (s1c < s2c) - return -1; - } - - // If we got out here, then it looped through at least one of the strings - if (s1.Length > s2.Length) - return 1; - if (s1.Length < s2.Length) - return -1; - - return 0; - } - } -} diff --git a/NaturalSort/NaturalReversedComparer.cs b/NaturalSort/NaturalReversedComparer.cs deleted file mode 100644 index adc0cbfd..00000000 --- a/NaturalSort/NaturalReversedComparer.cs +++ /dev/null @@ -1,104 +0,0 @@ -/* - * - * Links for info and original source code: - * - * https://blog.codinghorror.com/sorting-for-humans-natural-sort-order/ - * http://www.codeproject.com/Articles/22517/Natural-Sort-Comparer - * - * Exact code implementation used with permission, originally by motoschifo - * - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text.RegularExpressions; - -// Ported to SabreTools.Matching. Remove once published. -namespace NaturalSort -{ - public class NaturalReversedComparer : Comparer, IDisposable - { - private readonly Dictionary table; - - public NaturalReversedComparer() - { - table = []; - } - - public void Dispose() - { - table.Clear(); - } - - public override int Compare(string? x, string? y) - { - if (x == null || y == null) - { - if (x == null && y != null) - return -1; - else if (x != null && y == null) - return 1; - else - return 0; - } - if (y.ToLowerInvariant() == x.ToLowerInvariant()) - { - return y.CompareTo(x); - } - if (!table.TryGetValue(x, out string[]? x1)) - { - //x1 = Regex.Split(x.Replace(" ", string.Empty), "([0-9]+)"); - x1 = Regex.Split(x.ToLowerInvariant(), "([0-9]+)").Where(s => !string.IsNullOrEmpty(s)).ToArray(); - table.Add(x, x1); - } - if (!table.TryGetValue(y, out string[]? y1)) - { - //y1 = Regex.Split(y.Replace(" ", string.Empty), "([0-9]+)"); - y1 = Regex.Split(y.ToLowerInvariant(), "([0-9]+)").Where(s => !string.IsNullOrEmpty(s)).ToArray(); - table.Add(y, y1); - } - - for (int i = 0; i < x1.Length && i < y1.Length; i++) - { - if (x1[i] != y1[i]) - { - return PartCompare(x1[i], y1[i]); - } - } - if (y1.Length > x1.Length) - { - return 1; - } - else if (x1.Length > y1.Length) - { - return -1; - } - else - { - return y.CompareTo(x); - } - } - - private static int PartCompare(string left, string right) - { - if (!long.TryParse(left, out long x)) - { - return NaturalComparerUtil.CompareNumeric(right, left); - } - - if (!long.TryParse(right, out long y)) - { - return NaturalComparerUtil.CompareNumeric(right, left); - } - - // If we have an equal part, then make sure that "longer" ones are taken into account - if (y.CompareTo(x) == 0) - { - return right.Length - left.Length; - } - - return y.CompareTo(x); - } - } -} diff --git a/NaturalSort/NaturalSort.csproj b/NaturalSort/NaturalSort.csproj deleted file mode 100644 index ee340af1..00000000 --- a/NaturalSort/NaturalSort.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - - - net20;net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0 - win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64 - false - false - latest - enable - true - true - 1.1.2 - - - Matt Nadareski - Copyright (c)2016-2024 motoschifo, Matt Nadareski - https://github.com/SabreTools/ - https://github.com/SabreTools/SabreTools - git - - - - - - - - diff --git a/SabreTools.Core/ArrayExtensions.cs b/SabreTools.Core/ArrayExtensions.cs deleted file mode 100644 index 80694d4e..00000000 --- a/SabreTools.Core/ArrayExtensions.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; - -// Ported to SabreTools.Matching. Remove once published. -namespace SabreTools.Core -{ - public static class ArrayExtensions - { - /// - /// Indicates whether the specified array is null or has a length of zero - /// - public static bool IsNullOrEmpty(this Array? array) - { - return array == null || array.Length == 0; - } - - //// - /// Returns if the first byte array starts with the second array - /// - public static bool StartsWith(this byte[] arr1, byte[] arr2, bool exact = false) - { - // If we have any invalid inputs, we return false - if (arr1 == null || arr2 == null - || arr1.Length == 0 || arr2.Length == 0 - || arr2.Length > arr1.Length - || (exact && arr1.Length != arr2.Length)) - { - return false; - } - - // Otherwise, loop through and see - for (int i = 0; i < arr2.Length; i++) - { - if (arr1[i] != arr2[i]) - return false; - } - - return true; - } - } -} \ No newline at end of file diff --git a/SabreTools.Core/SabreTools.Core.csproj b/SabreTools.Core/SabreTools.Core.csproj index 470752af..623f35a2 100644 --- a/SabreTools.Core/SabreTools.Core.csproj +++ b/SabreTools.Core/SabreTools.Core.csproj @@ -35,6 +35,7 @@ + diff --git a/SabreTools.Core/Tools/Utilities.cs b/SabreTools.Core/Tools/Utilities.cs index 3998f63b..2a7ccaa5 100644 --- a/SabreTools.Core/Tools/Utilities.cs +++ b/SabreTools.Core/Tools/Utilities.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Linq; +using SabreTools.Matching; namespace SabreTools.Core.Tools { diff --git a/SabreTools.DatFiles/ItemDictionary.cs b/SabreTools.DatFiles/ItemDictionary.cs index 6030862c..07f72d7d 100644 --- a/SabreTools.DatFiles/ItemDictionary.cs +++ b/SabreTools.DatFiles/ItemDictionary.cs @@ -6,13 +6,12 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Xml.Serialization; - +using Newtonsoft.Json; using SabreTools.Core; using SabreTools.DatItems; using SabreTools.DatItems.Formats; using SabreTools.Logging; -using NaturalSort; -using Newtonsoft.Json; +using SabreTools.Matching; namespace SabreTools.DatFiles { diff --git a/SabreTools.DatFiles/ItemDictionaryDB.cs b/SabreTools.DatFiles/ItemDictionaryDB.cs index 6ce680fd..59365f20 100644 --- a/SabreTools.DatFiles/ItemDictionaryDB.cs +++ b/SabreTools.DatFiles/ItemDictionaryDB.cs @@ -8,13 +8,13 @@ using System.Linq; using System.Threading.Tasks; using System.Xml.Serialization; using Microsoft.Data.Sqlite; -using NaturalSort; using Newtonsoft.Json; using SabreTools.Core; using SabreTools.DatItems; using SabreTools.DatItems.Formats; using SabreTools.IO; using SabreTools.Logging; +using SabreTools.Matching; namespace SabreTools.DatFiles { diff --git a/SabreTools.DatFiles/SabreTools.DatFiles.csproj b/SabreTools.DatFiles/SabreTools.DatFiles.csproj index 7d3cfcc7..c5a5e44c 100644 --- a/SabreTools.DatFiles/SabreTools.DatFiles.csproj +++ b/SabreTools.DatFiles/SabreTools.DatFiles.csproj @@ -21,7 +21,6 @@ - @@ -35,6 +34,7 @@ + diff --git a/SabreTools.DatItems/DatItem.cs b/SabreTools.DatItems/DatItem.cs index 6ce86e73..d905325d 100644 --- a/SabreTools.DatItems/DatItem.cs +++ b/SabreTools.DatItems/DatItem.cs @@ -1,7 +1,6 @@ using System; using System.IO; using System.Xml.Serialization; -using NaturalSort; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using SabreTools.Core; @@ -9,6 +8,7 @@ using SabreTools.Core.Tools; using SabreTools.DatItems.Formats; using SabreTools.FileTypes; using SabreTools.Logging; +using SabreTools.Matching; namespace SabreTools.DatItems { diff --git a/SabreTools.DatItems/Formats/File.cs b/SabreTools.DatItems/Formats/File.cs index 7fa9528a..c463107a 100644 --- a/SabreTools.DatItems/Formats/File.cs +++ b/SabreTools.DatItems/Formats/File.cs @@ -5,6 +5,7 @@ using Newtonsoft.Json; using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.FileTypes; +using SabreTools.Matching; // TODO: Add item mappings for all fields namespace SabreTools.DatItems.Formats diff --git a/SabreTools.DatItems/SabreTools.DatItems.csproj b/SabreTools.DatItems/SabreTools.DatItems.csproj index d1e3416c..29b0eb00 100644 --- a/SabreTools.DatItems/SabreTools.DatItems.csproj +++ b/SabreTools.DatItems/SabreTools.DatItems.csproj @@ -21,7 +21,6 @@ - @@ -29,6 +28,7 @@ + diff --git a/SabreTools.DatTools/SabreTools.DatTools.csproj b/SabreTools.DatTools/SabreTools.DatTools.csproj index a10a3bb8..a8426c93 100644 --- a/SabreTools.DatTools/SabreTools.DatTools.csproj +++ b/SabreTools.DatTools/SabreTools.DatTools.csproj @@ -21,7 +21,6 @@ - @@ -33,6 +32,7 @@ + diff --git a/SabreTools.DatTools/Splitter.cs b/SabreTools.DatTools/Splitter.cs index 7d1ea39f..ed72f493 100644 --- a/SabreTools.DatTools/Splitter.cs +++ b/SabreTools.DatTools/Splitter.cs @@ -4,13 +4,13 @@ using System.IO; using System.Linq; using System.Net; using System.Threading.Tasks; -using NaturalSort; using SabreTools.Core; using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.DatItems.Formats; using SabreTools.IO; using SabreTools.Logging; +using SabreTools.Matching; namespace SabreTools.DatTools { diff --git a/SabreTools.FileTypes/Aaru/AaruFormat.cs b/SabreTools.FileTypes/Aaru/AaruFormat.cs index 774d1f17..005cbe60 100644 --- a/SabreTools.FileTypes/Aaru/AaruFormat.cs +++ b/SabreTools.FileTypes/Aaru/AaruFormat.cs @@ -1,7 +1,7 @@ using System.IO; using System.Text; -using SabreTools.Core; using SabreTools.IO; +using SabreTools.Matching; namespace SabreTools.FileTypes.Aaru { diff --git a/SabreTools.FileTypes/Archives/RarArchive.cs b/SabreTools.FileTypes/Archives/RarArchive.cs index 90b7b7f1..8b4e14c6 100644 --- a/SabreTools.FileTypes/Archives/RarArchive.cs +++ b/SabreTools.FileTypes/Archives/RarArchive.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using SabreTools.Core; +using SabreTools.Matching; #if NET462_OR_GREATER || NETCOREAPP using SharpCompress.Archives; using SharpCompress.Archives.Rar; @@ -242,7 +243,7 @@ namespace SabreTools.FileTypes.Archives try { SharpCompress.Archives.Rar.RarArchive ra = SharpCompress.Archives.Rar.RarArchive.Open(this.Filename, new ReaderOptions { LeaveStreamOpen = false }); - List rarEntries = ra.Entries.OrderBy(e => e.Key, new NaturalSort.NaturalReversedComparer()).ToList(); + List rarEntries = ra.Entries.OrderBy(e => e.Key, new NaturalReversedComparer()).ToList(); string? lastRarEntry = null; foreach (RarArchiveEntry entry in rarEntries) { diff --git a/SabreTools.FileTypes/Archives/SevenZipArchive.cs b/SabreTools.FileTypes/Archives/SevenZipArchive.cs index 32c674f1..4dabaa6d 100644 --- a/SabreTools.FileTypes/Archives/SevenZipArchive.cs +++ b/SabreTools.FileTypes/Archives/SevenZipArchive.cs @@ -2,12 +2,11 @@ using System.Collections.Generic; using System.IO; using System.Linq; - -using SabreTools.Core; -using SabreTools.Core.Tools; using Compress; using Compress.SevenZip; -using NaturalSort; +using SabreTools.Core; +using SabreTools.Core.Tools; +using SabreTools.Matching; namespace SabreTools.FileTypes.Archives { diff --git a/SabreTools.FileTypes/Archives/TapeArchive.cs b/SabreTools.FileTypes/Archives/TapeArchive.cs index 8635662c..9d581b47 100644 --- a/SabreTools.FileTypes/Archives/TapeArchive.cs +++ b/SabreTools.FileTypes/Archives/TapeArchive.cs @@ -2,9 +2,10 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Compress; using SabreTools.Core; using SabreTools.Core.Tools; -using Compress; +using SabreTools.Matching; #if NET462_OR_GREATER || NETCOREAPP using SharpCompress.Archives; using SharpCompress.Archives.Tar; @@ -231,7 +232,7 @@ namespace SabreTools.FileTypes.Archives try { TarArchive ta = TarArchive.Open(this.Filename!, new ReaderOptions { LeaveStreamOpen = false }); - List tarEntries = ta.Entries.OrderBy(e => e.Key, new NaturalSort.NaturalReversedComparer()).ToList(); + List tarEntries = ta.Entries.OrderBy(e => e.Key, new NaturalReversedComparer()).ToList(); string? lastTarEntry = null; foreach (TarArchiveEntry entry in tarEntries) { diff --git a/SabreTools.FileTypes/Archives/ZipArchive.cs b/SabreTools.FileTypes/Archives/ZipArchive.cs index 5a90b622..b00a23ac 100644 --- a/SabreTools.FileTypes/Archives/ZipArchive.cs +++ b/SabreTools.FileTypes/Archives/ZipArchive.cs @@ -4,9 +4,9 @@ using System.IO; using System.Linq; using Compress; using Compress.ZipFile; -using NaturalSort; using SabreTools.Core; using SabreTools.Core.Tools; +using SabreTools.Matching; namespace SabreTools.FileTypes.Archives { diff --git a/SabreTools.FileTypes/BaseFile.cs b/SabreTools.FileTypes/BaseFile.cs index d9d4a8a4..8cc6ac2a 100644 --- a/SabreTools.FileTypes/BaseFile.cs +++ b/SabreTools.FileTypes/BaseFile.cs @@ -8,6 +8,7 @@ using SabreTools.FileTypes.Aaru; using SabreTools.FileTypes.CHD; using SabreTools.IO; using SabreTools.Logging; +using SabreTools.Matching; using SabreTools.Skippers; namespace SabreTools.FileTypes diff --git a/SabreTools.FileTypes/SabreTools.FileTypes.csproj b/SabreTools.FileTypes/SabreTools.FileTypes.csproj index 1d2e8aa8..e209aa41 100644 --- a/SabreTools.FileTypes/SabreTools.FileTypes.csproj +++ b/SabreTools.FileTypes/SabreTools.FileTypes.csproj @@ -21,7 +21,6 @@ - @@ -35,6 +34,7 @@ + diff --git a/SabreTools.sln b/SabreTools.sln index e97fb86b..54c2ad0d 100644 --- a/SabreTools.sln +++ b/SabreTools.sln @@ -36,8 +36,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Test", "SabreToo EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.Filter", "SabreTools.Filter\SabreTools.Filter.csproj", "{2A7A27A9-5FB9-4F6D-88F3-67120668A029}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaturalSort", "NaturalSort\NaturalSort.csproj", "{F7180B1C-7CFB-4526-8FF5-C31E7B049378}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -150,14 +148,6 @@ Global {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Release|Any CPU.Build.0 = Release|Any CPU {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Release|x64.ActiveCfg = Release|Any CPU {2A7A27A9-5FB9-4F6D-88F3-67120668A029}.Release|x64.Build.0 = Release|Any CPU - {F7180B1C-7CFB-4526-8FF5-C31E7B049378}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F7180B1C-7CFB-4526-8FF5-C31E7B049378}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F7180B1C-7CFB-4526-8FF5-C31E7B049378}.Debug|x64.ActiveCfg = Debug|Any CPU - {F7180B1C-7CFB-4526-8FF5-C31E7B049378}.Debug|x64.Build.0 = Debug|Any CPU - {F7180B1C-7CFB-4526-8FF5-C31E7B049378}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F7180B1C-7CFB-4526-8FF5-C31E7B049378}.Release|Any CPU.Build.0 = Release|Any CPU - {F7180B1C-7CFB-4526-8FF5-C31E7B049378}.Release|x64.ActiveCfg = Release|Any CPU - {F7180B1C-7CFB-4526-8FF5-C31E7B049378}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/SabreTools/Features/Split.cs b/SabreTools/Features/Split.cs index 2b79872b..8b46b320 100644 --- a/SabreTools/Features/Split.cs +++ b/SabreTools/Features/Split.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using System.Threading.Tasks; - using SabreTools.Core; using SabreTools.DatFiles; using SabreTools.DatTools;