2025-06-30 13:45:29 +02:00
|
|
|
|
-- 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:
|
|
|
|
|
|
|
2025-08-06 10:28:23 +02:00
|
|
|
|
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",
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-06-30 13:45:29 +02:00
|
|
|
|
---@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,
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
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 = {
|
2025-08-06 10:27:27 +02:00
|
|
|
|
normal = "gs",
|
2025-06-30 13:45:29 +02:00
|
|
|
|
normal_line = "gS",
|
2025-08-06 10:27:27 +02:00
|
|
|
|
delete = "dgs",
|
|
|
|
|
|
visual = "gs",
|
|
|
|
|
|
visual_line = "gS",
|
2025-07-03 09:31:56 +02:00
|
|
|
|
change = "cgs",
|
|
|
|
|
|
change_line = "cgS",
|
2025-06-30 13:45:29 +02:00
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
-- }
|
|
|
|
|
|
-- end,
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
"stevearc/oil.nvim",
|
|
|
|
|
|
keys = {
|
|
|
|
|
|
{ "<leader>-", desc = "🛢️Oil toggle", mode = { "n" }, require("oil").toggle_float },
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|