From 283f4c22900d3008958ee48b1418d886aea69bea Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Mon, 5 Jun 2023 15:56:30 -0400 Subject: [PATCH] moved into MBS.Framework StringExtensions --- .../UniversalEditor.Core/ExtensionMethods.cs | 178 ------------------ .../CoreObject/CoreObjectDataFormat.cs | 2 +- .../DataFormats/Markup/XML/XMLDataFormat.cs | 1 + .../Text/TextPropertyListDataFormat.cs | 2 +- .../FileSystem/FileSystemObjectModel.cs | 1 + .../ProjectTaskActionExecute.cs | 2 +- .../Audio/Synthesized/UTAU/USTDataFormat.cs | 2 + .../Subtitle/SubRip/SubRipDataFormat.cs | 2 +- .../QAvimator/PRPAccessoryDataFormat.cs | 2 +- .../SourceCode/AdaCodeDataFormat.cs | 2 +- .../SourceCode/CSharpCodeDataFormat.cs | 4 +- .../VisualBasicNETCodeDataFormat.cs | 1 + .../Synthesized/Vocaloid/VSQDataFormat.cs | 1 + 13 files changed, 14 insertions(+), 186 deletions(-) diff --git a/Libraries/UniversalEditor.Core/ExtensionMethods.cs b/Libraries/UniversalEditor.Core/ExtensionMethods.cs index 04d65d0d..7df819b5 100644 --- a/Libraries/UniversalEditor.Core/ExtensionMethods.cs +++ b/Libraries/UniversalEditor.Core/ExtensionMethods.cs @@ -229,184 +229,6 @@ namespace UniversalEditor return result; } - #region Splitting - public static T[] Split(this string value, params char[] separator) - { - return value.Split(separator, -1, StringSplitOptions.None); - } - public static T[] Split(this string value, char[] separator, int count) - { - return value.Split(separator, count, StringSplitOptions.None); - } - public static T[] Split(this string value, char[] separator, int count, StringSplitOptions options) - { - string[] separators = new string[separator.Length]; - for (int i = 0; i < separator.Length; i++) - { - separators[i] = separator[i].ToString(); - } - return value.Split(separators, count, options); - } - public static T[] Split(this string value, params string[] separator) - { - return value.Split(separator, -1, StringSplitOptions.None); - } - public static T[] Split(this string value, string[] separator, int count) - { - return value.Split(separator, count, StringSplitOptions.None); - } - public static T[] Split(this string value, string[] separator, int count, StringSplitOptions options) - { - string[] splitt = null; - if (count < 0) - { - splitt = value.Split(separator, options); - } - else - { - splitt = value.Split(separator, count, options); - } - T[] values = new T[splitt.Length]; - for (int i = 0; i < splitt.Length; i++) - { - if (!string.IsNullOrEmpty(splitt[i])) - { - values[i] = (T)Convert.ChangeType(splitt[i], typeof(T)); - } - } - return values; - } - public static string[] Split(this string value, string separator) - { - return value.Split(new string[] { separator }); - } - public static string[] Split(this string value, string[] separator) - { - return value.Split(separator, StringSplitOptions.None); - } - public static string[] Split(this string value, string[] separator, string ignore) - { - return value.Split(separator, ignore, ignore); - } - public static string[] Split(this string value, string[] separator, string ignoreBegin, string ignoreEnd) - { - return value.Split(separator, ignoreBegin, ignoreEnd, StringSplitOptions.None, -1); - } - public static string[] Split(this string value, string[] separator, StringSplitOptions options, int count, string ignore) - { - return value.Split(separator, ignore, ignore, options, count); - } - public static string[] Split(this string value, char[] separator, string ignore) - { - return value.Split(separator, ignore, ignore); - } - public static string[] Split(this string value, char[] separator, string ignoreBegin, string ignoreEnd) - { - return value.Split(separator, ignoreBegin, ignoreEnd, StringSplitOptions.None, -1); - } - public static string[] Split(this string value, char[] separator, string ignore, StringSplitOptions options, int count) - { - return value.Split(separator, ignore, ignore, options, count); - } - public static string[] Split(this string value, char[] separator, string ignoreBegin, string ignoreEnd, StringSplitOptions options, int count) - { - List entries = new List(); - for (int i = 0; i < separator.Length; i++) - { - char sep = separator[i]; - entries.Add(sep.ToString()); - } - return value.Split(entries.ToArray(), ignoreBegin, ignoreEnd, options, count); - } - public static string[] Split(this string value, string[] separator, string ignoreBegin, string ignoreEnd, StringSplitOptions options, int count) - { - return value.Split(separator, ignoreBegin, ignoreEnd, options, count, true); - } - public static string[] Split(this string value, string[] separator, string ignoreBegin, string ignoreEnd, StringSplitOptions options, int count, bool discardIgnoreString) - { - List entries = new List(); - bool ignoring = false; - bool continueOutside = false; - string next = string.Empty; - int i = 0; - while (i < value.Length) - { - if (i + ignoreBegin.Length > value.Length) - { - goto IL_70; - } - if (ignoring || !(value.Substring(i, ignoreBegin.Length) == ignoreBegin)) - { - goto IL_70; - } - ignoring = true; - if (!discardIgnoreString) - { - next += ignoreBegin; - } - IL_16F: - i++; - continue; - IL_70: - if (i + ignoreEnd.Length <= value.Length) - { - if (ignoring && value.Substring(i, ignoreEnd.Length) == ignoreEnd) - { - ignoring = false; - if (!discardIgnoreString) - { - next += ignoreEnd; - } - goto IL_16F; - } - } - if (!ignoring) - { - int j = 0; - while (j < separator.Length) - { - if (i + separator[j].Length <= value.Length) - { - if (value.Substring(i, separator[j].Length) == separator[j]) - { - if (count > -1 && (entries.Count >= count - 1)) - { - next = value.Substring(i - next.Length); - entries.Add(next); - i = value.Length - 1; - break; - } - else - { - entries.Add(next); - next = string.Empty; - i += separator[j].Length - 1; - continueOutside = true; - } - } - } - - j++; - continue; - } - } - if (continueOutside) - { - continueOutside = false; - goto IL_16F; - } - next += value[i]; - goto IL_16F; - } - if (!string.IsNullOrEmpty(next)) - { - entries.Add(next); - next = null; - } - return entries.ToArray(); - } - #endregion - #region Endianness [CLSCompliant(false)] public static ushort SwapEndian(this ushort x) diff --git a/Libraries/UniversalEditor.Essential/DataFormats/CoreObject/CoreObjectDataFormat.cs b/Libraries/UniversalEditor.Essential/DataFormats/CoreObject/CoreObjectDataFormat.cs index 08206905..ff1ba9e6 100644 --- a/Libraries/UniversalEditor.Essential/DataFormats/CoreObject/CoreObjectDataFormat.cs +++ b/Libraries/UniversalEditor.Essential/DataFormats/CoreObject/CoreObjectDataFormat.cs @@ -20,7 +20,7 @@ // along with this program. If not, see . using System; - +using MBS.Framework; using UniversalEditor.IO; using UniversalEditor.ObjectModels.CoreObject; diff --git a/Libraries/UniversalEditor.Essential/DataFormats/Markup/XML/XMLDataFormat.cs b/Libraries/UniversalEditor.Essential/DataFormats/Markup/XML/XMLDataFormat.cs index 97570727..05b66350 100644 --- a/Libraries/UniversalEditor.Essential/DataFormats/Markup/XML/XMLDataFormat.cs +++ b/Libraries/UniversalEditor.Essential/DataFormats/Markup/XML/XMLDataFormat.cs @@ -23,6 +23,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; +using MBS.Framework; using UniversalEditor.ObjectModels.Markup; using UniversalEditor.ObjectModels.PropertyList; diff --git a/Libraries/UniversalEditor.Essential/DataFormats/PropertyList/Text/TextPropertyListDataFormat.cs b/Libraries/UniversalEditor.Essential/DataFormats/PropertyList/Text/TextPropertyListDataFormat.cs index 9288e93b..44bd97c7 100644 --- a/Libraries/UniversalEditor.Essential/DataFormats/PropertyList/Text/TextPropertyListDataFormat.cs +++ b/Libraries/UniversalEditor.Essential/DataFormats/PropertyList/Text/TextPropertyListDataFormat.cs @@ -20,7 +20,7 @@ // along with this program. If not, see . using System; - +using MBS.Framework; using UniversalEditor.ObjectModels.PropertyList; namespace UniversalEditor.DataFormats.PropertyList.Text diff --git a/Libraries/UniversalEditor.Essential/ObjectModels/FileSystem/FileSystemObjectModel.cs b/Libraries/UniversalEditor.Essential/ObjectModels/FileSystem/FileSystemObjectModel.cs index e1c6aaa8..48c8ec0d 100644 --- a/Libraries/UniversalEditor.Essential/ObjectModels/FileSystem/FileSystemObjectModel.cs +++ b/Libraries/UniversalEditor.Essential/ObjectModels/FileSystem/FileSystemObjectModel.cs @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; +using MBS.Framework; using MBS.Framework.Logic.Conditional; using UniversalEditor.Accessors; using UniversalEditor.ObjectModels.Markup; diff --git a/Libraries/UniversalEditor.Essential/ProjectTaskActions/ProjectTaskActionExecute.cs b/Libraries/UniversalEditor.Essential/ProjectTaskActions/ProjectTaskActionExecute.cs index 6c4c17e5..4332dd53 100644 --- a/Libraries/UniversalEditor.Essential/ProjectTaskActions/ProjectTaskActionExecute.cs +++ b/Libraries/UniversalEditor.Essential/ProjectTaskActions/ProjectTaskActionExecute.cs @@ -20,7 +20,7 @@ // along with this program. If not, see . using System; - +using MBS.Framework; using UniversalEditor.ObjectModels.Markup; namespace UniversalEditor.ProjectTaskActions diff --git a/Plugins/UniversalEditor.Plugins.Multimedia/DataFormats/Multimedia/Audio/Synthesized/UTAU/USTDataFormat.cs b/Plugins/UniversalEditor.Plugins.Multimedia/DataFormats/Multimedia/Audio/Synthesized/UTAU/USTDataFormat.cs index 13e6c17d..006b1a9b 100644 --- a/Plugins/UniversalEditor.Plugins.Multimedia/DataFormats/Multimedia/Audio/Synthesized/UTAU/USTDataFormat.cs +++ b/Plugins/UniversalEditor.Plugins.Multimedia/DataFormats/Multimedia/Audio/Synthesized/UTAU/USTDataFormat.cs @@ -32,6 +32,8 @@ using UniversalEditor.DataFormats.Multimedia.Audio.VoicebankPhonemeDictionary; using UniversalEditor.Accessors; +using MBS.Framework; + namespace UniversalEditor.DataFormats.Multimedia.Audio.Synthesized.UTAU { /// diff --git a/Plugins/UniversalEditor.Plugins.Multimedia/DataFormats/Multimedia/Subtitle/SubRip/SubRipDataFormat.cs b/Plugins/UniversalEditor.Plugins.Multimedia/DataFormats/Multimedia/Subtitle/SubRip/SubRipDataFormat.cs index c9e5dd34..19345b56 100644 --- a/Plugins/UniversalEditor.Plugins.Multimedia/DataFormats/Multimedia/Subtitle/SubRip/SubRipDataFormat.cs +++ b/Plugins/UniversalEditor.Plugins.Multimedia/DataFormats/Multimedia/Subtitle/SubRip/SubRipDataFormat.cs @@ -21,7 +21,7 @@ using System; using System.Text; - +using MBS.Framework; using UniversalEditor.ObjectModels.Multimedia.Subtitle; namespace UniversalEditor.DataFormats.Multimedia.Subtitle.SubRip diff --git a/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Accessory/QAvimator/PRPAccessoryDataFormat.cs b/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Accessory/QAvimator/PRPAccessoryDataFormat.cs index f0e1ea7b..e3b9f275 100644 --- a/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Accessory/QAvimator/PRPAccessoryDataFormat.cs +++ b/Plugins/UniversalEditor.Plugins.Multimedia3D/DataFormats/Multimedia3D/Accessory/QAvimator/PRPAccessoryDataFormat.cs @@ -20,7 +20,7 @@ // along with this program. If not, see . using System; - +using MBS.Framework; using UniversalEditor.IO; using UniversalEditor.ObjectModels.Multimedia3D.Accessory; diff --git a/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/AdaCodeDataFormat.cs b/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/AdaCodeDataFormat.cs index 15e3dfa5..16a59f71 100644 --- a/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/AdaCodeDataFormat.cs +++ b/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/AdaCodeDataFormat.cs @@ -21,7 +21,7 @@ using System; using System.Text; - +using MBS.Framework; using MBS.Framework.Logic.Conditional; using UniversalEditor.ObjectModels.SourceCode; diff --git a/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/CSharpCodeDataFormat.cs b/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/CSharpCodeDataFormat.cs index a9db2ad1..fd0ba025 100644 --- a/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/CSharpCodeDataFormat.cs +++ b/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/CSharpCodeDataFormat.cs @@ -23,7 +23,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; - +using MBS.Framework; using UniversalEditor.IO; using UniversalEditor.ObjectModels.SourceCode; using UniversalEditor.ObjectModels.SourceCode.CodeElementReferences; @@ -886,7 +886,7 @@ namespace UniversalEditor.DataFormats.SourceCode { CodeCommentElement comment = (obj as CodeCommentElement); - string[] lines = comment.Content.Split (new string[] { System.Environment.NewLine }); + string[] lines = comment.Content.Split(new string[] { Environment.NewLine }); if (comment.Multiline && !comment.IsDocumentationComment) { sb.Append (indent); sb.AppendLine ("/* "); diff --git a/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/VisualBasicNETCodeDataFormat.cs b/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/VisualBasicNETCodeDataFormat.cs index 6ddbc4e5..ad589d98 100644 --- a/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/VisualBasicNETCodeDataFormat.cs +++ b/Plugins/UniversalEditor.Plugins.SoftwareDevelopment/DataFormats/SourceCode/VisualBasicNETCodeDataFormat.cs @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Text; +using MBS.Framework; using UniversalEditor; using UniversalEditor.IO; using UniversalEditor.ObjectModels.SourceCode; diff --git a/Plugins/UniversalEditor.Plugins.Vocaloid/DataFormats/Multimedia/Audio/Synthesized/Vocaloid/VSQDataFormat.cs b/Plugins/UniversalEditor.Plugins.Vocaloid/DataFormats/Multimedia/Audio/Synthesized/Vocaloid/VSQDataFormat.cs index 4d3989a9..90c79088 100644 --- a/Plugins/UniversalEditor.Plugins.Vocaloid/DataFormats/Multimedia/Audio/Synthesized/Vocaloid/VSQDataFormat.cs +++ b/Plugins/UniversalEditor.Plugins.Vocaloid/DataFormats/Multimedia/Audio/Synthesized/Vocaloid/VSQDataFormat.cs @@ -27,6 +27,7 @@ using UniversalEditor.DataFormats.Multimedia.Audio.Synthesized.MIDI; using UniversalEditor.ObjectModels.Multimedia.Audio.Synthesized; using UniversalEditor.ObjectModels.PropertyList; using System.Linq; +using MBS.Framework; namespace UniversalEditor.Plugins.Vocaloid.DataFormats.Multimedia.Audio.Synthesized.Vocaloid {