-
Notifications
You must be signed in to change notification settings - Fork 0
/
autotest.lua
42 lines (38 loc) · 1.24 KB
/
autotest.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
local bufnr = 9
function cargo_test ()
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, { "=====TESTS=====" })
vim.fn.jobstart({"cargo", "test"}, {
stdout_buffered = true,
on_stdout = function(_, data)
if data then
vim.api.nvim_buf_set_lines(bufnr, -1, -1, false, data)
end
end,
on_stderr = function(_, data)
if data then
vim.api.nvim_buf_set_lines(bufnr, -1, -1, false, data)
end
end,
})
end
function cargo_run ()
vim.api.nvim_buf_set_lines(bufnr, 0, -1, false, { "+++++RUN+++++" })
vim.fn.jobstart({"cargo", "run", "--", "-s", ", ", "-p", "zyxwvutsrqponmlkjihgfedcba", "hello world"}, {
stdout_buffered = true,
on_stdout = function(_, data)
if data then
vim.api.nvim_buf_set_lines(bufnr, -1, -1, false, data)
end
end,
on_stderr = function(_, data)
if data then
vim.api.nvim_buf_set_lines(bufnr, -1, -1, false, data)
end
end,
})
end
vim.api.nvim_create_autocmd("BufWritePost", {
group = vim.api.nvim_create_augroup("autotest", { clear = true }),
pattern = "main.rs",
callback = cargo_run,
})