diff --git a/nix/user/nvim.nix b/nix/user/nvim.nix index d6225a5..0b478f2 100644 --- a/nix/user/nvim.nix +++ b/nix/user/nvim.nix @@ -68,6 +68,7 @@ nvim-dap-virtual-text nvim-dap-go nvim-dap-python + nvim-dap-lldb (nvim-treesitter.withPlugins (p: [ p.awk p.bash p.c p.c_sharp p.cpp p.css p.diff p.dockerfile p.doxygen p.git_config p.gitcommit p.go p.gomod p.gosum p.gotmpl p.helm p.haskell p.html p.http p.java p.javascript p.json p.latex p.lua p.markdown p.markdown_inline p.matlab p.nix p.printf p.python p.regex p.rust p.sql p.strace p.supercollider p.svelte p.swift p.terraform p.tmux p.toml p.typescript p.vim p.xml p.yaml p.zig ])) ]; diff --git a/nvim/base.lua b/nvim/base.lua index 267b15b..8cfacb4 100644 --- a/nvim/base.lua +++ b/nvim/base.lua @@ -7,7 +7,6 @@ vim.g.loaded_netrwPlugin = 1 vim.opt.mouse = 'a' vim.opt.history = 1000 vim.opt.ruler = true -vim.opt.ruler = true vim.opt.number = true vim.opt.showcmd = true vim.opt.ttimeoutlen = 100 @@ -84,11 +83,11 @@ vim.api.nvim_create_autocmd({'FocusGained', 'BufEnter', 'CursorMoved', 'CursorMo command = 'silent! checktime' }) -vim.api.nvim_create_autocmd('BufEnter', { - group = 'VimIntern', - pattern = '*', - command = 'silent! lcd %:p:h' -}) +-- vim.api.nvim_create_autocmd('BufEnter', { +-- group = 'VimIntern', +-- pattern = '*', +-- command = 'silent! lcd %:p:h' +-- }) -- Open nvim-tree when starting Neovim in a specific directory or any of its subdirectories vim.api.nvim_create_autocmd("VimEnter", { @@ -133,6 +132,15 @@ vim.api.nvim_create_user_command('TrimWhiteSpace', function() vim.cmd('%s/\\s\\+$//e') end, {}) +local function ToggleDiagnostics() + vim.diagnostic.enable(not vim.diagnostic.is_enabled()) + if vim.diagnostic.is_enabled() then + print("Diagnostics enabled") + else + print("Diagnostics disabled") + end +end + --------------------------- ------- DIAGNOSTICS ------- diff --git a/nvim/filetype.lua b/nvim/filetype.lua index 779c8e4..7ffe874 100644 --- a/nvim/filetype.lua +++ b/nvim/filetype.lua @@ -8,96 +8,126 @@ vim.api.nvim_create_autocmd('FileType', { pattern = 'python', callback = function() require('dap-python').setup() - lspconfig.pyright.setup({ capabilities = capabilities }) - require("conform").setup({ - python = {"black"}, - }) + -- lspconfig.pyright.setup({ capabilities = capabilities }) + -- require("conform").setup({ + -- python = {"black"}, + -- }) end, }) -vim.api.nvim_create_autocmd('FileType', { - group = 'FileTypeConfigs', - pattern = 'go', - callback = function() - require('dap-python').setup() +-- vim.api.nvim_create_autocmd('FileType', { +-- group = 'FileTypeConfigs', +-- pattern = 'go', +-- callback = function() +-- require('dap-python').setup() +-- require('dap-go').setup() - lspconfig.gopls.setup({ capabilities = capabilities }) - - require("conform").setup({ - go = {"gofmt"}, - }) - end, +lspconfig.pyright.setup({ capabilities = capabilities }) +lspconfig.gopls.setup({ capabilities = capabilities }) +lspconfig.marksman.setup({ capabilities = capabilities }) +lspconfig.rust_analyzer.setup({ + capabilities = capabilities, + settings = { + ["rust-analyzer"] = { + checkOnSave = { + command = "clippy", + }, + }, + }, }) +lspconfig.dockerls.setup({ capabilities = capabilities }) +lspconfig.docker_compose_language_service.setup({ capabilities = capabilities }) +lspconfig.clangd.setup({ capabilities = capabilities }) +lspconfig.sqls.setup({ capabilities = capabilities }) +lspconfig.zls.setup({ capabilities = capabilities }) +lspconfig.omnisharp.setup({ capabilities = capabilities }) +lspconfig.yamlls.setup({ capabilities = capabilities }) -vim.api.nvim_create_autocmd('FileType', { - group = 'FileTypeConfigs', - pattern = 'rust', - callback = function() - require('dap-python').setup() - - lspconfig.rust_analyzer.setup({ - capabilities = capabilities, - settings = { - ["rust-analyzer"] = { - checkOnSave = { - command = "clippy", - }, - }, - }, - }) - - require("conform").setup({ - rust = {"rustfmt"}, - }) - end, +require("conform").setup({ + go = {"gofmt"}, + python = {"black"}, + rust = {"rustfmt"}, }) +-- end, +-- }) -vim.api.nvim_create_autocmd('FileType', { - group = 'FileTypeConfigs', - pattern = 'markdown', - callback = function() - lspconfig.marksman.setup({ capabilities = capabilities }) - end, -}) +-- vim.api.nvim_create_autocmd('FileType', { +-- group = 'FileTypeConfigs', +-- pattern = 'rust', +-- callback = function() +-- require('dap-python').setup() +-- +-- lspconfig.rust_analyzer.setup({ +-- capabilities = capabilities, +-- settings = { +-- ["rust-analyzer"] = { +-- checkOnSave = { +-- command = "clippy", +-- }, +-- }, +-- }, +-- }) +-- +-- require("conform").setup({ +-- rust = {"rustfmt"}, +-- }) +-- end, +-- }) -vim.api.nvim_create_autocmd('FileType', { - group = 'FileTypeConfigs', - pattern = 'dockerfile', - callback = function() - lspconfig.dockerls.setup({ capabilities = capabilities }) - lspconfig.docker_compose_language_service.setup({ capabilities = capabilities }) - end, -}) +-- vim.api.nvim_create_autocmd('FileType', { +-- group = 'FileTypeConfigs', +-- pattern = 'markdown', +-- callback = function() +-- lspconfig.marksman.setup({ capabilities = capabilities }) +-- end, +-- }) +-- +-- vim.api.nvim_create_autocmd('FileType', { +-- group = 'FileTypeConfigs', +-- pattern = 'dockerfile', +-- callback = function() +-- lspconfig.dockerls.setup({ capabilities = capabilities }) +-- lspconfig.docker_compose_language_service.setup({ capabilities = capabilities }) +-- end, +-- }) +-- +-- vim.api.nvim_create_autocmd('FileType', { +-- group = 'FileTypeConfigs', +-- pattern = 'cs', +-- callback = function() +-- lspconfig.omnisharp.setup({ capabilities = capabilities }) +-- end, +-- }) +-- +-- vim.api.nvim_create_autocmd('FileType', { +-- group = 'FileTypeConfigs', +-- pattern = 'yaml', +-- callback = function() +-- lspconfig.yamlls.setup({ capabilities = capabilities }) +-- lspconfig.docker_compose_language_service.setup({ capabilities = capabilities }) +-- end, +-- }) -vim.api.nvim_create_autocmd('FileType', { - group = 'FileTypeConfigs', - pattern = 'cs', - callback = function() - lspconfig.omnisharp.setup({ capabilities = capabilities }) - end, -}) - -vim.api.nvim_create_autocmd('FileType', { - group = 'FileTypeConfigs', - pattern = 'yaml', - callback = function() - lspconfig.yamlls.setup({ capabilities = capabilities }) - lspconfig.docker_compose_language_service.setup({ capabilities = capabilities }) - end, -}) - -vim.api.nvim_create_autocmd('FileType', { - group = 'FileTypeConfigs', - pattern = {'c', 'cpp', 'objc', 'objcpp'}, - callback = function() - lspconfig.clangd.setup({ capabilities = capabilities }) - end, -}) - -vim.api.nvim_create_autocmd('FileType', { - group = 'FileTypeConfigs', - pattern = 'sql', - callback = function() - lspconfig.sqls.setup({ capabilities = capabilities }) - end, -}) +-- vim.api.nvim_create_autocmd('FileType', { +-- group = 'FileTypeConfigs', +-- pattern = {'c', 'cpp', 'objc', 'objcpp'}, +-- callback = function() +-- lspconfig.clangd.setup({ capabilities = capabilities }) +-- end, +-- }) +-- +-- vim.api.nvim_create_autocmd('FileType', { +-- group = 'FileTypeConfigs', +-- pattern = 'sql', +-- callback = function() +-- lspconfig.sqls.setup({ capabilities = capabilities }) +-- end, +-- }) +-- +-- vim.api.nvim_create_autocmd('FileType', { +-- group = 'FileTypeConfigs', +-- pattern = 'zig', +-- callback = function() +-- lspconfig.zls.setup({ capabilities = capabilities }) +-- end, +-- }) diff --git a/nvim/keymaps.lua b/nvim/keymaps.lua index bcf6154..28cf9ac 100644 --- a/nvim/keymaps.lua +++ b/nvim/keymaps.lua @@ -49,6 +49,11 @@ vim.keymap.set('n', 'cs', 'Trouble symbols toggle focus=true win.po vim.keymap.set('n', 'cl', 'Trouble lsp toggle focus=true win.position=right') vim.keymap.set('n', 'cd', 'Trouble diagnostics toggle focus=true win.position=bottom') vim.keymap.set('n', 'cq', 'Trouble quickfix toggle focus=true win.position=bottom') +vim.keymap.set('n', 'cr', vim.lsp.buf.rename, { desc = 'LSP Rename' }) +vim.keymap.set({ 'n', 'v' }, 'ca', vim.lsp.buf.code_action, { desc = 'LSP Code Action' }) +vim.keymap.set('n', 'cde', ToggleDiagnostics, { desc = 'Toggle Diagnostics' }) + + -- Yanky vim.keymap.set({"n","x"}, "p", "(YankyPutAfter)") diff --git a/nvim/plugins.lua b/nvim/plugins.lua index 3576a05..975db71 100644 --- a/nvim/plugins.lua +++ b/nvim/plugins.lua @@ -44,14 +44,14 @@ cmp.setup({ }), sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - { name = 'vsnip' }, - { name = 'path' }, - { name = 'cmp_yanky' }, - { name = 'git' }, - { name = 'copilot' }, - -- }, { - { name = 'buffer', keyword_length = 2 }, + { name = 'nvim_lsp', priority = 1000 }, + { name = 'buffer', priority = 800, keyword_length = 2 }, + { name = 'copilot', priority = 700 }, + { name = 'path', priority = 600 }, + { name = 'cmp_yanky', priority = 500 }, + { name = 'git', priority = 400 }, + { name = 'vsnip', priority = 300 }, + { name = 'nvim_lua', priority = 200 }, }), formatting = {