@@ -13,17 +13,19 @@ public protocol CommandsDashcTransformerHandler {
1313}
1414
1515extension 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 " ] {
0 commit comments