nvim/lua/config/packages.lua

414 lines
11 KiB
Lua
Raw Normal View History

2023-08-02 16:39:49 +02:00
return {
{
"neovim/nvim-lspconfig",
dependencies = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"j-hui/fidget.nvim",
"folke/neodev.nvim",
},
},
{
"VidocqH/lsp-lens.nvim",
2023-08-26 12:17:19 +02:00
config = true,
2023-08-02 16:39:49 +02:00
},
{
"j-hui/fidget.nvim",
tag = "legacy",
dependencies = {
"neovim/nvim-lspconfig",
},
},
{
"SmiteshP/nvim-navic",
dependencies = {"neovim/nvim-lspconfig"},
opts = {highlight = true},
},
{
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function() require"lsp_signature".on_attach() end,
},
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"hrsh7th/cmp-nvim-lua",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"rafamadriz/friendly-snippets"
},
},
-- syntax highlighting
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate"
},
'nvim-treesitter/nvim-treesitter-context',
{
"nvim-treesitter/nvim-treesitter-textobjects",
dependencies = {"nvim-treesitter"},
},
"nvim-treesitter/playground",
-- fzf Telescope
{
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
dependencies = {
"nvim-lua/plenary.nvim"
}
},
{
"nvim-telescope/telescope-fzf-native.nvim",
build = "make",
},
"nvim-lua/popup.nvim",
-- debugging
"mfussenegger/nvim-dap",
"jay-babu/mason-nvim-dap.nvim",
{
"rcarriga/nvim-dap-ui",
dependencies = {
"mfussenegger/nvim-dap"
},
},
2023-09-23 23:29:54 +02:00
{"theHamsta/nvim-dap-virtual-text", opts = {}},
2023-08-02 16:39:49 +02:00
"nvim-telescope/telescope-dap.nvim",
-- git
"lewis6991/gitsigns.nvim",
"lvimuser/lsp-inlayhints.nvim",
"echasnovski/mini.nvim",
2023-08-26 12:17:19 +02:00
{'kazhala/close-buffers.nvim', config = true},
2023-09-19 18:57:21 +02:00
{'stevearc/dressing.nvim', opts = {}},
{
'anuvyklack/pretty-fold.nvim',
2023-08-02 16:39:49 +02:00
opts = {
2023-09-19 18:57:21 +02:00
keep_indentation = true,
fill_char = '',
sections = {
left = {
'', function() return string.rep('*', vim.v.foldlevel) end, ' ━┫', 'content', ''
},
right = {
'', 'number_of_folded_lines', ': ', 'percentage', ' ┣━━',
}
}
2023-08-02 16:39:49 +02:00
}
},
"editorconfig/editorconfig-vim",
2023-09-19 18:57:21 +02:00
{"nacro90/numb.nvim", opts = {}},
2023-08-26 12:17:19 +02:00
{"kylechui/nvim-surround", opts={}},
2023-08-02 16:39:49 +02:00
{
"phaazon/hop.nvim",
event = "BufRead",
opts = {}
},
{
"ThePrimeagen/harpoon"
},
{
"sQVe/sort.nvim",
opts = {}
},
-- misc editing
{
"ziontee113/color-picker.nvim",
opts = {
["border"] = "rounded",
},
},
"lambdalisue/suda.vim",
"tpope/vim-sleuth",
"mbbill/undotree",
2023-08-26 12:17:19 +02:00
{"windwp/nvim-autopairs", opts = {}},
2023-08-02 16:39:49 +02:00
{
"mg979/vim-visual-multi",
config = function ()
vim.cmd("let g:VM_leader='<Space>m'")
end
},
-- mics visuals
2023-08-21 20:15:44 +02:00
{
"HiPhish/nvim-ts-rainbow2",
},
{
"windwp/nvim-ts-autotag",
2023-08-26 12:17:19 +02:00
opts = {
filetypes = {'html', 'javascript', 'typescript', 'javascriptreact', 'typescriptreact', 'svelte', 'vue', 'tsx', 'jsx', 'rescript', 'xml', 'php', 'markdown', 'astro', 'glimmer', 'handlebars', 'hbs', "rust" },
},
2023-08-21 20:15:44 +02:00
},
2023-08-02 16:39:49 +02:00
{
"rcarriga/nvim-notify",
config = function ()
vim.notify = require("notify")
end
},
{
"nvim-neo-tree/neo-tree.nvim",
branch = "v2.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
},
{
"kevinhwang91/nvim-bqf",
event = { "BufRead", "BufNew" },
opts = {
auto_enable = true,
preview = {
win_height = 12,
win_vheight = 12,
delay_syntax = 80,
border_chars = { "", "", "", "", "", "", "", "", "" },
},
func_map = {
vsplit = "",
ptogglemode = "z,",
stoggleup = "",
},
filter = {
fzf = {
action_for = { ["ctrl-s"] = "split" },
extra_opts = { "--bind", "ctrl-o:toggle-all", "--prompt", "> " },
},
},
}
},
"nvim-tree/nvim-web-devicons",
{
"lukas-reineke/indent-blankline.nvim",
2023-10-16 20:43:12 +02:00
-- opts = {
-- char = '┊',
-- show_trailing_blankline_indent = false,
-- show_end_of_line = true,
-- show_current_context = true,
-- show_current_context_start = true,
-- }
init = function()
require("ibl").setup({
indent = {
tab_char = "",
char = "",
},
})
end,
2023-08-02 16:39:49 +02:00
},
{
"folke/which-key.nvim",
config = function()
local wk = require("which-key")
wk.setup {
popup_mappings = {
scroll_down = "<C-j>",
scroll_up = "<C-k>",
},
window = {
border = "single",
},
}
end
},
"rebelot/heirline.nvim",
{
"akinsho/toggleterm.nvim",
version = "*",
opts = {
direction = "float",
float_opts = {
border = "curved"
},
}
},
{
"karb94/neoscroll.nvim",
event = "WinScrolled",
opts = {
mappings = {"<C-u>", "<C-d>", "<C-b>", "<C-f>", "<C-y>", "<C-e>", "zt", "zz", "zb"},
hide_cursor = true,
stop_eof = true,
use_local_scrolloff = false,
respect_scrolloff = false,
cursor_scrolls_alone = true,
easing_function = nil,
pre_hook = nil,
post_hook = nil,
}
},
{
"folke/todo-comments.nvim",
event = "BufRead",
},
2023-08-26 12:17:19 +02:00
{'numToStr/Comment.nvim', opts = {}},
2023-08-02 16:39:49 +02:00
{
"SmiteshP/nvim-navbuddy",
dependencies = {
"neovim/nvim-lspconfig",
"SmiteshP/nvim-navic",
"MunifTanjim/nui.nvim",
"numToStr/Comment.nvim",
"nvim-telescope/telescope.nvim"
},
opts = {
window = {border="rounded",},
}
},
{
"gelguy/wilder.nvim",
config = function()
vim.cmd('call wilder#setup({"modes": [":", "/", "?"]})')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer({"highlighter": wilder#basic_highlighter(), "left": [ " ", wilder#popupmenu_devicons(), ], "right": [ " ", wilder#popupmenu_scrollbar(), ], "pumblend": 20}))')
vim.cmd('call wilder#set_option("renderer", wilder#popupmenu_renderer(wilder#popupmenu_border_theme({"highlighter": wilder#basic_highlighter(), "min_width": "100%", "min_height": "50%", "reverse": 0, "highlights": {"border": "Normal",},"border": "rounded"})))')
end,
},
2023-09-19 15:28:44 +02:00
{
"zbirenbaum/copilot.lua",
opts = {
suggestion = {
auto_trigger = true,
}
},
},
2023-09-19 18:57:21 +02:00
{"tpope/vim-dadbod"},
2023-08-26 12:17:19 +02:00
{
2023-09-19 18:57:21 +02:00
"kristijanhusak/vim-dadbod-ui",
2023-08-26 12:17:19 +02:00
dependencies = {
2023-09-19 18:57:21 +02:00
{ 'tpope/vim-dadbod', lazy = true },
{ 'kristijanhusak/vim-dadbod-completion', ft = { 'sql', 'mysql', 'plsql' }, lazy = true },
2023-08-26 12:17:19 +02:00
},
2023-09-19 18:57:21 +02:00
cmd = {
'DBUI',
'DBUIToggle',
'DBUIAddConnection',
'DBUIFindBuffer',
},
init = function()
vim.g.db_ui_use_nerd_fonts = 1
end
2023-08-26 12:17:19 +02:00
},
2023-08-02 16:39:49 +02:00
-- lenguage specific
2023-10-16 20:43:12 +02:00
-- swift
{
"apple/swift",
config = function(plugin)
vim.opt.rtp:append(plugin.dir .. "/utils/vim")
end
},
-- go
{"joerdav/templ.vim"},
{
"ray-x/go.nvim",
dependencies = { -- optional packages
"ray-x/guihua.lua",
"neovim/nvim-lspconfig",
"nvim-treesitter/nvim-treesitter",
},
config = function()
require("go").setup()
end,
event = {"CmdlineEnter"},
ft = {"go", 'gomod'},
build = ':lua require("go.install").update_all_sync()' -- if you need to install/update all binaries
},
2023-08-02 16:39:49 +02:00
-- csv
'cameron-wags/rainbow_csv.nvim',
-- rust
{"racer-rust/vim-racer",
config = function ()
vim.cmd [[ let g:racer_cmd = "/usr/bin/racer"]]
end
},
"simrat39/rust-tools.nvim",
{
"saecki/crates.nvim",
tag = "v0.3.0",
dependencies = {
"nvim-lua/plenary.nvim"
},
},
-- zig
"ziglang/zig.vim",
{
"NTBBloodbath/zig-tools.nvim",
ft = "zig",
opts = {
integrations = {
zls = {
hints = true,
}
}
}
},
-- glsl
"tikhomirov/vim-glsl",
-- java
"mfussenegger/nvim-jdtls",
-- c && c++ && cmake
"cdelledonne/vim-cmake",
-- themes
"xiyaowong/transparent.nvim",
"EdenEast/nightfox.nvim",
"luisiacc/gruvbox-baby",
"tiagovla/tokyodark.nvim",
"cpea2506/one_monokai.nvim",
"yazeed1s/minimal.nvim",
"kvrohit/mellow.nvim",
"yazeed1s/oh-lucy.nvim",
"sainnhe/sonokai",
"rebelot/kanagawa.nvim",
{
"catppuccin/nvim",
priority = 1000,
name = "catppuccin",
config = function()
require("catppuccin").setup{
flavor = "mocha",
navic = {
enabled = true,
custom_bg = "NONE",
},
indent_blankline = {
enabled = true,
colored_indent_levels = true,
},
dap = {
enabled = true,
enable_ui = true,
},
integrations = {
hop = true,
cmp = true,
telescope = true,
which_key = true,
},
2023-08-21 20:15:44 +02:00
color_overrides = {
2023-08-02 16:39:49 +02:00
-- macchiato = {
-- base = "#000000",
-- mantle = "#000000",
-- crust = "#000000"
-- }
2023-08-21 20:15:44 +02:00
}
2023-08-02 16:39:49 +02:00
}
end
},
}