Add testing to clangd compile hotkey

This commit is contained in:
2025-08-21 17:27:21 +03:00
parent ce3fcccf09
commit 4cfc476ea6

View File

@@ -69,39 +69,41 @@ local function find_build_buf()
return -1
end
local function compile_project()
local orig_win = vim.api.nvim_get_current_win()
local build_buf = find_build_buf()
local build_win = -1
local function compile_project(command)
return function()
local orig_win = vim.api.nvim_get_current_win()
local build_buf = find_build_buf()
local build_win = -1
if build_buf == -1 then
vim.cmd('botright vsplit')
-- vim.cmd('vertical resize ' .. math.floor(vim.o.columns * 0.395))
vim.cmd('vertical resize ' .. math.floor(vim.o.columns * 0.46))
build_win = vim.api.nvim_get_current_win()
vim.cmd('terminal')
build_buf = vim.api.nvim_get_current_buf()
vim.api.nvim_buf_set_var(build_buf, 'is_build_term', true)
vim.opt_local.bufhidden = 'delete'
else
vim.cmd("CompileClose")
compile_project()
return
-- build_win = vim.fn.bufwinid(build_buf)
-- if build_win == -1 then
-- vim.cmd('botright vsplit')
-- build_win = vim.api.nvim_get_current_win()
-- vim.api.nvim_win_set_buf(build_win, build_buf)
-- end
if build_buf == -1 then
vim.cmd('botright vsplit')
-- vim.cmd('vertical resize ' .. math.floor(vim.o.columns * 0.395))
vim.cmd('vertical resize ' .. math.floor(vim.o.columns * 0.46))
build_win = vim.api.nvim_get_current_win()
vim.cmd('terminal')
build_buf = vim.api.nvim_get_current_buf()
vim.api.nvim_buf_set_var(build_buf, 'is_build_term', true)
vim.opt_local.bufhidden = 'delete'
else
vim.cmd('CompileClose')
compile_project(command)()
return
-- build_win = vim.fn.bufwinid(build_buf)
-- if build_win == -1 then
-- vim.cmd('botright vsplit')
-- build_win = vim.api.nvim_get_current_win()
-- vim.api.nvim_win_set_buf(build_win, build_buf)
-- end
end
vim.api.nvim_set_current_win(build_win)
local chan = vim.api.nvim_buf_get_var(build_buf, 'terminal_job_id')
vim.api.nvim_chan_send(chan, command)
vim.api.nvim_set_current_win(orig_win)
end
vim.api.nvim_set_current_win(build_win)
local chan = vim.api.nvim_buf_get_var(build_buf, 'terminal_job_id')
vim.api.nvim_chan_send(chan, 'clear && ./build.sh krypton\n')
vim.api.nvim_set_current_win(orig_win)
end
vim.api.nvim_create_user_command("CompileClose", function()
vim.api.nvim_create_user_command('CompileClose', function()
local build_buf = find_build_buf()
if build_buf ~= -1 then
local chan = vim.api.nvim_buf_get_var(build_buf, 'terminal_job_id')
@@ -153,7 +155,8 @@ return {
symbol_info()
end, { desc = 'Show symbol info' })
vim.keymap.set('n', '<A-m>', compile_project, { desc = '[H]eader and Source Switcher' })
vim.keymap.set('n', '<A-m>', compile_project('clear && ./build.sh krypton\n'), { desc = '[H]eader and Source Switcher' })
vim.keymap.set('n', '<A-t>', compile_project('clear && ./build.sh test\n'), { desc = '[H]eader and Source Switcher' })
vim.keymap.set('n', '<leader>h', '<cmd>ClangdSwitchSourceHeader<cr>', { desc = '[H]eader and Source Switcher' })
vim.keymap.set('n', 'K', '<cmd>lua require("pretty_hover").hover()<cr>', { desc = 'Documentation Hover' })
-- TODO: do I need pretty_hover? maybe that's what causes issues?