diff options
Diffstat (limited to 'config/vis/plugins/vis-build/init.lua')
| m--------- | config/vis/plugins/vis-build | 0 | ||||
| -rw-r--r-- | config/vis/plugins/vis-build/init.lua | 52 |
2 files changed, 0 insertions, 52 deletions
diff --git a/config/vis/plugins/vis-build b/config/vis/plugins/vis-build new file mode 160000 +Subproject 7eea122ccf24efc9de55e2d9bf0dd69f0e18e50 diff --git a/config/vis/plugins/vis-build/init.lua b/config/vis/plugins/vis-build/init.lua deleted file mode 100644 index 0558c39..0000000 --- a/config/vis/plugins/vis-build/init.lua +++ /dev/null @@ -1,52 +0,0 @@ -local M = {} -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 -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:info(name .. ' done') - end - builds[name] = nil - 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:map(vis.modes.NORMAL, '<M-b>', function() - vis:command('build') - return 0 -end, 'Asynchronously build the current file or project') - -return M |
