-- You can also add or configure plugins by creating files in this `plugins/` folder -- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE -- Here are some examples: ---@type LazySpec return { -- == Examples of Adding Plugins == "andweeb/presence.nvim", { "ray-x/lsp_signature.nvim", event = "BufRead", config = function() require("lsp_signature").setup() end, }, -- == Examples of Overriding Plugins == { "kdheepak/lazygit.nvim", lazy = true, cmd = { "LazyGit", "LazyGitConfig", "LazyGitCurrentFile", "LazyGitFilter", "LazyGitFilterCurrentFile", }, -- optional for floating window border decoration dependencies = { "nvim-lua/plenary.nvim", }, -- setting the keybinding for LazyGit with 'keys' is recommended in -- order to load the plugin when the command is run for the first time keys = { { "", "LazyGit", desc = "LazyGit" }, }, }, { "brianhuster/live-preview.nvim", dependencies = { -- You can choose one of the following pickers "nvim-telescope/telescope.nvim", "ibhagwan/fzf-lua", "echasnovski/mini.pick", }, }, { "toppair/peek.nvim", event = { "VeryLazy" }, build = "deno task --quiet build:fast", config = function() require("peek").setup() vim.api.nvim_create_user_command("PeekOpen", require("peek").open, {}) vim.api.nvim_create_user_command("PeekClose", require("peek").close, {}) end, }, { "chrisgrieser/nvim-rip-substitute", cmd = "RipSubstitute", keys = { { "", function() require("rip-substitute").sub() end, mode = { "n", "x" }, desc = " rip substitute", }, }, }, -- customize dashboard options { "folke/snacks.nvim", opts = { dashboard = { preset = { header = table.concat({ " ▗▄████▄▖ ", " ▟███▛███▛▘ ", " ▄███▜▝ ▘▀ ▗ ", " ▗▟██▜▞▘ ▟██▖ ", " ▟██▛█▘ ▄▙▖ ▝▜█▜█▙ ", "▟██▜▀ ▄████▄ ▀██▟▙", "██▟▌ ▐████▟█▜ ▐▟██", "▜▛██▄ ▀▜▟█▛▀ ▄██▛▛", " ▜█▛█▙▖ ▝▀▌▘ ▗▟█▟▙▛ ", " ▝▜█▛▘ ▟██▟█▘ ", " ▘ ▄▄ ▄███▟▀ ", " ▗▟▜▛██▜█▜▞▘ ", " ▝▀████▀▘ ", }, "\n"), }, }, }, }, -- You can disable default plugins as follows: { "max397574/better-escape.nvim", enabled = false }, -- You can also easily customize additional setup of plugins that is outside of the plugin's setup call { "L3MON4D3/LuaSnip", config = function(plugin, opts) require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call -- add more custom luasnip configuration such as filetype extend or custom snippets local luasnip = require "luasnip" luasnip.filetype_extend("javascript", { "javascriptreact" }) end, }, { "windwp/nvim-autopairs", config = function(plugin, opts) require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call -- add more custom autopairs configuration such as custom rules local npairs = require "nvim-autopairs" local Rule = require "nvim-autopairs.rule" local cond = require "nvim-autopairs.conds" npairs.add_rules( { Rule("$", "$", { "tex", "latex" }) -- don't add a pair if the next character is % :with_pair(cond.not_after_regex "%%") -- don't add a pair if the previous character is xxx :with_pair( cond.not_before_regex("xxx", 3) ) -- don't move right when repeat character :with_move(cond.none()) -- don't delete if the next character is xx :with_del(cond.not_after_regex "xx") -- disable adding a newline when you press :with_cr(cond.none()), }, -- disable for .vim files, but it work for another filetypes Rule("a", "a", "-vim") ) end, }, }