diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua index 4c2ed76..0ca1253 100644 --- a/after/plugin/lsp.lua +++ b/after/plugin/lsp.lua @@ -1,73 +1,94 @@ -vim.lsp.config('lua_ls', { - on_init = function(client) - if client.workspace_folders then - local path = client.workspace_folders[1].name - if - path ~= vim.fn.stdpath('config') - and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc')) - then - return - end - end +vim.lsp.config("lua_ls", { + on_init = function(client) + if client.workspace_folders then + local path = client.workspace_folders[1].name + if + path ~= vim.fn.stdpath("config") + and (vim.uv.fs_stat(path .. "/.luarc.json") or vim.uv.fs_stat(path .. "/.luarc.jsonc")) + then + return + end + end - client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { - runtime = { - -- Tell the language server which version of Lua you're using (most - -- likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - -- Tell the language server how to find Lua modules same way as Neovim - -- (see `:h lua-module-load`) - path = { - 'lua/?.lua', - 'lua/?/init.lua', - }, - }, - -- Make the server aware of Neovim runtime files - workspace = { - checkThirdParty = false, - library = { - vim.env.VIMRUNTIME - -- Depending on the usage, you might want to add additional paths - -- here. - -- '${3rd}/luv/library' - -- '${3rd}/busted/library' - } - -- Or pull in all of 'runtimepath'. - -- NOTE: this is a lot slower and will cause issues when working on - -- your own configuration. - -- See https://github.com/neovim/nvim-lspconfig/issues/3189 - -- library = { - -- vim.api.nvim_get_runtime_file('', true), - -- } - } - }) - end, - settings = { - Lua = {} - } + client.config.settings.Lua = vim.tbl_deep_extend("force", client.config.settings.Lua, { + runtime = { + -- Tell the language server which version of Lua you're using (most + -- likely LuaJIT in the case of Neovim) + version = "LuaJIT", + -- Tell the language server how to find Lua modules same way as Neovim + -- (see `:h lua-module-load`) + path = { + "lua/?.lua", + "lua/?/init.lua", + }, + }, + -- Make the server aware of Neovim runtime files + workspace = { + checkThirdParty = false, + library = { + vim.env.VIMRUNTIME, + -- Depending on the usage, you might want to add additional paths + -- here. + -- '${3rd}/luv/library' + -- '${3rd}/busted/library' + }, + -- Or pull in all of 'runtimepath'. + -- NOTE: this is a lot slower and will cause issues when working on + -- your own configuration. + -- See https://github.com/neovim/nvim-lspconfig/issues/3189 + -- library = { + -- vim.api.nvim_get_runtime_file('', true), + -- } + }, + }) + end, + settings = { + Lua = {}, + }, }) -vim.lsp.config('rust_analyzer', { - settings = { - ['rust-analyzer'] = { - checkOnSave = { - command = "clippy" - } - } - } +vim.lsp.config("rust_analyzer", { + settings = { + ["rust-analyzer"] = { + checkOnSave = { + command = "clippy", + }, + }, + }, }) vim.api.nvim_create_autocmd("LspAttach", { - callback = function(ev) - local opts = { buffer = ev.buf, remap = false } - vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) - vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) - vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) - vim.keymap.set("n", "vrr", function() vim.lsp.buf.references() end, opts) - vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) - vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) - vim.keymap.set("n", "ii", function() - vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) - end, opts) - end + callback = function(ev) + local opts = { buffer = ev.buf, remap = false } + vim.keymap.set("n", "gd", function() + vim.lsp.buf.definition() + end, opts) + vim.keymap.set("n", "K", function() + vim.lsp.buf.hover() + end, opts) + vim.keymap.set("n", "vd", function() + vim.diagnostic.open_float() + end, opts) + vim.keymap.set("n", "vrr", function() + vim.lsp.buf.references() + end, opts) + vim.keymap.set("n", "vca", function() + vim.lsp.buf.code_action() + end, opts) + vim.keymap.set("n", "vrn", function() + vim.lsp.buf.rename() + end, opts) + vim.keymap.set("n", "ii", function() + vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) + end, opts) + vim.keymap.set("n", "do", function() + require("dapui").toggle() + end, opts) + vim.keymap.set("n", "db", function() + require("dap").toggle_breakpoint() + end, opts) + vim.keymap.set("n", "dc", function() + require("dap").continue() + end, opts) + end, }) diff --git a/lazy-lock.json b/lazy-lock.json index f57b0ce..a7e11db 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -10,11 +10,15 @@ "lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" }, "mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" }, "mason.nvim": { "branch": "main", "commit": "888d6ee499d8089a3a4be4309d239d6be1c1e6c0" }, "none-ls.nvim": { "branch": "main", "commit": "90e4a27ccaa25979a6b732b9f06dfa43b54957b7" }, "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, + "nvim-dap": { "branch": "master", "commit": "8df427aeba0a06c6577dc3ab82de3076964e3b8d" }, + "nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" }, "nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" }, + "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-tree.lua": { "branch": "master", "commit": "be5b788f2dc1522c73fb7afad9092331c8aebe80" }, "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" }, "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, diff --git a/lua/nrx/remap.lua b/lua/nrx/remap.lua index be55a2e..f730fee 100644 --- a/lua/nrx/remap.lua +++ b/lua/nrx/remap.lua @@ -1,3 +1,3 @@ vim.g.mapleader = " " vim.keymap.set("n", "pv", vim.cmd.NvimTreeToggle) -vim.keymap.set("t", "h", "", { silent = true }) +vim.keymap.set("t", "", "", { silent = true }) diff --git a/lua/nrx/set.lua b/lua/nrx/set.lua index baa951a..37671d7 100644 --- a/lua/nrx/set.lua +++ b/lua/nrx/set.lua @@ -34,5 +34,8 @@ vim.g.mapleader = " " vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 -vim.g.clipboard = "osc52" -vim.opt.clipboard = "unnamedplus" +vim.filetype.add({ + pattern = { + [".*/compose.*%.yaml"] = "yaml.docker-compose", + }, +}) diff --git a/lua/plugins/coding.lua b/lua/plugins/coding.lua index 5d0a11e..3c37b8b 100644 --- a/lua/plugins/coding.lua +++ b/lua/plugins/coding.lua @@ -116,7 +116,9 @@ return { opts = { formatters_by_ft = { typescript = { "prettier" }, - jsx = { "prettier" }, + javascript = { "prettier" }, + typescriptreact = { "prettier" }, + javascriptreact = { "prettier" }, lua = { "stylua" }, rust = { "rustfmt", lsp_format = "fallback" }, }, @@ -132,4 +134,9 @@ return { config = true, opts = {}, }, + { + "rcarriga/nvim-dap-ui", + dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" }, + opts = {}, + }, } diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua index 3a15aa1..eabcb63 100644 --- a/lua/plugins/mason.lua +++ b/lua/plugins/mason.lua @@ -18,4 +18,18 @@ return { }, opts = { ensure_installed = { "prettier", "stylua" } }, }, + { + "jay-babu/mason-nvim-dap.nvim", + dependencies = { + "mason-org/mason.nvim", + "mfussenegger/nvim-dap", + }, + opts = { + ensure_installed = { + "netcoredbg", + "codelldb", + }, + handlers = {}, + }, + }, }