This commit is contained in:
2026-07-12 15:25:55 -03:00
commit 29377d0c9a
160 changed files with 6138 additions and 0 deletions
@@ -0,0 +1,10 @@
return {
"vim-scripts/icalendar.vim",
setup = function()
vim.filetype.add({
extension = {
ics = "icalendar",
},
})
end,
}
@@ -0,0 +1,72 @@
return {
"hrsh7th/nvim-cmp",
event = { "InsertEnter", "CmdlineEnter" },
dependencies = {
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"rafamadriz/friendly-snippets",
"onsails/lspkind.nvim",
"roobert/tailwindcss-colorizer-cmp.nvim",
"hrsh7th/cmp-nvim-lsp",
},
config = function()
local cmp = require("cmp")
local luasnip = require("luasnip")
local lspkind = require("lspkind")
require("luasnip.loaders.from_vscode").lazy_load()
cmp.setup({
completion = {
autocomplete = { cmp.TriggerEvent.TextChanged },
completeopt = "menu,menuone,noselect", -- standard Vim option
},
preselect = cmp.PreselectMode.Item,
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert({
["<C-p>"] = cmp.mapping.select_prev_item(),
["<C-n>"] = cmp.mapping.select_next_item(),
["<C-u>"] = cmp.mapping.scroll_docs(-4),
["<C-d>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = false }),
}),
sources = cmp.config.sources({
-- LSP completions first
{ name = "nvim_lsp", priority = 1000 },
{ name = "nvim_lsp_signature_help", priority = 900 },
-- Snippets below LSP
{ name = "luasnip", priority = 700 },
-- Then none-ls / buffer / path
{ name = "buffer", priority = 400 },
{ name = "path", priority = 300 },
{ name = "none-ls", priority = 200 },
}),
formatting = {
format = function(entry, vim_item)
-- lspkind icons
vim_item.kind = lspkind.symbolic(vim_item.kind, { mode = "symbol_text" })
-- tailwindcss-colorizer
if entry.source.name == "nvim_lsp" then
local ok, tw = pcall(require, "tailwindcss-colorizer-cmp")
if ok then
vim_item = tw.formatter(entry, vim_item)
end
end
return vim_item
end,
},
})
end,
}
@@ -0,0 +1,7 @@
return {
{
"nvim-mini/mini.comment",
version = false,
},
{ "windwp/nvim-autopairs", event = "InsertEnter", opts = {} },
}
@@ -0,0 +1,13 @@
return {
"github/copilot.vim",
config = function()
vim.keymap.set("i", "<M-Space>", 'copilot#Accept("\\<CR>")', {
expr = true,
replace_keycodes = false,
})
vim.g.copilot_no_tab_map = true
vim.cmd("Copilot disable")
vim.keymap.set("n", "<leader>cd", ":Copilot disable<CR>")
vim.keymap.set("n", "<leader>ce", ":Copilot enable<CR>")
end,
}
@@ -0,0 +1,32 @@
return {
"sbdchd/neoformat",
cmd = { "Neoformat" },
keys = {
{
"<leader>f",
function()
vim.cmd("Neoformat")
end,
desc = "Format",
},
},
config = function()
vim.g.neoformat_try_node_exe = 1
vim.g.neoformat_enabled_go = { "gofmt", "goimports" } -- tries gofmt first, then goimports
-- Optional: Configure specific formatter options
-- For gofmt (usually no args needed)
vim.g.neoformat_go_gofmt = {
exe = "gofmt",
args = {},
stdin = 1, -- send buffer data via stdin
}
-- For goimports (if you want to use it)
vim.g.neoformat_go_goimports = {
exe = "goimports",
args = {},
stdin = 1,
}
end,
}
@@ -0,0 +1 @@
return {'nvim-telescope/telescope-fzf-native.nvim', build = 'make', lazy=true}
@@ -0,0 +1,18 @@
return {
{
"f-person/git-blame.nvim",
lazy = true,
cmd = { "GitBlameEnable", "GitBlameDisable", "GitBlameToggle" },
keys = {
{
"<leader>gb",
":GitBlameToggle<CR>",
desc = "Toggle Git Blame",
mode = "n",
},
},
},
{
"sindrets/diffview.nvim",
},
}
@@ -0,0 +1,13 @@
return {
'lewis6991/gitsigns.nvim',
opts = {
signs = {
add = {text = '+'},
change = {text = '~'},
delete = {text = '_'},
topdelete = {text = ''},
changedelete = {text = '~'}
}
},
event="VeryLazy"
}
@@ -0,0 +1,9 @@
return {
'kdheepak/lazygit.nvim',
config = function()
vim.keymap.set('n', '<leader>gg', function() vim.cmd('LazyGit') end,
{desc = "LazyGit"})
end,
event = "VeryLazy"
}
@@ -0,0 +1,19 @@
return {
"kawre/leetcode.nvim",
build = ":TSUpdate html",
dependencies = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim", -- required by telescope
"MunifTanjim/nui.nvim",
-- optional
"nvim-treesitter/nvim-treesitter",
"rcarriga/nvim-notify",
"nvim-tree/nvim-web-devicons",
},
cmd = "Leet",
opts = {
lang = "golang"
-- configuration goes here
},
}
@@ -0,0 +1,12 @@
return {
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
opts = {
options = {
icons_enabled = true,
theme = "auto",
component_separators = "|",
section_separators = "",
},
},
}
@@ -0,0 +1,20 @@
return {
{
"iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
build = "cd app && yarn install",
init = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
ft = { "markdown" },
},
{
"MeanderingProgrammer/render-markdown.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-mini/mini.nvim" }, -- if you use the mini.nvim suite
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.icons' }, -- if you use standalone mini plugins
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
---@module 'render-markdown'
---@type render.md.UserConfig
opts = {},
},
}
@@ -0,0 +1 @@
return {'chentoast/marks.nvim', opts = {}}
@@ -0,0 +1,4 @@
return {
"mason-org/mason.nvim",
opts = {}
}
@@ -0,0 +1,15 @@
return {
{
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
"nvim-tree/nvim-web-devicons", -- optional, but recommended
},
lazy = false, -- neo-tree will lazily load itself
config = function()
vim.keymap.set("n", "<leader>e", ":Neotree toggle right<CR>", { desc = "Toggle File Explorer" })
end,
},
}
@@ -0,0 +1,53 @@
return {
{
"nvimtools/none-ls.nvim",
dependencies = {
"nvimtools/none-ls-extras.nvim",
},
config = function()
local setup, null_ls = pcall(require, "null-ls")
if not setup then
return
end
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
null_ls.setup({
sources = {
-- Code Actions
require("none-ls.code_actions.eslint_d"),
null_ls.builtins.code_actions.gitsigns, -- Optional: git-related code actions
null_ls.builtins.code_actions.refactoring,
-- Diagnostics
require("none-ls.diagnostics.eslint_d"),
null_ls.builtins.diagnostics.golangci_lint,
-- Hover documentation (optional)
null_ls.builtins.hover.dictionary,
},
vim.keymap.set("n", "<leader>rn", function()
vim.lsp.buf.rename()
end, { desc = "Rename Variable" }),
})
end,
},
{
"mrcjkb/rustaceanvim",
version = "^7", -- Recommended
lazy = false, -- This plugin is already lazy
},
{
{
"antosha417/nvim-lsp-file-operations",
dependencies = {
"nvim-lua/plenary.nvim",
-- Uncomment whichever supported plugin(s) you use
-- "nvim-tree/nvim-tree.lua",
-- "nvim-neo-tree/neo-tree.nvim",
-- "simonmclean/triptych.nvim"
},
config = function()
require("lsp-file-operations").setup()
end,
},
},
}
@@ -0,0 +1,32 @@
return {
"stevearc/oil.nvim",
config = function()
require("oil").setup({
columns = { "icon" },
keymaps = {
["g?"] = "actions.show_help",
["gs"] = "actions.change_sort",
["<CR>"] = "actions.select",
["<C-p>"] = "actions.preview",
["<C-c>"] = "actions.close",
["<C-l>"] = "actions.refresh",
["-"] = "actions.parent",
["_"] = "actions.open_cwd",
["`"] = "actions.cd",
["~"] = "actions.tcd",
["g."] = "actions.toggle_hidden",
},
use_default_keymaps = false,
view_options = {
show_hidden = true,
sort = { { "type", "asc" }, { "name", "asc" } },
},
skip_confirm_for_simple_edits = true,
})
vim.keymap.set("n", "-", function(dir)
require("oil").open(dir)
end, { desc = "Open parent directory" })
end,
dependencies = { "nvim-tree/nvim-web-devicons" },
}
@@ -0,0 +1,3 @@
return {
'gpanders/nvim-parinfer'
}
@@ -0,0 +1,3 @@
return {
'sheerun/vim-polyglot'
}
@@ -0,0 +1,4 @@
return { 'stevearc/quicker.nvim',
event = "FileType qf",
opts = {},
}
@@ -0,0 +1,41 @@
return {
"michaelrommel/nvim-silicon",
lazy = true,
cmd = "Silicon",
config = function()
local get_visual = function()
local curpos = vim.fn.getcurpos()
local one = { row = curpos[2] - 1, col = curpos[3] - 1 }
local two = { row = vim.fn.line("v") - 1, col = vim.fn.col("v") - 1 }
if one.row == two.row then
if one.col > two.col then
local tmp = one
one = two
two = tmp
end
elseif one.row > two.row then
local tmp = one
one = two
two = tmp
end
two.col = two.col + 1
return one.row
end
require("nvim-silicon").setup({
font = "JetBrainsMono Nerd Font=24",
no_window_controls = true,
no_line_number = false,
line_offset = get_visual() + 1,
to_clipboard = true,
window_title = function()
return vim.fn.fnamemodify(vim.fn.bufname(vim.fn.bufnr()), ":~:.") .. " -  @jpporta"
end,
language = function()
return vim.bo.filetype
end,
})
vim.keymap.set("v", "<leader>cs", "<cmd>'<,'>Silicon<CR>", { desc = "[C]ode [S]elfie" })
end,
}
@@ -0,0 +1,23 @@
return {
"folke/snacks.nvim",
priority = 1000,
lazy = false,
---@type snacks.Config
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
bigfile = { enabled = true },
dashboard = { enabled = true },
explorer = { enabled = false },
indent = { enabled = false },
input = { enabled = true },
picker = { enabled = true },
notifier = { enabled = true },
quickfile = { enabled = true },
scope = { enabled = true },
scroll = { enabled = false },
statuscolumn = { enabled = true },
words = { enabled = true },
},
}
@@ -0,0 +1,10 @@
return {
{
"NvChad/nvim-colorizer.lua",
opts = {
user_default_options = {
tailwind = true,
},
},
},
}
@@ -0,0 +1,72 @@
return {
"nvim-telescope/telescope.nvim",
version = "*",
dependencies = {
"nvim-lua/plenary.nvim",
"xiyaowong/telescope-emoji",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
"nvim-tree/nvim-web-devicons",
},
opts = {
defaults = { mappings = { i = { ["<C-u>"] = false, ["<C-d>"] = false } } },
extensions = {
fzf = {
fuzzy = true, -- false will only do exact matching
override_generic_sorter = true, -- override the generic sorter
override_file_sorter = true, -- override the file sorter
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
},
},
pickers = { colorscheme = { enable_preview = true } },
},
config = function()
pcall(require("telescope").load_extension, "fzf")
pcall(require("telescope").load_extension, "emoji")
vim.keymap.set(
"n",
"<leader>?",
require("telescope.builtin").oldfiles,
{ desc = "[?] Find recently opened files" }
)
vim.keymap.set("n", "<leader><space>", function()
require("telescope.builtin").buffers({
sort_mru = true,
ignore_current_buffer = true,
})
end, { desc = "[ ] Find existing buffers" })
vim.keymap.set("n", "gr", require("telescope.builtin").lsp_references, { desc = "[G]oto [R]eferences" })
vim.keymap.set(
"n",
"<leader>ds",
require("telescope.builtin").lsp_document_symbols,
{ desc = "[D]ocument [S]ymbols" }
)
vim.keymap.set(
"n",
"<leader>ws",
require("telescope.builtin").lsp_dynamic_workspace_symbols,
{ desc = "[W]orkspace [S]ymbols" }
)
vim.keymap.set("n", "<leader>/", function()
require("telescope.builtin").current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
winblend = 10,
previewer = false,
}))
end, { desc = "[/] Fuzzily search in current buffer" })
vim.keymap.set("n", "<leader>sf", require("telescope.builtin").find_files, { desc = "[S]earch [F]iles" })
vim.keymap.set("n", "<leader>sh", require("telescope.builtin").help_tags, { desc = "[S]earch [H]elp" })
vim.keymap.set(
"n",
"<leader>sw",
require("telescope.builtin").grep_string,
{ desc = "[S]earch current [W]ord" }
)
vim.keymap.set("n", "<leader>sg", require("telescope.builtin").live_grep, { desc = "[S]earch by [G]rep" })
vim.keymap.set("n", "<leader>sd", require("telescope.builtin").diagnostics, { desc = "[S]earch [D]iagnostics" })
vim.keymap.set("n", "<leader>ss", require("telescope.builtin").git_files, { desc = "Search Git Files" })
vim.keymap.set("n", "<leader>sb", ":Telescope file_browser<CR>", { desc = "File browser" })
vim.keymap.set("n", "<leader>st", ":Telescope colorscheme<CR>", { desc = "Switch Theme" })
vim.keymap.set("n", "<leader>se", ":Telescope emoji<CR>", { desc = "Search Emoji" })
end,
event = "VeryLazy",
}
@@ -0,0 +1,123 @@
return {
-- {
-- "rebelot/kanagawa.nvim", -- neorg needs a colorscheme with treesitter support
-- config = function()
-- vim.cmd.colorscheme("kanagawa")
-- end,
-- },
{
"RRethy/base16-nvim",
priority = 1000,
},
{
"EdenEast/nightfox.nvim",
priority = 1000, -- Ensure it loads first
},
{
"shaunsingh/nord.nvim",
priority = 1000, -- Ensure it loads first
},
{
"Mofiqul/dracula.nvim",
priority = 1000, -- Ensure it loads first
},
-- {
-- "olimorris/onedarkpro.nvim",
-- priority = 1000, -- Ensure it loads first
-- },
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
},
{ "sainnhe/everforest", priority = 1000 },
{ "kdheepak/monochrome.nvim", priority = 1000 },
{ "ellisonleao/gruvbox.nvim", priority = 1000 },
{
"xiyaowong/transparent.nvim",
priority = 1000,
opts = {
groups = {
"Normal",
"NormalNC",
"Comment",
"Constant",
"Special",
"Identifier",
"Statement",
"PreProc",
"Type",
"Underlined",
"Todo",
"String",
"Function",
"Conditional",
"Repeat",
"Operator",
"Structure",
"LineNr",
"NonText",
"SignColumn",
"CursorLine",
"CursorLineNr",
"StatusLine",
"StatusLineNC",
"EndOfBuffer",
},
extra_groups = {
"NormalFloat", -- plugins which have float panel such as Lazy, Mason, LspInfo
"NvimTreeNormal", -- NvimTree
},
},
},
-- {
-- "fynnfluegge/monet.nvim",
-- name = "monet",
-- opts = {
-- tranparent_background = true,
-- dark_mode = true,
-- },
-- },
{
"folke/tokyonight.nvim",
priority = 1000,
opts = {},
},
{
"rebelot/kanagawa.nvim",
priority = 1000,
},
-- { "kepano/flexoki-neovim", priority = 1000, name = "flexoki" },
-- { "jacoborus/tender.vim", priority = 1000, name = "tender" },
-- { "bluz71/vim-moonfly-colors", name = "moonfly", lazy = false, priority = 1000 },
-- {
-- "scottmckendry/cyberdream.nvim",
-- lazy = false,
-- priority = 1000,
-- config = function()
-- require("cyberdream").setup({
-- -- Recommended - see "Configuring" below for more config options
-- transparent = true,
-- italic_comments = true,
-- hide_fillchars = true,
-- borderless_telescope = true,
-- terminal_colors = true,
-- })
-- vim.cmd("colorscheme cyberdream") -- set the colorscheme
-- end,
-- },
{ "rose-pine/neovim", as = "rose-pine" },
{ "Shatur/neovim-ayu" },
{
"lalitmee/cobalt2.nvim",
dependencies = { "tjdevries/colorbuddy.nvim", tag = "v1.0.0" },
},
{ "tanvirtin/monokai.nvim" },
{
"alexwu/nvim-snazzy",
dependencies = { "rktjmp/lush.nvim" },
lazy = false,
priority = 1000,
},
}
@@ -0,0 +1,6 @@
return {
"folke/todo-comments.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
opts = {},
event = "VeryLazy",
}
@@ -0,0 +1,65 @@
return {
{
-- Highlight, edit, and navigate code
"nvim-treesitter/nvim-treesitter",
dependencies = { "tpope/vim-markdown" },
build = ":TSUpdate",
config = function()
---@diagnostic disable-next-line: missing-fields
require("nvim-treesitter").setup({
disable = { "markdown" },
auto_install = true,
highlight = { enable = true },
indent = { enable = true, disable = { "python" } },
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<c-space>",
node_incremental = "<c-space>",
scope_incremental = "<c-s>",
node_decremental = "<M-space>",
},
},
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
["aa"] = "@parameter.outer",
["ia"] = "@parameter.inner",
["af"] = "@function.outer",
["if"] = "@function.inner",
["ac"] = "@class.outer",
["ic"] = "@class.inner",
},
},
move = {
enable = true,
set_jumps = true,
goto_next_start = {
["]m"] = "@function.outer",
["]]"] = "@class.outer",
},
goto_next_end = {
["]M"] = "@function.outer",
["]["] = "@class.outer",
},
goto_previous_start = {
["[m"] = "@function.outer",
["[["] = "@class.outer",
},
goto_previous_end = {
["[M"] = "@function.outer",
["[]"] = "@class.outer",
},
},
swap = {
enable = true,
swap_next = { ["<leader>sa"] = "@parameter.inner" },
swap_previous = { ["<leader>sA"] = "@parameter.inner" },
},
},
})
end,
},
}
@@ -0,0 +1,14 @@
return {
"christoomey/vim-tmux-navigator",
cmd = {
"TmuxNavigateLeft", "TmuxNavigateDown", "TmuxNavigateUp",
"TmuxNavigateRight", "TmuxNavigatePrevious"
},
keys = {
{"<M-h>", "<cmd>TmuxNavigateLeft<cr>"},
{"<M-j>", "<cmd>TmuxNavigateDown<cr>"},
{"<M-k>", "<cmd>TmuxNavigateUp<cr>"},
{"<M-l>", "<cmd>TmuxNavigateRight<cr>"},
{"<M-\\>", "<cmd>TmuxNavigatePrevious<cr>"}
}
}
@@ -0,0 +1,5 @@
return {
'folke/which-key.nvim',
opts = {},
event="VeryLazy"
}
@@ -0,0 +1,9 @@
return {
"vimwiki/vimwiki",
init = function()
vim.g.vimwiki_path = "~/docs/Wiki/"
vim.g.vimwiki_syntax = "markdown"
vim.g.vimwiki_ext = "md"
vim.g.vimwiki_global_ext = 0
end,
}
@@ -0,0 +1,25 @@
return {
"zk-org/zk-nvim",
name = "zk",
opts = {
-- Can be "telescope", "fzf", "fzf_lua", "minipick", "snacks_picker",
-- or select" (`vim.ui.select`).
picker = "select",
lsp = {
-- `config` is passed to `vim.lsp.start(config)`
config = {
name = "zk",
cmd = { "zk", "lsp" },
filetypes = { "markdown" },
-- on_attach = ...
-- etc, see `:h vim.lsp.start()`
},
-- automatically attach buffers in a zk notebook that match the given filetypes
auto_attach = {
enabled = true,
},
},
},
}