Skip to content

Commit 44e6aac

Browse files
authored
Merge pull request #4 from QiuZhiFei/dev
fix: dashc transformer
2 parents 0883a03 + a7f5149 commit 44e6aac

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed

Sources/Commands/CommandsDashcTransformer.swift

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,19 @@ public protocol CommandsDashcTransformerHandler {
1313
}
1414

1515
extension Commands {
16-
public struct DashcTransformerHandlerManager {
17-
private static var handlers: [CommandsDashcTransformerHandler.Type] = [
18-
BashDashcTransformer.self,
19-
RubyDashcTransformer.self,
20-
PythonDashcTransformer.self,
21-
NodeDashcTransformer.self,
22-
]
23-
}
16+
public enum DashcTransformer { }
17+
}
18+
19+
extension Commands.DashcTransformer {
20+
private static var handlers: [CommandsDashcTransformerHandler.Type] = [
21+
Bash.self,
22+
Ruby.self,
23+
Python.self,
24+
Node.self,
25+
]
2426
}
2527

26-
extension Commands.DashcTransformerHandlerManager {
28+
extension Commands.DashcTransformer {
2729
public static func register(_ handler: CommandsDashcTransformerHandler.Type) {
2830
if handlers.contains(where: { it in return type(of: it) == type(of: handler) }) {
2931
return
@@ -38,7 +40,7 @@ extension Commands.DashcTransformerHandlerManager {
3840
}
3941
}
4042

41-
extension Commands.DashcTransformerHandlerManager {
43+
extension Commands.DashcTransformer {
4244
static func transformer(executableURL: String, dashc: Commands.Arguments?) -> Commands.Arguments? {
4345
for handler in handlers {
4446
if handler.canHandle(executableURL: executableURL, dashc: dashc) {
@@ -49,8 +51,8 @@ extension Commands.DashcTransformerHandlerManager {
4951
}
5052
}
5153

52-
extension Commands {
53-
public struct BashDashcTransformer: CommandsDashcTransformerHandler {
54+
extension Commands.DashcTransformer {
55+
public struct Bash: CommandsDashcTransformerHandler {
5456
public static func canHandle(executableURL: String,
5557
dashc: Commands.Arguments?) -> Bool {
5658
if executableURL.hasSuffix("bash"), dashc?.raw == ["-c"] {
@@ -66,8 +68,8 @@ extension Commands {
6668
}
6769
}
6870

69-
extension Commands {
70-
public struct RubyDashcTransformer: CommandsDashcTransformerHandler {
71+
extension Commands.DashcTransformer {
72+
public struct Ruby: CommandsDashcTransformerHandler {
7173
public static func canHandle(executableURL: String,
7274
dashc: Commands.Arguments?) -> Bool {
7375
if executableURL.hasSuffix("ruby"), dashc?.raw == ["-e"] {
@@ -84,8 +86,8 @@ extension Commands {
8486
}
8587

8688

87-
extension Commands {
88-
public struct PythonDashcTransformer: CommandsDashcTransformerHandler {
89+
extension Commands.DashcTransformer {
90+
public struct Python: CommandsDashcTransformerHandler {
8991
public static func canHandle(executableURL: String,
9092
dashc: Commands.Arguments?) -> Bool {
9193
if executableURL.hasSuffix("python"), dashc?.raw == ["-c"] {
@@ -101,8 +103,8 @@ extension Commands {
101103
}
102104
}
103105

104-
extension Commands {
105-
public struct NodeDashcTransformer: CommandsDashcTransformerHandler {
106+
extension Commands.DashcTransformer {
107+
public struct Node: CommandsDashcTransformerHandler {
106108
public static func canHandle(executableURL: String,
107109
dashc: Commands.Arguments?) -> Bool {
108110
if executableURL.hasSuffix("node"), dashc?.raw == ["-e"] {

Sources/Commands/CommandsRequest.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ extension Commands.Request {
205205
if !dashcResult.finished {
206206
let parameters = data.first!.split(separator: " ").map{ String($0) }
207207
if parameters.first!.starts(with: "-"),
208-
let dashc = Commands.DashcTransformerHandlerManager.transformer(executableURL: executableURLResult.executableURL, dashc: Commands.Arguments(parameters.first!)) {
208+
let dashc = Commands.DashcTransformer.transformer(executableURL: executableURLResult.executableURL, dashc: Commands.Arguments(parameters.first!)) {
209209
dashcResult.dashc = dashc
210210
data = shift(parameters, data)
211211
}

0 commit comments

Comments
 (0)