@@ -29,30 +29,33 @@ function M.action(selected_option)
29
29
local filename = vim .fn .fnamemodify (file , " :t" )
30
30
local output_o = output_dir .. filename .. " .o"
31
31
file = utils .os_path (file , true )
32
- local task = { " shell " , name = " - Build program → " .. file ,
32
+ local task = { name = " - Build program → " .. file ,
33
33
cmd = " rm -f \" " .. output .. " \" || true" .. -- clean
34
34
" && mkdir -p \" " .. output_dir .. " \" " .. -- mkdir
35
35
" && nasm -f elf64 " .. file .. " -o \" " .. output_o .. " \" " .. arguments .. -- compile
36
36
" && echo " .. file .. -- echo
37
- " && echo \" " .. final_message .. " \" "
37
+ " && echo \" " .. final_message .. " \" " ,
38
+ components = { " default_extended" }
38
39
}
39
40
files [_ ] = utils .os_path (output_dir .. filename .. " .o" , true ) -- prepare for linker
40
41
table.insert (tasks_compile , task )
41
42
end
42
43
-- Link .o files
43
44
files = table.concat (files ," " ) -- table to string
44
- local task_link = { " shell " , name = " - Link program → \" " .. entry_point .. " \" " ,
45
+ local task_link = { name = " - Link program → \" " .. entry_point .. " \" " ,
45
46
cmd = " ld " .. files .. " -o \" " .. output .. " \" " .. -- link
46
47
" && rm -f " .. files .. " || true" .. -- clean
47
48
" && \" " .. output .. " \" " .. -- run
48
49
" && echo && echo \" " .. entry_point .. " \" " .. -- echo
49
- " && echo \" " .. final_message .. " \" "
50
+ " && echo \" " .. final_message .. " \" " ,
51
+ components = { " default_extended" }
50
52
}
51
53
-- Run program
52
- local task_run = { " shell " , name = " - Run program → \" " .. output .. " \" " ,
54
+ local task_run = { name = " - Run program → \" " .. output .. " \" " ,
53
55
cmd = utils .os_path (output , true ) .. -- run
54
56
" && echo && echo \" " .. output .. " \" " .. -- echo
55
- " && echo \" " .. final_message .. " \" "
57
+ " && echo \" " .. final_message .. " \" " ,
58
+ components = { " default_extended" }
56
59
}
57
60
-- Runs tasks in order
58
61
local task = overseer .new_task ({
@@ -63,7 +66,6 @@ function M.action(selected_option)
63
66
task_run -- Run program
64
67
}}})
65
68
task :start ()
66
- vim .cmd (" OverseerOpen" )
67
69
68
70
elseif selected_option == " option2" then
69
71
-- Build .asm files in parallel
@@ -72,23 +74,25 @@ function M.action(selected_option)
72
74
local filename = vim .fn .fnamemodify (file , " :t" )
73
75
local output_o = output_dir .. filename .. " .o"
74
76
file = utils .os_path (file , true )
75
- local task = { " shell " , name = " - Build program → " .. file ,
77
+ local task = { name = " - Build program → " .. file ,
76
78
cmd = " rm -f \" " .. output .. " \" || true" .. -- clean
77
79
" && mkdir -p \" " .. output_dir .. " \" " .. -- mkdir
78
80
" && nasm -f elf64 " .. file .. " -o \" " .. output_o .. " \" " .. arguments .. -- compile
79
81
" && echo " .. file .. -- echo
80
- " && echo \" " .. final_message .. " \" "
82
+ " && echo \" " .. final_message .. " \" " ,
83
+ components = { " default_extended" }
81
84
}
82
85
files [_ ] = utils .os_path (output_dir .. filename .. " .o" , true ) -- prepare for linker
83
86
table.insert (tasks_compile , task )
84
87
end
85
88
-- Link .o files
86
89
files = table.concat (files ," " ) -- table to string
87
- local task_link = { " shell " , name = " - Link program → \" " .. entry_point .. " \" " ,
90
+ local task_link = { name = " - Link program → \" " .. entry_point .. " \" " ,
88
91
cmd = " ld " .. files .. " -o \" " .. output .. " \" " .. -- link
89
92
" && rm -f " .. files .. " || true" .. -- clean
90
93
" && echo \" " .. entry_point .. " \" " .. -- echo
91
- " && echo \" " .. final_message .. " \" "
94
+ " && echo \" " .. final_message .. " \" " ,
95
+ components = { " default_extended" }
92
96
}
93
97
-- Runs tasks in order
94
98
local task = overseer .new_task ({
@@ -98,18 +102,17 @@ function M.action(selected_option)
98
102
task_link , -- Link .o files
99
103
}}})
100
104
task :start ()
101
- vim .cmd (" OverseerOpen" )
102
105
elseif selected_option == " option3" then
103
106
local task = overseer .new_task ({
104
107
name = " - Assembly compiler" ,
105
108
strategy = { " orchestrator" ,
106
- tasks = {{ " shell " , name = " - Run program → \" " .. output .. " \" " ,
109
+ tasks = {{ name = " - Run program → \" " .. output .. " \" " ,
107
110
cmd = " \" " .. output .. " \" " .. -- run
108
111
" && echo && echo \" " .. output .. " \" " .. -- echo
109
- " && echo \" " .. final_message .. " \" "
112
+ " && echo \" " .. final_message .. " \" " ,
113
+ components = { " default_extended" }
110
114
},},},})
111
115
task :start ()
112
- vim .cmd (" OverseerOpen" )
113
116
elseif selected_option == " option4" then
114
117
local entry_points
115
118
local task = {}
@@ -136,23 +139,25 @@ function M.action(selected_option)
136
139
local filename = vim .fn .fnamemodify (file , " :t" )
137
140
local output_o = output_dir .. filename .. " .o"
138
141
file = utils .os_path (file , true )
139
- local task = { " shell " , name = " - Build program → " .. file ,
142
+ local task = { name = " - Build program → " .. file ,
140
143
cmd = " rm -f \" " .. output .. " \" || true" .. -- clean
141
144
" && mkdir -p \" " .. output_dir .. " \" " .. -- mkdir
142
145
" && nasm -f elf64 " .. file .. " -o \" " .. output_o .. " \" " .. arguments .. -- compile
143
146
" && echo " .. file .. -- echo
144
- " && echo \" " .. final_message .. " \" "
147
+ " && echo \" " .. final_message .. " \" " ,
148
+ components = { " default_extended" }
145
149
}
146
150
files [_ ] = utils .os_path (output_dir .. filename .. " .o" , true ) -- prepare for linker
147
151
table.insert (tasks_compile , task )
148
152
end
149
153
-- Link .o files
150
154
files = table.concat (files ," " ) -- table to string
151
- local task_link = { " shell " , name = " - Link program → " .. entry_point ,
155
+ local task_link = { name = " - Link program → " .. entry_point ,
152
156
cmd = " ld " .. files .. " -o \" " .. output .. " \" " .. -- link
153
157
" && rm -f " .. files .. " || true" .. -- clean
154
158
" && echo \" " .. entry_point .. " \" " .. -- echo
155
- " && echo \" " .. final_message .. " \" "
159
+ " && echo \" " .. final_message .. " \" " ,
160
+ components = { " default_extended" }
156
161
}
157
162
table.insert (tasks , tasks_compile ) -- store all the tasks we've created
158
163
table.insert (tasks , task_link )
@@ -163,10 +168,11 @@ function M.action(selected_option)
163
168
if solution_executables then
164
169
for entry , executable in pairs (solution_executables ) do
165
170
utils .os_path (executable , true )
166
- task = { " shell " , name = " - Run program → " .. executable ,
171
+ task = { name = " - Run program → " .. executable ,
167
172
cmd = executable .. -- run
168
173
" && echo && echo " .. executable .. -- echo
169
- " && echo \" " .. final_message .. " \" "
174
+ " && echo \" " .. final_message .. " \" " ,
175
+ components = { " default_extended" }
170
176
}
171
177
table.insert (executables , task ) -- store all the executables we've created
172
178
table.insert (tasks , executables )
@@ -180,7 +186,6 @@ function M.action(selected_option)
180
186
-- -- Then run the solution executable(s)
181
187
}})
182
188
task :start ()
183
- vim .cmd (" OverseerOpen" )
184
189
185
190
else -- If no .solution file
186
191
-- Create a list of all entry point files in the working directory
@@ -200,23 +205,25 @@ function M.action(selected_option)
200
205
local filename = vim .fn .fnamemodify (file , " :t" )
201
206
local output_o = output_dir .. filename .. " .o"
202
207
file = utils .os_path (file , true )
203
- local task = { " shell " , name = " - Build program → " .. file ,
208
+ local task = { name = " - Build program → " .. file ,
204
209
cmd = " rm -f \" " .. output .. " \" || true" .. -- clean
205
210
" && mkdir -p \" " .. output_dir .. " \" " .. -- mkdir
206
211
" && nasm -f elf64 " .. file .. " -o \" " .. output_o .. " \" " .. arguments .. -- compile
207
212
" && echo " .. file .. -- echo
208
- " && echo \" " .. final_message .. " \" "
213
+ " && echo \" " .. final_message .. " \" " ,
214
+ components = { " default_extended" }
209
215
}
210
216
files [_ ] = utils .os_path (output_dir .. filename .. " .o" , true ) -- prepare for linker
211
217
table.insert (tasks_compile , task )
212
218
end
213
219
-- Link .o files
214
220
files = table.concat (files ," " ) -- table to string
215
- local task_link = { " shell " , name = " - Link program → \" " .. entry_point .. " \" " ,
221
+ local task_link = { name = " - Link program → \" " .. entry_point .. " \" " ,
216
222
cmd = " ld " .. files .. " -o \" " .. output .. " \" " .. -- link
217
223
" && rm -f " .. files .. " || true" .. -- clean
218
224
" && echo \" " .. entry_point .. " \" " .. -- echo
219
- " && echo \" " .. final_message .. " \" "
225
+ " && echo \" " .. final_message .. " \" " ,
226
+ components = { " default_extended" }
220
227
}
221
228
table.insert (tasks , tasks_compile ) -- store all the tasks we've created
222
229
table.insert (tasks , task_link )
@@ -227,7 +234,6 @@ function M.action(selected_option)
227
234
tasks = tasks
228
235
}})
229
236
task :start ()
230
- vim .cmd (" OverseerOpen" )
231
237
end
232
238
end
233
239
end
0 commit comments