-- 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: local parser_config = require("nvim-treesitter.parsers").get_parser_configs() parser_config["selinux"] = { install_info = { url = "/home/michaelflossmann/code/tree-sitter-selinux_2", files = { "src/parser.c" }, branch = "main", generate_requires_npm = false, requires_generate_from_grammar = false, }, filetype = "selinux", } vim.filetype.add { extension = { te = "selinux", }, } ---@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 == -- 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", keys = { { "", function() local ls = require "luasnip" if ls.choice_active() then ls.change_choice(1) end end, }, { "", function() local ls = require "luasnip" if ls.expand_or_jumpable() then ls.expand_or_jump() end end, mode = { "i" }, }, }, 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 ls = require "luasnip" ls.filetype_extend("javascript", { "javascriptreact" }) require("luasnip.loaders.from_lua").load { paths = { "~/.config/snippets/" } } end, }, -- { -- "sagen/blink.cmp", -- opts = { -- sources = { -- providers = { -- cmdline = { -- enabled = function() -- -- ignores cmdline completions when executing shell commands -- return vim.fn.getcmdtype ~= ":" or not vim.fn.getcmdline():match "^[%%0-9,'<>%-]*!" -- 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, }, { "kylechui/nvim-surround", version = "*", event = "VeryLazy", -- config = function() -- require("nvim-surround").setup { opts = { keymaps = { normal = "gs", normal_line = "gS", delete = "dgs", visual = "gs", visual_line = "gS", change = "cgs", change_line = "cgS", }, }, -- } -- end, }, { "stevearc/oil.nvim", keys = { { "-", desc = "🛢️Oil toggle", mode = { "n" }, require("oil").toggle_float }, }, }, }