From 48afce9b9c1029c4acf88fe2cdd08ba401be3f5d Mon Sep 17 00:00:00 2001 From: Anthony Debucquoy Date: Mon, 13 Oct 2025 17:47:07 +0200 Subject: [PATCH] lsp now uses lspconfig --- git/.gitconfig | 2 +- nvim/.config/nvim/after/ftplugin/c.lua | 5 -- nvim/.config/nvim/after/ftplugin/cmake.lua | 4 -- nvim/.config/nvim/after/ftplugin/lua.lua | 4 -- nvim/.config/nvim/after/ftplugin/markdown.lua | 1 + nvim/.config/nvim/after/ftplugin/python.lua | 6 +++ nvim/.config/nvim/after/ftplugin/racket.lua | 5 ++ nvim/.config/nvim/after/ftplugin/sh.lua | 4 -- nvim/.config/nvim/after/ftplugin/tex.lua | 4 -- nvim/.config/nvim/after/ftplugin/zig.lua | 10 ++++ nvim/.config/nvim/init.lua | 13 +++++ nvim/.config/nvim/init.vim | 4 -- nvim/.config/nvim/lua/plugin/dap/c.lua | 51 +++++++++++++++++++ nvim/.config/nvim/lua/plugin/dap/zig.lua | 48 +++++++++++++++++ nvim/.config/nvim/plugin/configs.lua | 4 ++ nvim/.config/nvim/plugin/configs.vim | 3 ++ nvim/.config/nvim/plugin/dap_keybinds.lua | 26 ++++++++++ 17 files changed, 168 insertions(+), 26 deletions(-) delete mode 100644 nvim/.config/nvim/after/ftplugin/c.lua delete mode 100644 nvim/.config/nvim/after/ftplugin/cmake.lua delete mode 100644 nvim/.config/nvim/after/ftplugin/lua.lua create mode 100644 nvim/.config/nvim/after/ftplugin/markdown.lua create mode 100644 nvim/.config/nvim/after/ftplugin/racket.lua delete mode 100644 nvim/.config/nvim/after/ftplugin/sh.lua delete mode 100644 nvim/.config/nvim/after/ftplugin/tex.lua create mode 100644 nvim/.config/nvim/after/ftplugin/zig.lua create mode 100644 nvim/.config/nvim/init.lua delete mode 100644 nvim/.config/nvim/init.vim create mode 100644 nvim/.config/nvim/lua/plugin/dap/c.lua create mode 100644 nvim/.config/nvim/lua/plugin/dap/zig.lua create mode 100644 nvim/.config/nvim/plugin/configs.vim create mode 100644 nvim/.config/nvim/plugin/dap_keybinds.lua diff --git a/git/.gitconfig b/git/.gitconfig index f4b3690..b599f4d 100644 --- a/git/.gitconfig +++ b/git/.gitconfig @@ -1,6 +1,6 @@ [user] email = tonitch@herisson.ovh - name = tonitch + name = Anthony Debucquoy signingkey = 3D06B2E67463D272D769DF59A78D6421F083D42E [init] defaultBranch = master diff --git a/nvim/.config/nvim/after/ftplugin/c.lua b/nvim/.config/nvim/after/ftplugin/c.lua deleted file mode 100644 index 3da1392..0000000 --- a/nvim/.config/nvim/after/ftplugin/c.lua +++ /dev/null @@ -1,5 +0,0 @@ -vim.lsp.start({ - name = 'clangd', - cmd = {'clangd'}, - -- root_dir = vim.fs.root(args.buf, {'Makefile'}) -}) diff --git a/nvim/.config/nvim/after/ftplugin/cmake.lua b/nvim/.config/nvim/after/ftplugin/cmake.lua deleted file mode 100644 index 840be69..0000000 --- a/nvim/.config/nvim/after/ftplugin/cmake.lua +++ /dev/null @@ -1,4 +0,0 @@ -vim.lsp.start({ - name = 'cmake-language-server', - cmd = {'cmake-language-server'}, -}) diff --git a/nvim/.config/nvim/after/ftplugin/lua.lua b/nvim/.config/nvim/after/ftplugin/lua.lua deleted file mode 100644 index 2ed0356..0000000 --- a/nvim/.config/nvim/after/ftplugin/lua.lua +++ /dev/null @@ -1,4 +0,0 @@ -vim.lsp.start({ - name = 'lua-language-server', - cmd = {'lua-language-server'}, -}) diff --git a/nvim/.config/nvim/after/ftplugin/markdown.lua b/nvim/.config/nvim/after/ftplugin/markdown.lua new file mode 100644 index 0000000..617144a --- /dev/null +++ b/nvim/.config/nvim/after/ftplugin/markdown.lua @@ -0,0 +1 @@ +vim.opt.textwidth = 100 diff --git a/nvim/.config/nvim/after/ftplugin/python.lua b/nvim/.config/nvim/after/ftplugin/python.lua index 48b67c4..39c4ae3 100644 --- a/nvim/.config/nvim/after/ftplugin/python.lua +++ b/nvim/.config/nvim/after/ftplugin/python.lua @@ -2,3 +2,9 @@ vim.lsp.start({ name = 'jedi', cmd = {'jedi-language-server'}, }) + +vim.keymap.set('n', '', ":Repl") +vim.keymap.set('v', '', ":'<,'>Repl") + +vim.keymap.set('n', '', ":ReplSend") +vim.keymap.set('v', '', ":'<,'>ReplSend") diff --git a/nvim/.config/nvim/after/ftplugin/racket.lua b/nvim/.config/nvim/after/ftplugin/racket.lua new file mode 100644 index 0000000..b4e139e --- /dev/null +++ b/nvim/.config/nvim/after/ftplugin/racket.lua @@ -0,0 +1,5 @@ +vim.keymap.set('n', '', ":Repl") +vim.keymap.set('v', '', ":'<,'>Repl") + +vim.keymap.set('n', '', ":ReplSend") +vim.keymap.set('v', '', ":'<,'>ReplSend") diff --git a/nvim/.config/nvim/after/ftplugin/sh.lua b/nvim/.config/nvim/after/ftplugin/sh.lua deleted file mode 100644 index 1b6cdb8..0000000 --- a/nvim/.config/nvim/after/ftplugin/sh.lua +++ /dev/null @@ -1,4 +0,0 @@ -vim.lsp.start({ - name = 'bash-language-server', - cmd = {'bash-language-server'}, -}) diff --git a/nvim/.config/nvim/after/ftplugin/tex.lua b/nvim/.config/nvim/after/ftplugin/tex.lua deleted file mode 100644 index c62a3c7..0000000 --- a/nvim/.config/nvim/after/ftplugin/tex.lua +++ /dev/null @@ -1,4 +0,0 @@ -vim.lsp.start({ - name = 'texlab', - cmd = {'texlab'}, -}) diff --git a/nvim/.config/nvim/after/ftplugin/zig.lua b/nvim/.config/nvim/after/ftplugin/zig.lua new file mode 100644 index 0000000..deb3736 --- /dev/null +++ b/nvim/.config/nvim/after/ftplugin/zig.lua @@ -0,0 +1,10 @@ +vim.lsp.start({ + name = 'zls', + cmd = {'zls'}, + on_attach = function(client, bufnr) + vim.lsp.completion.enable(true, client.id, bufnr, { + autotrigger = true, + }) + end, +}) +vim.g.zig_fmt_autosave = 0 diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua new file mode 100644 index 0000000..d5b7dd8 --- /dev/null +++ b/nvim/.config/nvim/init.lua @@ -0,0 +1,13 @@ +vim.cmd('set runtimepath^=~/.vim runtimepath+=~/.vim/after') +vim.cmd('let &packpath = &runtimepath') +vim.cmd('let g:python3_host_prog="/usr/bin/python"') +vim.cmd('source ~/.vimrc"') + + +-- Enable LSPs +vim.lsp.enable("clangd") +vim.lsp.enable("cmake") +vim.lsp.enable("lua_ls") +vim.lsp.enable('bashls') +vim.lsp.enable('jedi_language_server') +vim.lsp.enable('texlab') diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim deleted file mode 100644 index 61b9e52..0000000 --- a/nvim/.config/nvim/init.vim +++ /dev/null @@ -1,4 +0,0 @@ -set runtimepath^=~/.vim runtimepath+=~/.vim/after -let &packpath = &runtimepath -let g:python3_host_prog="/usr/bin/python" -source ~/.vimrc diff --git a/nvim/.config/nvim/lua/plugin/dap/c.lua b/nvim/.config/nvim/lua/plugin/dap/c.lua new file mode 100644 index 0000000..1590abf --- /dev/null +++ b/nvim/.config/nvim/lua/plugin/dap/c.lua @@ -0,0 +1,51 @@ +local dap = require('dap') + +dap.adapters.gdb = { + id = 'gdb', + type = 'executable', + command = 'gdb', + args = { '--quiet', '--interpreter=dap' }, +} + +dap.configurations.c = { + { + name = 'Run executable (GDB)', + type = 'gdb', + request = 'launch', + program = function() + local path = vim.fn.input({ + prompt = 'Path to executable: ', + default = vim.fn.getcwd() .. '/', + completion = 'file', + }) + return (path and path ~= '') and path or dap.ABORT + end, + }, + { + name = 'Run executable with arguments (GDB)', + type = 'gdb', + request = 'launch', + program = function() + local path = vim.fn.input({ + prompt = 'Path to executable: ', + default = vim.fn.getcwd() .. '/', + completion = 'file', + }) + return (path and path ~= '') and path or dap.ABORT + end, + args = function() + local args_str = vim.fn.input({ + prompt = 'Arguments: ', + }) + return vim.split(args_str, ' +') + end + }, + { + name = 'Attach to process (GDB)', + type = 'gdb', + request = 'gdb', + processId = require('dap.utils').pick_process, + }, +} + +dap.configurations.rust = dap.configurations.c diff --git a/nvim/.config/nvim/lua/plugin/dap/zig.lua b/nvim/.config/nvim/lua/plugin/dap/zig.lua new file mode 100644 index 0000000..433df49 --- /dev/null +++ b/nvim/.config/nvim/lua/plugin/dap/zig.lua @@ -0,0 +1,48 @@ +local dap = require('dap') + +dap.adapters.lldb = { + id = 'lldb', + type = 'executable', + command = 'lldb-dap', +} + +dap.configurations.zig = { + { + name = 'Run executable (lldb)', + type = 'lldb', + request = 'launch', + program = function() + local path = vim.fn.input({ + prompt = 'Path to executable: ', + default = vim.fn.getcwd() .. '/', + completion = 'file', + }) + return (path and path ~= '') and path or dap.ABORT + end, + }, + { + name = 'Run executable with arguments (lldb)', + type = 'lldb', + request = 'launch', + program = function() + local path = vim.fn.input({ + prompt = 'Path to executable: ', + default = vim.fn.getcwd() .. '/', + completion = 'file', + }) + return (path and path ~= '') and path or dap.ABORT + end, + args = function() + local args_str = vim.fn.input({ + prompt = 'Arguments: ', + }) + return vim.split(args_str, ' +') + end + }, + { + name = 'Attach to process (lldb)', + type = 'lldb', + request = 'lldb', + processId = require('dap.utils').pick_process, + }, +} diff --git a/nvim/.config/nvim/plugin/configs.lua b/nvim/.config/nvim/plugin/configs.lua index a6d7364..c245368 100644 --- a/nvim/.config/nvim/plugin/configs.lua +++ b/nvim/.config/nvim/plugin/configs.lua @@ -1,2 +1,6 @@ vim.g.vimtex_view_method="zathura" vim.opt.completeopt="menu,popup,noinsert,noselect" + +require("dapui").setup() +require("plugin.dap.c") +require("plugin.dap.zig") diff --git a/nvim/.config/nvim/plugin/configs.vim b/nvim/.config/nvim/plugin/configs.vim new file mode 100644 index 0000000..c10d7e0 --- /dev/null +++ b/nvim/.config/nvim/plugin/configs.vim @@ -0,0 +1,3 @@ +nnoremap sd :lua vim.diagnostic.open_float() +nnoremap :FloatermToggle +let g:neomake_open_list = 2 diff --git a/nvim/.config/nvim/plugin/dap_keybinds.lua b/nvim/.config/nvim/plugin/dap_keybinds.lua new file mode 100644 index 0000000..19a4576 --- /dev/null +++ b/nvim/.config/nvim/plugin/dap_keybinds.lua @@ -0,0 +1,26 @@ +vim.keymap.set('n', '', function() require('dap').continue() end) +vim.keymap.set('n', '', function() require('dap').step_over() end) +vim.keymap.set('n', '', function() require('dap').step_into() end) +vim.keymap.set('n', '', function() require('dap').step_out() end) +vim.keymap.set('n', 'b', function() require('dap').toggle_breakpoint() end) +vim.keymap.set('n', 'B', function() require('dap').set_breakpoint() end) +vim.keymap.set('n', 'lp', function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end) +vim.keymap.set('n', 'dr', function() require('dap').repl.open() end) +vim.keymap.set('n', 'dl', function() require('dap').run_last() end) +vim.keymap.set({'n', 'v'}, 'dh', function() + require('dap.ui.widgets').hover() +end) +vim.keymap.set({'n', 'v'}, 'dp', function() + require('dap.ui.widgets').preview() +end) +vim.keymap.set('n', 'df', function() + local widgets = require('dap.ui.widgets') + widgets.centered_float(widgets.frames) +end) +vim.keymap.set('n', 'ds', function() + local widgets = require('dap.ui.widgets') + widgets.centered_float(widgets.scopes) +end) +vim.keymap.set('n', '', function() require("dapui").toggle() end) +vim.keymap.set('n', '', function() require("dapui").eval() end) +vim.keymap.set('v', '', function() require("dapui").eval() end)