@@ -2,11 +2,19 @@ const commonOptions: Fig.Option[] = [
2
2
{
3
3
name : [ "--config-path" , "-c" ] ,
4
4
description : "Specify the path to the configuration file" ,
5
+ args : {
6
+ name : "path" ,
7
+ template : "filepaths" ,
8
+ } ,
5
9
isPersistent : true ,
6
10
} ,
7
11
{
8
12
name : [ "--sake-app-path" , "-s" ] ,
9
13
description : "Specify the path for the SakeApp package" ,
14
+ args : {
15
+ name : "path" ,
16
+ template : "folders" ,
17
+ } ,
10
18
isPersistent : true ,
11
19
} ,
12
20
] ;
@@ -21,12 +29,21 @@ const commonCommandSpecificOptions: Fig.Option[] = [
21
29
} ,
22
30
priority : 55 ,
23
31
} ,
32
+ {
33
+ name : [ "--sake-app-prebuilt-binary-path" , "-b" ] ,
34
+ description : "Specify the path to the prebuilt SakeApp binary" ,
35
+ args : {
36
+ name : "path" ,
37
+ template : "filepaths" ,
38
+ } ,
39
+ priority : 55 ,
40
+ } ,
24
41
] ;
25
42
26
43
const completionSpec : Fig . Spec = {
27
44
name : "sake" ,
28
45
description :
29
- "🍶 Swift-based utility for managing command execution with dependencies and conditions , inspired by Make" ,
46
+ "🍶 Swift-based utility for managing project commands , inspired by Make" ,
30
47
generateSpec : async ( _tokens , executeShellCommand ) => {
31
48
const { stdout } = await executeShellCommand ( {
32
49
command : "sake" ,
@@ -38,7 +55,7 @@ const completionSpec: Fig.Spec = {
38
55
const group = commands . groups [ groupName ] ;
39
56
return [
40
57
...acc ,
41
- ...group . map ( ( command ) => {
58
+ ...group . map ( ( command : { name : string ; description : string } ) => {
42
59
return {
43
60
name : command . name ,
44
61
description : command . description || "The command to run" ,
@@ -69,6 +86,11 @@ const completionSpec: Fig.Spec = {
69
86
"Remove all build artifacts generated by the SakeApp to ensure a clean state for future builds" ,
70
87
options : [ ...commonOptions ] ,
71
88
} ,
89
+ {
90
+ name : "edit" ,
91
+ description : "Open the SakeApp in Xcode (macOS only)" ,
92
+ options : [ ...commonOptions ] ,
93
+ } ,
72
94
{
73
95
name : "list" ,
74
96
description : "List all available commands defined in the SakeApp" ,
@@ -82,6 +104,18 @@ const completionSpec: Fig.Spec = {
82
104
} ,
83
105
] ,
84
106
} ,
107
+ {
108
+ name : "build" ,
109
+ description : "Manually trigger a rebuild of the SakeApp" ,
110
+ options : [
111
+ ...commonOptions ,
112
+ {
113
+ name : "--show-bin-path" ,
114
+ description : "Print the path to the built SakeApp executable" ,
115
+ priority : 45 ,
116
+ } ,
117
+ ] ,
118
+ } ,
85
119
{
86
120
name : "run" ,
87
121
description : "Run the specified command from the SakeApp" ,
@@ -119,6 +153,11 @@ const completionSpec: Fig.Spec = {
119
153
isPersistent : true ,
120
154
priority : 40 ,
121
155
} ,
156
+ {
157
+ name : "--version" ,
158
+ description : "Show the version" ,
159
+ priority : 40 ,
160
+ }
122
161
] ,
123
162
} ;
124
163
export default completionSpec ;
0 commit comments