diff options
Diffstat (limited to 'lua/aotrix/build.lua')
| -rw-r--r-- | lua/aotrix/build.lua | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/lua/aotrix/build.lua b/lua/aotrix/build.lua deleted file mode 100644 index 5b70627..0000000 --- a/lua/aotrix/build.lua +++ /dev/null @@ -1,78 +0,0 @@ -function Compile_and_run_cpp() - local filename = vim.fn.expand("%:p") - local basename = vim.fn.expand("%:r") - local output_file = "output.txt" -- Change this to the desired output file name - local input_file = "input.txt" -- Change this to the desired input file name - - -- Check if current file is a valid C++ or C file - local valid_extensions = {"cpp", "c"} - local valid_file = false - for _, ext in ipairs(valid_extensions) do - if filename:match("%." .. ext .. "$") then - valid_file = true - break - end - end - - -- Exit function if file is not valid - if not valid_file then - vim.api.nvim_err_writeln("Not a valid C++ or C file.") - return - end - - -- Check if input file exists, create if it doesn't - local input_fd = io.open(input_file, "a+") -- Open in append mode to create if it doesn't exist - if input_fd == nil then - vim.api.nvim_err_writeln("Failed to open or create input file: " .. - input_file) - return - end - input_fd:close() - - -- Check if output file exists, create if it doesn't - local output_fd = io.open(output_file, "a+") -- Open in append mode to create if it doesn't exist - if output_fd == nil then - vim.api.nvim_err_writeln("Failed to open or create output file: " .. - output_file) - return - end - output_fd:close() - - -- Check if input file buffer is already open - local input_bufnr = vim.fn.bufnr(input_file) - if input_bufnr == -1 then - -- Open input file in a new split at top right side - vim.cmd("vsp " .. input_file) - else - -- Switch to existing buffer for input file - vim.cmd(input_bufnr .. "wincmd w") - end - -- Check if input file buffer is already open - local output_butnr = vim.fn.bufnr(output_file) - if output_butnr == -1 then - -- Open input file in a new split at top right side - vim.cmd("split " .. output_file) - else - -- Switch to existing buffer for input file - vim.cmd(input_bufnr .. "wincmd w") - end - - vim.cmd("vertical resize 40%") - - local file = vim.fn.bufnr(filename) - vim.cmd(file .. "wincmd w") - - -- Compile and run C++ file - local compile_cmd = string.format("g++ %s -o %s && ./%s < %s > %s", - filename, basename, basename, input_file, - output_file) - vim.cmd("silent w") -- Save the current file - vim.cmd("silent !clear") -- Clear the terminal - vim.cmd("silent !" .. compile_cmd) -- Execute the compile and run command - - -- Open the output file in a new buffer - -- vim.cmd("edit " .. output_file) -end - -vim.api.nvim_set_keymap("n", "mt", ":lua Compile_and_run_cpp()<CR>", - {noremap = true, silent = true}) |
