167 lines
5.2 KiB
Lua
167 lines
5.2 KiB
Lua
-- 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 = {
|
||
{
|
||
"<C-PageUp>",
|
||
function()
|
||
local ls = require "luasnip"
|
||
if ls.choice_active() then ls.change_choice(1) end
|
||
end,
|
||
},
|
||
{
|
||
"<C-E>",
|
||
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 <cr>
|
||
: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 = {
|
||
{ "<leader>-", desc = "🛢️Oil toggle", mode = { "n" }, require("oil").toggle_float },
|
||
},
|
||
},
|
||
}
|