diff options
Diffstat (limited to '.config/nvim/lsp')
| -rw-r--r-- | .config/nvim/lsp/clangd.lua | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/.config/nvim/lsp/clangd.lua b/.config/nvim/lsp/clangd.lua index 1c4c7cd..a50cd70 100644 --- a/.config/nvim/lsp/clangd.lua +++ b/.config/nvim/lsp/clangd.lua @@ -57,96 +57,6 @@ local function symbol_info() end, bufnr) end -local function compile_project(command) - return function() - local x = 2 - local y = 1 - local filter = function(win) - return vim.api.nvim_win_is_valid(win) and vim.api.nvim_win_get_config(win).relative == '' - end - - local current = vim.api.nvim_get_current_win() - if not filter(current) then - return - end - local pos = vim.api.nvim_win_get_position(current) - local is_build = nil - if pos[x] == 0 then - is_build = function(pos) - return pos ~= 0 - end - else - is_build = function(pos) - return pos == 0 - end - end - -- vim.notify('Current window: ' .. vim.inspect(current), vim.log.levels.INFO) - - local windows = vim.tbl_filter(filter, vim.api.nvim_list_wins()) - -- vim.notify('Valid windows: ' .. vim.inspect(windows), vim.log.levels.INFO) - - local build_win = -1 - for _, win in ipairs(windows) do - local pos = vim.api.nvim_win_get_position(win) - -- vim.notify('Window id: ' .. vim.inspect(win) .. ' Window pos: ' .. vim.inspect(pos), vim.log.levels.INFO) - -- vim.notify( - -- 'is build: ' .. vim.inspect(is_build(pos[1])) .. ' y == 0: ' .. vim.inspect(pos[2] == 0), - -- vim.log.levels.INFO - -- ) - if is_build(pos[x]) and pos[y] == 0 then - build_win = win - -- vim.notify('SET BUILD_WIN: ' .. vim.inspect(build_win), vim.log.levels.INFO) - end - end - - if build_win == -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.notify('SET BUILD_WIN: ' .. vim.inspect(build_win), vim.log.levels.INFO) - end - - if not filter(build_win) then - return - end - -- local build_pos = vim.api.nvim_win_get_position(build_win) - -- vim.notify( - -- 'Build ID: ' .. vim.inspect(build_win) .. ' Build pos: ' .. vim.inspect(build_pos), - -- vim.log.levels.INFO - -- ) - - vim.api.nvim_set_current_win(build_win) - - local build_buf = vim.api.nvim_win_get_buf(build_win) - if vim.api.nvim_win_get_buf(current) == BuildTerminalBuf then - -- NOTE(kyren): switch buffers - vim.api.nvim_win_set_buf(current, build_buf) - end - - local old_terminal = BuildTerminalBuf - BuildTerminalBuf = vim.api.nvim_create_buf(false, true) - vim.api.nvim_buf_call(BuildTerminalBuf, function() - vim.fn.termopen(command, vim.empty_dict()) - end) - vim.api.nvim_win_set_buf(build_win, BuildTerminalBuf) - - if old_terminal then - vim.api.nvim_buf_delete(old_terminal, { force = true }) - end - - vim.api.nvim_set_current_win(current) - end -end - -vim.api.nvim_create_user_command('CompileClose', function() - if BuildTerminalBuf ~= nil and vim.api.nvim_buf_is_valid(BuildTerminalBuf) then - vim.api.nvim_buf_delete(BuildTerminalBuf, { force = true }) - end -end, {}) - -vim.keymap.set({ 'i', 'n', 'v' }, '<C-q>', '<cmd>CompileClose<cr><cmd>wqa<cr>') - return { cmd = { 'clangd', @@ -188,13 +98,6 @@ return { symbol_info() end, { desc = 'Show symbol info' }) - local compile = compile_project('clear && ./build.sh krypton\n') - local test = compile_project('clear && ./build.sh test\n') - - vim.keymap.set('n', '<A-m>', compile, { desc = '[H]eader and Source Switcher' }) - vim.keymap.set('n', '<A-r>', compile, { desc = '[H]eader and Source Switcher' }) - vim.keymap.set('n', '<A-c>', compile, { desc = '[H]eader and Source Switcher' }) - vim.keymap.set('n', '<A-t>', test, { 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', 'H', '<cmd>ClangdSwitchSourceHeader<cr>', { desc = '[H]eader and Source Switcher' }) end, |
