nvim/lua/plugins/user.lua

116 lines
4.4 KiB
Lua
Raw Normal View History

2025-08-21 11:18:50 -05:00
return {
---@type LazySpec
{ "aspeddro/pandoc.nvim", name = "pandoc", priority = 1000 },
{ "ellisonleao/glow.nvim", config = true, cmd = "Glow" },
{ "dfendr/clipboard-image.nvim", name = "clipboard-image", lazy = false },
{ "tpope/vim-repeat", name = "repeat", priority = 1000, lazy = false },
{ "tpope/vim-surround", name = "surround", priority = 1000, lazy = false },
{ "tricktux/pomodoro.vim", name = "pomo", cmd = "PomodoroStart" },
{ "DAmesberger/sc-im.nvim", name = "sc-im", lazy = false },
{ "williamboman/mason-lspconfig.nvim", lazy = false },
{ "neovim/nvim-lspconfig", lazy = false },
{ "robertbasic/vim-hugo-helper", cmd = "HugoHelperDateIsNow" },
{ "tikhomirov/vim-glsl", lazy = false },
{ "direnv/direnv.vim", lazy = false },
{ "elkowar/yuck.vim", lazy = false },
-- Add plugins, the lazy syntax
-- "andweeb/presence.nvim",
-- {
-- "ray-x/lsp_signature.nvim",
-- event = "BufRead",
-- config = function()
-- require("lsp_signature").setup()
-- end,
-- },
-- 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:
-- == 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({
" ,c8888888:;. ",
" ;8888888888888c,. ",
" .888 `8888: ",
" .888' .'8888 , ",
" .8888' .d8 8888 88. ",
" .8888.^** oo; .888' ",
" `*88888,. *88' ..88888. ",
" ,xx.`*888888;. *^^.l8888888888: ",
" 888' Xx. `*88*^`d88888`` ,88c ",
" :88' 888 .xx88888**` '888. ",
" ^^^^'. 888 8888x' '^**;, .888: ",
" .8888X**.888 88' ;xx.. .8888' ",
" 888:'.xx 888 ,...... l88888888` ",
" .888 888 88888888,`8888' ",
" .888 .888 `````` ",
" ;88, ,88, ",
" :88, .888 ",
" :888.888. ",
" '88888. ",
" `'` ",
}, "\n"),
},
},
},
},
-- 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 <cr>
:with_cr(cond.none()),
},
-- disable for .vim files, but it work for another filetypes
Rule("a", "a", "-vim")
)
end,
},
}