astronvim_config/lua/plugins/user.lua

172 lines
5.3 KiB
Lua
Raw Permalink Normal View History

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,
},
2025-09-15 10:44:59 +02:00
{
"<C-E>",
function()
local ls = require "luasnip"
if ls.expand_or_jumpable() then ls.expand_or_jump() end
end,
mode = { "i" },
},
2025-06-30 13:45:29 +02:00
},
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 },
},
},
2025-09-15 10:45:17 +02:00
{
"andrewferrier/wrapping.nvim",
config = function() require("wrapping").setup() end,
},
2025-06-30 13:45:29 +02:00
}