summaryrefslogtreecommitdiff
path: root/config/essentials/vis/build.lua
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-08-15 13:25:05 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-08-15 13:25:05 +0200
commitb3a25c858a5cf55c954e9d78acd75a135992778d (patch)
tree5110f03eb46a2728c89e8d537ec358165cc70f66 /config/essentials/vis/build.lua
parent4185a9b7ef76d686af011c8f66c14150add04426 (diff)
parentb6484958979b0bb6398dc95b72f233bea20fe1b4 (diff)
Merge branch 'main' of debuc.com:dotfiles
Diffstat (limited to 'config/essentials/vis/build.lua')
-rw-r--r--config/essentials/vis/build.lua78
1 files changed, 40 insertions, 38 deletions
diff --git a/config/essentials/vis/build.lua b/config/essentials/vis/build.lua
index 90dd905..bccf402 100644
--- a/config/essentials/vis/build.lua
+++ b/config/essentials/vis/build.lua
@@ -5,7 +5,6 @@ Changes made:
- print build messages on success
--]]
-
-- Copyright (c) 2024 Florian Fischer. All rights reserved.
--
-- vis-build is free software: you can redistribute it and/or modify it under
@@ -21,54 +20,57 @@ Changes made:
-- vis-build found in the LICENSE file.
-- If not, see <https://www.gnu.org/licenses/>.
local M = {}
-M.get_default_build_cmd = function() return 'make' end
+M.get_default_build_cmd = function()
+ return "make"
+end
local build_id = 0
local builds = {}
M.new_build = function(cmd)
- build_id = build_id + 1
- local build_name = 'build' .. build_id
- local build_fd = vis:communicate(build_name, cmd)
- local build = {fd = build_fd, out = '', err = '', cmd = cmd}
- builds[build_name] = build
+ build_id = build_id + 1
+ local build_name = "build" .. build_id
+ local build_fd = vis:communicate(build_name, cmd)
+ local build = { fd = build_fd, out = "", err = "", cmd = cmd }
+ builds[build_name] = build
end
-vis.events.subscribe(vis.events.PROCESS_RESPONSE,
- function(name, event, code, msg)
- local build = builds[name]
- if not build then return end
+vis.events.subscribe(vis.events.PROCESS_RESPONSE, function(name, event, code, msg)
+ local build = builds[name]
+ if not build then
+ return
+ end
- if event == 'EXIT' or event == 'SIGNAL' then
- if code ~= 0 then
- vis:message('build: ' .. name .. ' cmd: ' .. build.cmd)
- if event == 'EXIT' then
- vis:message('failed with: ' .. code)
- else
- vis:message('got signal: ' .. code)
- end
- vis:message('stdout:\n' .. build.out)
- vis:message('stderr:\n' .. build.err)
- else
- vis:message(name .. ':\n' .. build.out)
- end
- builds[name] = nil
- end
+ if event == "EXIT" or event == "SIGNAL" then
+ if code ~= 0 then
+ vis:message("build: " .. name .. " cmd: " .. build.cmd)
+ if event == "EXIT" then
+ vis:message("failed with: " .. code)
+ else
+ vis:message("got signal: " .. code)
+ end
+ vis:message("stdout:\n" .. build.out)
+ vis:message("stderr:\n" .. build.err)
+ else
+ vis:message(name .. ":\n" .. build.out)
+ end
+ builds[name] = nil
+ end
- if event == 'STDOUT' then
- build.out = build.out .. msg
- elseif event == 'STDERR' then
- build.err = build.err .. msg
- end
+ if event == "STDOUT" then
+ build.out = build.out .. msg
+ elseif event == "STDERR" then
+ build.err = build.err .. msg
+ end
end)
-vis:command_register('build', function(argv)
- M.new_build(argv[1] or M.get_default_build_cmd())
-end, 'Asynchronously build the current file or project')
+vis:command_register("build", function(argv)
+ M.new_build(argv[1] or M.get_default_build_cmd())
+end, "Asynchronously build the current file or project")
-vis:map(vis.modes.NORMAL, '<M-b>', function()
- vis:command('build')
- return 0
-end, 'Asynchronously build the current file or project')
+vis:map(vis.modes.NORMAL, "<M-b>", function()
+ vis:command("build")
+ return 0
+end, "Asynchronously build the current file or project")
return M