require "yazi" return { -- LSP / Mason { "williamboman/mason-lspconfig.nvim", opts = {} }, { "WhoIsSethDaniel/mason-tool-installer.nvim" }, { "stevearc/conform.nvim", event = "BufWritePre", -- uncomment for format on save opts = require "configs.conform", }, -- Misc { "vyfor/cord.nvim", opts = { display = { theme = "atom", }, }, }, { "nvim-tree/nvim-tree.lua", enabled = false }, { "nat-418/boole.nvim", lazy = false }, { "lambdalisue/vim-suda", lazy = false }, { "numToStr/Comment.nvim", lazy = true }, { "tpope/vim-fugitive", lazy = false }, { "stevearc/oil.nvim", lazy = false }, { "NeogitOrg/neogit", lazy = false }, -- { -- 'uZer/pywal16.nvim', -- -- for local dev replace with: -- -- dir = '~/your/path/pywal16.nvim', -- config = function() -- vim.cmd.colorscheme("pywal16") -- end, -- }, { "folke/persistence.nvim", event = "BufReadPre", config = true, }, { "MeanderingProgrammer/render-markdown.nvim", }, { "karb94/neoscroll.nvim", lazy = true, opts = { hide_cursor = true, stop_eof = true, respect_scrolloff = true, cursor_scrolls_alone = true, }, }, { "folke/flash.nvim", event = "VeryLazy", ---@type Flash.Config opts = {}, keys = { { "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash", }, { "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter", }, { "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash", }, { "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search", }, { "", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search", }, }, }, { "folke/snacks.nvim", priority = 1000, lazy = false, opts = { bigfile = { enabled = true }, dashboard = { enabled = true }, explorer = { enabled = false, auto_close = true, }, indent = { enabled = false }, input = { enabled = true }, picker = { enabled = true }, notifier = { enabled = true }, quickfile = { enabled = true }, scope = { enabled = true }, -- scroll = { enabled = true }, statuscolumn = { enabled = true }, words = { enabled = true }, }, }, { "nvim-treesitter/nvim-treesitter", lazy = true, branch = "main", build = ":TSUpdate", }, { "mfussenegger/nvim-dap", config = function() local dap, dapui = require "dap", require "dapui" dap.listeners.before.attach.dapui_config = function() dapui.open() end dap.listeners.before.launch.dapui_config = function() dapui.open() end dap.listeners.before.event_terminated.dapui_config = function() dapui.close() end dap.listeners.before.event_exited.dapui_config = function() dapui.close() end end, }, { "rcarriga/nvim-dap-ui", dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" }, config = function() require("dapui").setup() end, }, -- AI { "zbirenbaum/copilot.lua", cmd = "Copilot", event = "InsertEnter", lazy = true, config = function() require("copilot").setup { suggestion = { enabled = true, auto_trigger = true, keymap = { accept = "", dismiss = "", }, }, filetypes = { python = true, javascript = true, typescript = true, lua = true, cpp = true, rust = true, ["*"] = false, }, } end, }, { "jvune0/copilot-cmp", after = { "copilot.lua", "nvim-cmp" }, -- Ensure it loads after copilot and nvim-cmp config = function() require("copilot_cmp").setup() end, }, { "CopilotC-Nvim/CopilotChat.nvim", branch = "main", dependencies = { { "zbirenbaum/copilot.lua" }, { "nvim-lua/plenary.nvim" }, }, show_diff = { full_diff = true, }, opts = { model = "claude-sonnet-4.6", context = "buffer", border = "rounded", show_help = false, window = { layout = "float", width = 0.6, height = 0.6, }, mappings = { submit_prompt = { insert = "", }, }, }, build = nil, -- Disable the build step }, -- RUST { "mrcjkb/rustaceanvim", lazy = false, config = function() local extension_path = vim.fn.expand "$HOME/.local/share/nvim/mason/packages/codelldb/extension" local codelldb_path = extension_path .. "adapter/codelldb" local liblldb_path = extension_path .. "lldb/lib/liblldb.dylib" local cfg = require "rustaceanvim.config" vim.g.rustaceanvim = { dap = { adapter = cfg.get_codelldb_adapter(codelldb_path, liblldb_path), }, } end, }, { "rust-lang/rust.vim", ft = "rust", init = function() vim.g.rustfmt_autosave = 1 end, }, { "saecki/crates.nvim", ft = { "toml" }, config = function() require("crates").setup {} require("cmp").setup.buffer { sources = { { name = "crates" } }, } end, }, }