wip
This commit is contained in:
@@ -89,6 +89,10 @@ M.languages = {
|
|||||||
run = function ()
|
run = function ()
|
||||||
local root = utils.get_project_root()
|
local root = utils.get_project_root()
|
||||||
local build_dir = root .. "/build"
|
local build_dir = root .. "/build"
|
||||||
|
if utils.exists(build_dir) == nil then
|
||||||
|
vim.fn.mkdir(build_dir, "p")
|
||||||
|
vim.fn.system(string.format("cd %s/build && cmake -S .. -B . && cmake --build . && cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. && ln -sf compile_commands.json ../compile_commands.json", root))
|
||||||
|
end
|
||||||
|
|
||||||
local cmd = "cd '" .. build_dir .. "' && cmake --build ."
|
local cmd = "cd '" .. build_dir .. "' && cmake --build ."
|
||||||
local output = vim.fn.system(cmd)
|
local output = vim.fn.system(cmd)
|
||||||
@@ -102,7 +106,6 @@ M.languages = {
|
|||||||
vim.list_extend({ "Error during compilation:" }, vim.split(output, "\n", { trimempty = true }))
|
vim.list_extend({ "Error during compilation:" }, vim.split(output, "\n", { trimempty = true }))
|
||||||
)
|
)
|
||||||
vim.api.nvim_set_option_value("modifiable", false, { buf = term_buf })
|
vim.api.nvim_set_option_value("modifiable", false, { buf = term_buf })
|
||||||
|
|
||||||
end
|
end
|
||||||
if success then
|
if success then
|
||||||
local run_cmd = "cd '" .. build_dir .. "' && ./" .. utils.get_project_name()
|
local run_cmd = "cd '" .. build_dir .. "' && ./" .. utils.get_project_name()
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
local M = {}
|
|
||||||
M.opts = {}
|
M.opts = {}
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
M.opts = vim.tbl_deep_extend("force", {}, require("Polydev.configs").get("terminal"), opts or {})
|
M.opts = vim.tbl_deep_extend("force", {}, require("Polydev.configs").get("terminal"), opts or {})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function exists(path)
|
||||||
|
return (io.open(path,"r") ~= nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
---@return string
|
---@return string
|
||||||
function M.get_project_root()
|
function M.get_project_root()
|
||||||
local plugin_dir = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":h:h:h")
|
local plugin_dir = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":h:h:h")
|
||||||
|
|||||||
Reference in New Issue
Block a user