diff --git a/lazy-lock.json b/lazy-lock.json index 1a9a6ef..6585666 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -11,6 +11,7 @@ "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "comfortable-motion.vim": { "branch": "master", "commit": "e20aeafb07c6184727b29f7674530150f7ab2036" }, + "conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" }, "copilot.lua": { "branch": "master", "commit": "96e1bb1963f351700bf6737ef3695e8a0b90b12a" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, @@ -23,11 +24,14 @@ "img-clip.nvim": { "branch": "main", "commit": "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, + "mason-conform.nvim": { "branch": "main", "commit": "f3b96fa2217fcb1513301eefbe10ea0e765e33eb" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "ce0e87c0be12e7c48296a7513e90430e3eac7f24" }, "mason.nvim": { "branch": "main", "commit": "9eaedb864cdadc29c6eb7d761a6c0d8aee26c91b" }, "material.vim": { "branch": "main", "commit": "cecac931e8bd9e3d2cbb7c1e24ddb98887176f68" }, + "mini.icons": { "branch": "main", "commit": "94848dad1589a199f876539bd79befb0c5e3abf0" }, "mini.pick": { "branch": "main", "commit": "fa1e449e1080bf7aa9b2890ee186d23b1b4e1287" }, "neogit": { "branch": "master", "commit": "9b624f2caed2300489796ec16ad01fca1dc36963" }, + "neominimap.nvim": { "branch": "main", "commit": "b2252300f753e3baf59545713ae53948df02325f" }, "neotest": { "branch": "master", "commit": "862afb2a2219d9ca565f67416fb7003cc0f22c4f" }, "neotest-rust": { "branch": "main", "commit": "e1cb22ecf0341fb894ef2ebde344389fe6e6fc8e" }, "nerdtree": { "branch": "master", "commit": "9b465acb2745beb988eff3c1e4aa75f349738230" }, @@ -36,6 +40,8 @@ "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, "nvim-dap": { "branch": "master", "commit": "f80de8ad944b1c464941cfcede597ab859060359" }, + "nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" }, "nvim-lspconfig": { "branch": "master", "commit": "39dc331899521bbb4e102b614b71ab37464f8326" }, "nvim-luadev": { "branch": "master", "commit": "3ba0c02c378503739f1fdb95cff3ea2aad48db3e" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, @@ -43,10 +49,12 @@ "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" }, "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, "oceanic-next": { "branch": "master", "commit": "09833f72d5ba23de2e8bcae18f479f326f5f677a" }, + "oil.nvim": { "branch": "master", "commit": "08c2bce8b00fd780fb7999dbffdf7cd174e896fb" }, "peek.nvim": { "branch": "master", "commit": "5820d937d5414baea5f586dc2a3d912a74636e5b" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "pycodestyle.nvim": { "branch": "master", "commit": "203ff9ffdc832dd125efa94dacf7ce898bbce100" }, "render-markdown.nvim": { "branch": "main", "commit": "dac01bd6660af337613e8cfcb23a4aec5d3c0e38" }, + "rustaceanvim": { "branch": "master", "commit": "5120207f90846704a74cbf043295698b009bd5de" }, "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, "tagbar": { "branch": "master", "commit": "8de7694c0aeda253073098bbc9fb890b2902ddb8" }, "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, diff --git a/lua/plugins/dap.lua b/lua/plugins/dap.lua index e6873fb..bad8480 100644 --- a/lua/plugins/dap.lua +++ b/lua/plugins/dap.lua @@ -1,8 +1,25 @@ return { { 'mfussenegger/nvim-dap', + dependencies = { + "rcarriga/nvim-dap-ui", + "theHamsta/nvim-dap-virtual-text", + }, init = function() local dap = require("dap") + + -- setup dependencies + require("nvim-dap-virtual-text").setup() + local dapui = require("dapui") + dapui.setup() + + vim.keymap.set("n", "c", dap.continue, { noremap = true, silent = true }) + vim.keymap.set("n", "i", dap.step_into, { noremap = true, silent = true }) + vim.keymap.set("n", "o", dap.step_over, { noremap = true, silent = true }) + vim.keymap.set("n", "u", dap.step_out, { noremap = true, silent = true }) + vim.keymap.set("n", "tb", dap.toggle_breakpoint, { noremap = true, silent = true }) + + vim.keymap.set("n", "dui", dapui.toggle, { noremap = true, silent = true }) -- dap.adapters.lldb = { -- type = "executable", -- command = "/nix/store/ydcx96xw2wi2bndiaanql1wb8dqmy60r-vscode-extension-vadimcn-vscode-lldb-1.10.0/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb --port 13000", @@ -14,11 +31,19 @@ return { port = "${port}", executable = { command = - "/nix/store/ydcx96xw2wi2bndiaanql1wb8dqmy60r-vscode-extension-vadimcn-vscode-lldb-1.10.0/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb", + -- "/nix/store/ydcx96xw2wi2bndiaanql1wb8dqmy60r-vscode-extension-vadimcn-vscode-lldb-1.10.0/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb", + -- "/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver", + "/nix/store/ml7s1qlx09k1icdc9qwwmk97n3bi2ay3-vscode-extension-vadimcn-vscode-lldb-1.10.0/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb", + -- "/opt/homebrew/opt/llvm/bin/lldb-dap", args = { "--port", "${port}" }, }, name = "lldb", } + dap.adapters.lldbserv = { + type = 'server', + host = '127.0.0.1', + port = 13001, + } dap.configurations.rust = { { type = "lldb", diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 09cf58f..afe7ea5 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -13,6 +13,19 @@ local lsp_servers = { } return { + "williamboman/mason.nvim", + { + "stevearc/conform.nvim", + init = function() + require("conform").setup({ + formatters_by_ft = { + html = { "prettier" }, + }, +}) + end + }, + "zapling/mason-conform.nvim", + { "neovim/nvim-lspconfig", dependencies = { "williamboman/mason.nvim", @@ -142,11 +155,34 @@ vim.keymap.set('n', "ih", function () end, { silent = true }) vim.keymap.set('n', "cf", vim.lsp.buf.format, { silent = true }) --- Show line diagnostics automatically in hover window -vim.o.updatetime = 250 -vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] +-- Show line diagnostics +vim.keymap.set('n', "se", function () + vim.diagnostic.open_float(nil, {focus=false}) +end, { silent = true }) end +}, +{ + 'mrcjkb/rustaceanvim', + dependencies = { + "mfussenegger/nvim-dap", + }, + version = '^6', -- Recommended + lazy = false, -- This plugin is already lazy + init = function () + -- require("rustaceanvim").setup({ + -- dap = { + -- adapter = require("dap").adapters.lldb + -- } + -- }) + vim.g.rustaceanvim = { + dap = { + adapter = require("dap").adapters.lldb + -- adapter = true + } + } + end +} } diff --git a/lua/plugins/ui.lua b/lua/plugins/ui.lua index c4910de..86cd2aa 100644 --- a/lua/plugins/ui.lua +++ b/lua/plugins/ui.lua @@ -117,11 +117,25 @@ return { { "R", mode = { "n", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" }, }, }, + { + 'stevearc/oil.nvim', + ---@module 'oil' + ---@type oil.SetupOpts + opts = {}, + -- Optional dependencies + dependencies = { { "echasnovski/mini.icons", opts = {} } }, + -- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons + -- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations. + lazy = false, + }, { "folke/noice.nvim", event = "VeryLazy", opts = { -- add any options here + messages = { + enabled = false, + }, }, dependencies = { -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries @@ -131,5 +145,48 @@ return { -- If not available, we use `mini` as the fallback "rcarriga/nvim-notify", } - } + }, + { + "Isrothy/neominimap.nvim", + version = "v3.x.x", + lazy = false, -- NOTE: NO NEED to Lazy load + -- Optional. You can alse set your own keybindings + keys = { + -- Global Minimap Controls + { "mm", "Neominimap Toggle", desc = "Toggle global minimap" }, + -- { "no", "Neominimap Enable", desc = "Enable global minimap" }, + -- { "nc", "Neominimap Disable", desc = "Disable global minimap" }, + -- { "nr", "Neominimap Refresh", desc = "Refresh global minimap" }, + -- Window-Specific Minimap Controls + { "nwt", "Neominimap WinToggle", desc = "Toggle minimap for current window" }, + { "nwr", "Neominimap WinRefresh", desc = "Refresh minimap for current window" }, + { "nwo", "Neominimap WinEnable", desc = "Enable minimap for current window" }, + { "nwc", "Neominimap WinDisable", desc = "Disable minimap for current window" }, + -- Tab-Specific Minimap Controls + { "ntt", "Neominimap TabToggle", desc = "Toggle minimap for current tab" }, + { "ntr", "Neominimap TabRefresh", desc = "Refresh minimap for current tab" }, + { "nto", "Neominimap TabEnable", desc = "Enable minimap for current tab" }, + { "ntc", "Neominimap TabDisable", desc = "Disable minimap for current tab" }, + -- Buffer-Specific Minimap Controls + { "nbt", "Neominimap BufToggle", desc = "Toggle minimap for current buffer" }, + { "nbr", "Neominimap BufRefresh", desc = "Refresh minimap for current buffer" }, + { "nbo", "Neominimap BufEnable", desc = "Enable minimap for current buffer" }, + { "nbc", "Neominimap BufDisable", desc = "Disable minimap for current buffer" }, + ---Focus Controls + { "nf", "Neominimap Focus", desc = "Focus on minimap" }, + { "nu", "Neominimap Unfocus", desc = "Unfocus minimap" }, + { "ns", "Neominimap ToggleFocus", desc = "Switch focus on minimap" }, + }, + init = function() + -- The following options are recommended when layout == "float" + vim.opt.wrap = false + vim.opt.sidescrolloff = 36 -- Set a large value + + --- Put your configuration here + ---@type Neominimap.UserConfig + vim.g.neominimap = { + auto_enable = false, + } + end, + }, }