diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-08-15 12:19:29 +0200 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2024-08-15 12:19:29 +0200 |
commit | b6484958979b0bb6398dc95b72f233bea20fe1b4 (patch) | |
tree | 828c54ffdc73ad2970c53f3d4200c2cdbfc9b75f /config/essentials/vis/build.lua | |
parent | 86c5ff5335a1adaf721778bdfcb79ff06726e71f (diff) |
checkpoint
Diffstat (limited to 'config/essentials/vis/build.lua')
-rw-r--r-- | config/essentials/vis/build.lua | 78 |
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 |