local M = {} function M.setup() local spec = { { "hrsh7th/nvim-cmp", config = function() require("rc.cmp") end, }, { "hrsh7th/cmp-buffer", dependencies = { "hrsh7th/nvim-cmp" }, event = { "InsertEnter" }, }, { "hrsh7th/cmp-cmdline", dependencies = { "hrsh7th/nvim-cmp" }, event = { "CmdlineEnter" }, }, { "hrsh7th/cmp-nvim-lsp", -- dependencies = { "hrsh7th/nvim-cmp" }, event = { "BufReadPre" }, config = function() vim.lsp.config("*", { capabilities = require("cmp_nvim_lsp").default_capabilities(), }) end, }, { "hrsh7th/cmp-path", dependencies = { "hrsh7th/nvim-cmp" }, event = { "CmdlineEnter", "InsertEnter" }, }, { "hrsh7th/nvim-deck", cmd = { "Deck" }, init = function() vim.keymap.set("n", "fs", "Deck files") vim.keymap.set("n", "fe", "Deck explorer") vim.keymap.set("n", "fg", "Deck grep") end, config = function() require("rc.deck") require("deck").setup({ default_start_config = { matcher = require("deck-zf").matcher(), }, }) end, }, { "futsuuu/nvim-deck-zf", dependencies = { "hrsh7th/nvim-deck" }, build = "mise trust && mise x -- zig build --release", }, { "vim-denops/denops.vim", event = { "VeryLazy" }, }, { "tani/dmacro.vim", event = { "VeryLazy" }, keys = { { "", "(dmacro-play-macro)", mode = { "i", "n" } }, }, }, { "j-hui/fidget.nvim", event = { "LspAttach" }, init = function() local function notify(...) return require("fidget").notify(...) end vim.notify = notify end, config = function() require("rc.fidget") end, }, { "lewis6991/gitsigns.nvim", event = { "BufRead" }, config = function() require("rc.gitsigns") end, }, { "RRethy/vim-illuminate", event = { "CursorMoved" }, config = function() require("illuminate").configure({ delay = 300, filetypes_denylist = {}, modes_denylist = { "i" }, }) end, }, { "lukas-reineke/indent-blankline.nvim", event = { "BufRead" }, config = function() require("ibl").setup({ indent = { char = "▏" }, scope = { enabled = true, highlight = "CursorLineNr", show_start = false, show_end = false, }, }) end, }, { "hrsh7th/nvim-insx", event = { "CmdlineEnter", "InsertEnter" }, config = function() require("rc.insx") end, }, { "neovim/nvim-lspconfig", event = { "BufReadPre" }, config = function() require("rc.lspconfig") end, }, { "stevearc/oil.nvim", lazy = false, config = function() vim.keymap.set("n", "e", "Oil") require("oil").setup({ default_file_explorer = true, }) end, }, { "futsuuu/vim-robot", }, { "skk-dev/dict", init = function(plugin) vim.g.skk_dict_dir = plugin.dir end, }, { "vim-skk/skkeleton", event = { "VeryLazy" }, dependencies = { "vim-denops/denops.vim", "k16em/skkeleton-azik-kanatable", }, config = function() require("rc.skkeleton").setup() end, }, { "k16em/skkeleton-azik-kanatable", }, { "kylechui/nvim-surround", event = { "CursorMoved" }, config = function() require("nvim-surround").setup() end, }, { "nvim-treesitter/nvim-treesitter", lazy = false, build = ":TSUpdate", config = function() require("rc.treesitter") end, }, } vim.api.nvim_create_autocmd("User", { once = true, pattern = "LazyInstallPre", callback = function() vim.api.nvim_exec_autocmds("User", { pattern = "rc.plugins.InstallPre" }) require("rc.mise").set_env() end, }) require("lazy").setup(spec, { defaults = { lazy = true, }, install = { colorscheme = { "catppuccin" }, }, }) end return M