dotfiles

personal dotfiles
git clone anongit@rnpnr.xyz:dotfiles.git
Log | Files | Refs | Feed | Submodules

Commit: 48b31dc4abee7440603ef96deafaa01c6def9603
Parent: d189cc87262a4f88f2d385f48e9ec614344d9321
Author: Randy Palamar
Date:   Mon,  5 May 2025 05:41:11 -0600

vis: build: try running more files in c mode

Diffstat:
M.config/vis/build.lua | 21++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/.config/vis/build.lua b/.config/vis/build.lua @@ -23,6 +23,11 @@ local logger = function(clear, ostr, estr) vis:message(string.rep("=", vis.win.viewport.width / 2)) end +local file_exists = function(file) + local f = io.open(file, "r") + if f ~= nil then io.close(f) return true else return false end +end + local function build_files(win) local build_tex = function (f) local cmd = "xelatex -halt-on-error -shell-escape " @@ -63,7 +68,20 @@ local function build_files(win) return true end - local build_c = function (f) return run_sh({name = 'build.sh'}) end + local build_c = function (f) + local cmd + if cmd == nil and file_exists('./build') then cmd = '$PWD/build --debug' end + if cmd == nil and file_exists('./build.sh') then cmd = '$PWD/build.sh' end + if cmd == nil and file_exists('Makefile') then cmd = 'make' end + if not cmd then return false, 'failed to determine method to build' end + + local _, _, estr = vis:pipe(cmd) + logger(true, nil, estr) + gf.setup_iterators_from_text(estr, function(str) + return not str:find(": error:") and not str:find(": warning:") + end) + return true + end local lang = {} lang["bash"] = run_sh @@ -71,6 +89,7 @@ local function build_files(win) lang["cpp"] = build_c lang["latex"] = build_tex lang["python"] = run_python + lang["rc"] = run_sh local builder = lang[win.syntax] if builder == nil then