mirror of
https://github.com/coteditor/CotEditor.git
synced 2024-10-27 03:19:49 +03:00
Extract StringBasics from TextEditing
This commit is contained in:
parent
84e04c8b1b
commit
102f59cbf2
@ -445,7 +445,6 @@
|
||||
2A9003B9267715E600EC766F /* NSApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A9003B8267715E500EC766F /* NSApplication.swift */; };
|
||||
2A9003BA267715E600EC766F /* NSApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A9003B8267715E500EC766F /* NSApplication.swift */; };
|
||||
2A902A9D2B86DC140053FC96 /* KeyBindingsSettings.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 2A1E7DCB2B889A1F004F0C07 /* KeyBindingsSettings.xcstrings */; };
|
||||
2A902B9A236E3AA600A6A9BB /* StringCommentingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A902B99236E3AA600A6A9BB /* StringCommentingTests.swift */; };
|
||||
2A9082E21D32456300228F50 /* NSTextView+Layout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A9082E11D32456300228F50 /* NSTextView+Layout.swift */; };
|
||||
2A9082E31D32456300228F50 /* NSTextView+Layout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A9082E11D32456300228F50 /* NSTextView+Layout.swift */; };
|
||||
2A9082E51D324D9A00228F50 /* Geometry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A9082E41D324D9A00228F50 /* Geometry.swift */; };
|
||||
@ -579,8 +578,6 @@
|
||||
2ABF86BE208C3C630082D52B /* AudioToolbox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ABF86BC208C3C630082D52B /* AudioToolbox.swift */; };
|
||||
2ABF9E9F2C1EC8620033D5E6 /* String+Filename.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ABF9E9E2C1EC8590033D5E6 /* String+Filename.swift */; };
|
||||
2ABF9EA02C1EC8620033D5E6 /* String+Filename.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ABF9E9E2C1EC8590033D5E6 /* String+Filename.swift */; };
|
||||
2ABF9EA22C1ED4BF0033D5E6 /* String+Commenting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ABF9EA12C1ED4B90033D5E6 /* String+Commenting.swift */; };
|
||||
2ABF9EA32C1ED4BF0033D5E6 /* String+Commenting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ABF9EA12C1ED4B90033D5E6 /* String+Commenting.swift */; };
|
||||
2AC13A0924F112D800799A93 /* CommandLineToolManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AC13A0824F112D800799A93 /* CommandLineToolManager.swift */; };
|
||||
2AC13A0A24F112D800799A93 /* CommandLineToolManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AC13A0824F112D800799A93 /* CommandLineToolManager.swift */; };
|
||||
2AC186DA1E2F414D002F4D27 /* NSDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AC186D91E2F414D002F4D27 /* NSDocument.swift */; };
|
||||
@ -1050,7 +1047,6 @@
|
||||
2A8EAE402BA3C3DC00448875 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
|
||||
2A8EAE552BA7E2BE00448875 /* Licenses */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Licenses; sourceTree = "<group>"; };
|
||||
2A9003B8267715E500EC766F /* NSApplication.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSApplication.swift; sourceTree = "<group>"; };
|
||||
2A902B99236E3AA600A6A9BB /* StringCommentingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringCommentingTests.swift; sourceTree = "<group>"; };
|
||||
2A9082E11D32456300228F50 /* NSTextView+Layout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSTextView+Layout.swift"; sourceTree = "<group>"; };
|
||||
2A9082E41D324D9A00228F50 /* Geometry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Geometry.swift; sourceTree = "<group>"; };
|
||||
2A9082E81D32539A00228F50 /* EditorTextView+Scaling.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "EditorTextView+Scaling.swift"; sourceTree = "<group>"; };
|
||||
@ -1121,7 +1117,6 @@
|
||||
2ABF49E2221A54AD00239278 /* TextClipping.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextClipping.swift; sourceTree = "<group>"; };
|
||||
2ABF86BC208C3C630082D52B /* AudioToolbox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioToolbox.swift; sourceTree = "<group>"; };
|
||||
2ABF9E9E2C1EC8590033D5E6 /* String+Filename.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Filename.swift"; sourceTree = "<group>"; };
|
||||
2ABF9EA12C1ED4B90033D5E6 /* String+Commenting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Commenting.swift"; sourceTree = "<group>"; };
|
||||
2AC13A0824F112D800799A93 /* CommandLineToolManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandLineToolManager.swift; sourceTree = "<group>"; };
|
||||
2AC186D91E2F414D002F4D27 /* NSDocument.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSDocument.swift; sourceTree = "<group>"; };
|
||||
2AC186DC1E2F4264002F4D27 /* Debug.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Debug.swift; sourceTree = "<group>"; };
|
||||
@ -1573,7 +1568,6 @@
|
||||
2AF0C1241D3DA44900B6FCB6 /* FourCharCode.swift */,
|
||||
2ADA15ED21C5073D00C6608B /* Collection+IndexSet.swift */,
|
||||
2AA761341D45634400031AAF /* String+Counting.swift */,
|
||||
2ABF9EA12C1ED4B90033D5E6 /* String+Commenting.swift */,
|
||||
2ABF9E9E2C1EC8590033D5E6 /* String+Filename.swift */,
|
||||
2AE3F3171D3F8A1F005B8724 /* NSAttributedString.swift */,
|
||||
2A8DA9461D28ED93003D0C4B /* URL.swift */,
|
||||
@ -2109,7 +2103,6 @@
|
||||
2A9082EE1D325ED900228F50 /* GeometryTests.swift */,
|
||||
2AC39F721E8AC80E009F97D5 /* CollectionTests.swift */,
|
||||
2AE12DFD1E7DB7D200681F72 /* StringFilenameTests.swift */,
|
||||
2A902B99236E3AA600A6A9BB /* StringCommentingTests.swift */,
|
||||
2AC71DE11BF0BDBC002E1434 /* StringAdvancedCountTests.swift */,
|
||||
2A18A5BC1C4A730D00BAD817 /* EncodingTests.swift */,
|
||||
2A476CAD1D09C8C80088E37A /* URLExtensionsTests.swift */,
|
||||
@ -2913,7 +2906,6 @@
|
||||
2A5D13261D1F9D4100D38E6A /* StatableToolbarItem.swift in Sources */,
|
||||
2AD21FCD1D2E3BE80018C8D1 /* StatusBar.swift in Sources */,
|
||||
2A26156E2977B87F008C2240 /* StepperNumberField.swift in Sources */,
|
||||
2ABF9EA32C1ED4BF0033D5E6 /* String+Commenting.swift in Sources */,
|
||||
2AA761361D45634400031AAF /* String+Counting.swift in Sources */,
|
||||
2ABF9EA02C1EC8620033D5E6 /* String+Filename.swift in Sources */,
|
||||
2A2615892977FCF6008C2240 /* SubmitButtonGroup.swift in Sources */,
|
||||
@ -2997,7 +2989,6 @@
|
||||
2AFD328F2949B34A000ED1C5 /* RegularExpressionSyntaxTests.swift in Sources */,
|
||||
2A04E9BB27FD6911008C82D8 /* SnippetTests.swift in Sources */,
|
||||
2AC71DE21BF0BDBC002E1434 /* StringAdvancedCountTests.swift in Sources */,
|
||||
2A902B9A236E3AA600A6A9BB /* StringCommentingTests.swift in Sources */,
|
||||
2AE12DFE1E7DB7D200681F72 /* StringFilenameTests.swift in Sources */,
|
||||
2A63CEC41D0B06D800ED8186 /* SyntaxTests.swift in Sources */,
|
||||
2A5EDDBD241B64EB00A07810 /* TextClippingTests.swift in Sources */,
|
||||
@ -3240,7 +3231,6 @@
|
||||
2A5D13251D1F9D4100D38E6A /* StatableToolbarItem.swift in Sources */,
|
||||
2AD21FCC1D2E3BE80018C8D1 /* StatusBar.swift in Sources */,
|
||||
2A26156F2977B87F008C2240 /* StepperNumberField.swift in Sources */,
|
||||
2ABF9EA22C1ED4BF0033D5E6 /* String+Commenting.swift in Sources */,
|
||||
2AA761351D45634400031AAF /* String+Counting.swift in Sources */,
|
||||
2ABF9E9F2C1EC8620033D5E6 /* String+Filename.swift in Sources */,
|
||||
2A26158A2977FCF6008C2240 /* SubmitButtonGroup.swift in Sources */,
|
||||
|
@ -24,7 +24,7 @@
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
|
||||
struct CustomSurroundView: View {
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
|
||||
import AppKit
|
||||
import Syntax
|
||||
import TextEditing
|
||||
|
||||
extension EditorTextView: Commenting {
|
||||
|
||||
@ -73,17 +74,6 @@ extension EditorTextView: Commenting {
|
||||
|
||||
// MARK: - Protocol
|
||||
|
||||
struct CommentTypes: OptionSet {
|
||||
|
||||
let rawValue: Int
|
||||
|
||||
static let inline = Self(rawValue: 1 << 0)
|
||||
static let block = Self(rawValue: 1 << 1)
|
||||
|
||||
static let both: Self = [.inline, .block]
|
||||
}
|
||||
|
||||
|
||||
@MainActor protocol Commenting: NSTextView {
|
||||
|
||||
var commentDelimiters: Syntax.Comment { get }
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
import AppKit
|
||||
import SwiftUI
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
|
||||
extension EditorTextView {
|
||||
|
||||
|
@ -29,7 +29,7 @@ import Combine
|
||||
import Defaults
|
||||
import Shortcut
|
||||
import Syntax
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
|
||||
private extension NSAttributedString.Key {
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
//
|
||||
|
||||
import AppKit
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
|
||||
extension NSTextView {
|
||||
|
||||
|
@ -24,6 +24,7 @@
|
||||
//
|
||||
|
||||
import AppKit
|
||||
import StringBasics
|
||||
import TextEditing
|
||||
|
||||
extension NSTextView {
|
||||
|
@ -28,7 +28,7 @@ import Observation
|
||||
import Combine
|
||||
import Defaults
|
||||
import Syntax
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
|
||||
final class OutlineInspectorViewController: NSHostingController<OutlineInspectorView>, DocumentOwner {
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
//
|
||||
|
||||
import AppKit
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
|
||||
final class RegexFindPanelTextView: FindPanelTextView {
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
import ValueRange
|
||||
|
||||
struct TextFind {
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
import Combine
|
||||
import AppKit.NSTextStorage
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
import ValueRange
|
||||
|
||||
@MainActor final class URLDetector {
|
||||
|
@ -16,6 +16,7 @@ let package = Package(
|
||||
"FileEncoding",
|
||||
"FilePermissions",
|
||||
"Shortcut",
|
||||
"StringBasics",
|
||||
"Syntax",
|
||||
"TextEditing",
|
||||
"UnicodeNormalization",
|
||||
@ -27,6 +28,7 @@ let package = Package(
|
||||
.library(name: "Defaults", targets: ["Defaults"]),
|
||||
.library(name: "FileEncoding", targets: ["FileEncoding"]),
|
||||
.library(name: "FilePermissions", targets: ["FilePermissions"]),
|
||||
.library(name: "StringBasics", targets: ["StringBasics"]),
|
||||
.library(name: "Syntax", targets: ["Syntax"]),
|
||||
.library(name: "TextEditing", targets: ["TextEditing"]),
|
||||
.library(name: "UnicodeNormalization", targets: ["UnicodeNormalization"]),
|
||||
@ -46,10 +48,13 @@ let package = Package(
|
||||
.target(name: "FilePermissions"),
|
||||
.testTarget(name: "FilePermissionsTests", dependencies: ["FilePermissions"]),
|
||||
|
||||
.target(name: "Syntax", dependencies: ["TextEditing", "ValueRange"]),
|
||||
.target(name: "StringBasics"),
|
||||
.testTarget(name: "StringBasicsTests", dependencies: ["StringBasics"]),
|
||||
|
||||
.target(name: "Syntax", dependencies: ["StringBasics", "ValueRange"]),
|
||||
.testTarget(name: "SyntaxTests", dependencies: ["Syntax"]),
|
||||
|
||||
.target(name: "TextEditing"),
|
||||
.target(name: "TextEditing", dependencies: ["StringBasics", "Syntax"]),
|
||||
.testTarget(name: "TextEditingTests", dependencies: ["TextEditing"]),
|
||||
|
||||
.target(name: "UnicodeNormalization"),
|
||||
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// BracePair.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// Collection+String.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
38
Packages/EditorKit/Sources/StringBasics/Collection.swift
Normal file
38
Packages/EditorKit/Sources/StringBasics/Collection.swift
Normal file
@ -0,0 +1,38 @@
|
||||
//
|
||||
// Collection.swift
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by 1024jp on 2024-06-19.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2016-2024 1024jp
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
extension Sequence where Element: Equatable {
|
||||
|
||||
/// An array consists of unique elements of receiver by keeping ordering.
|
||||
var uniqued: [Element] {
|
||||
|
||||
self.reduce(into: []) { (unique, element) in
|
||||
guard !unique.contains(element) else { return }
|
||||
|
||||
unique.append(element)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// NSRange.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// NSRegularExpression+Additions.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// String+NSRange.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// Pair.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// String+Case.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// String+Counting.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// String+Escaping.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// String+FullwidthTransform.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// String+LineRange.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// String+Match.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
@ -26,7 +26,7 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
import ValueRange
|
||||
|
||||
public typealias Highlight = ValueRange<SyntaxType>
|
||||
|
@ -26,7 +26,7 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
|
||||
public enum SyntaxType: String, Sendable, CaseIterable {
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// Collection.swift
|
||||
// TextEditing
|
||||
// StringBasics
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
|
@ -1,5 +1,6 @@
|
||||
//
|
||||
// String+Commenting.swift
|
||||
// TextEditing
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
@ -24,10 +25,27 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import StringBasics
|
||||
import Syntax
|
||||
import TextEditing
|
||||
|
||||
extension String {
|
||||
public struct CommentTypes: OptionSet, Sendable {
|
||||
|
||||
public let rawValue: Int
|
||||
|
||||
public static let inline = Self(rawValue: 1 << 0)
|
||||
public static let block = Self(rawValue: 1 << 1)
|
||||
|
||||
public static let both: Self = [.inline, .block]
|
||||
|
||||
|
||||
public init(rawValue: Int) {
|
||||
|
||||
self.rawValue = rawValue
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public extension String {
|
||||
|
||||
/// Comments out the selections by appending comment delimiters.
|
||||
///
|
@ -25,6 +25,7 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import StringBasics
|
||||
|
||||
public enum IndentStyle: Equatable, Sendable {
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import StringBasics
|
||||
|
||||
public extension String {
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// BracePairTests.swift
|
||||
// TextEditingTests
|
||||
// StringBasicsTests
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
@ -25,7 +25,7 @@
|
||||
//
|
||||
|
||||
import Testing
|
||||
@testable import TextEditing
|
||||
@testable import StringBasics
|
||||
|
||||
struct BracePairTests {
|
||||
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// LineRangeTests.swift
|
||||
// TextEditingTests
|
||||
// StringBasicsTests
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
@ -26,7 +26,7 @@
|
||||
|
||||
import Foundation
|
||||
import Testing
|
||||
@testable import TextEditing
|
||||
@testable import StringBasics
|
||||
|
||||
struct LineRangeTests {
|
||||
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// NSRangeTests.swift
|
||||
// TextEditingTests
|
||||
// StringBasicsTests
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
@ -26,7 +26,7 @@
|
||||
|
||||
import Foundation
|
||||
import Testing
|
||||
@testable import TextEditing
|
||||
@testable import StringBasics
|
||||
|
||||
struct NSRangeTests {
|
||||
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// NSStringTests.swift
|
||||
// TextEditingTests
|
||||
// StringBasicsTests
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
@ -26,7 +26,7 @@
|
||||
|
||||
import Foundation
|
||||
import Testing
|
||||
@testable import TextEditing
|
||||
@testable import StringBasics
|
||||
|
||||
struct NSStringTests {
|
||||
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// StringCountingTests.swift
|
||||
// TextEditingTests
|
||||
// StringBasicsTests
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
@ -26,7 +26,7 @@
|
||||
|
||||
import Foundation
|
||||
import Testing
|
||||
@testable import TextEditing
|
||||
@testable import StringBasics
|
||||
|
||||
struct StringCountingTests {
|
||||
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// StringExtensionsTests.swift
|
||||
// TextEditingTests
|
||||
// StringBasicsTests
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
@ -26,7 +26,7 @@
|
||||
|
||||
import Foundation
|
||||
import Testing
|
||||
@testable import TextEditing
|
||||
@testable import StringBasics
|
||||
|
||||
struct StringExtensionsTests {
|
||||
|
@ -1,6 +1,6 @@
|
||||
//
|
||||
// StringCommentingTests.swift
|
||||
// Tests
|
||||
// TextEditingTests
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
@ -25,10 +25,10 @@
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import TextEditing
|
||||
import Testing
|
||||
import Syntax
|
||||
@testable import CotEditor
|
||||
import struct StringBasics.Pair
|
||||
@testable import TextEditing
|
||||
|
||||
struct StringCommentingTests {
|
||||
|
@ -28,7 +28,7 @@ import Foundation
|
||||
import Testing
|
||||
import Yams
|
||||
import Syntax
|
||||
import TextEditing
|
||||
import StringBasics
|
||||
@testable import CotEditor
|
||||
|
||||
actor SyntaxTests {
|
||||
|
Loading…
Reference in New Issue
Block a user