358 lines
9.5 KiB
Lua
Executable file
358 lines
9.5 KiB
Lua
Executable file
return {
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
dependencies = {
|
|
"williamboman/mason.nvim",
|
|
"williamboman/mason-lspconfig.nvim",
|
|
"j-hui/fidget.nvim",
|
|
"folke/neodev.nvim",
|
|
},
|
|
},
|
|
{
|
|
"ray-x/lsp_signature.nvim",
|
|
event = "BufRead",
|
|
config = function() require "lsp_signature".setup() 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"
|
|
},
|
|
},
|
|
{
|
|
"jay-babu/mason-null-ls.nvim",
|
|
event = { "BufReadPre", "BufNewFile" },
|
|
dependencies = {
|
|
"williamboman/mason.nvim",
|
|
"nvimtools/none-ls.nvim",
|
|
},
|
|
config = function()
|
|
end,
|
|
},
|
|
{
|
|
"nvimtools/none-ls.nvim"
|
|
},
|
|
{
|
|
"OXY2DEV/markview.nvim",
|
|
lazy = false,
|
|
},
|
|
|
|
-- syntax highlighting
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
build = ":TSUpdate"
|
|
},
|
|
'nvim-treesitter/nvim-treesitter-context',
|
|
{
|
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
|
dependencies = { "nvim-treesitter" },
|
|
},
|
|
|
|
-- fzf Telescope
|
|
{
|
|
"nvim-telescope/telescope.nvim",
|
|
branch = "0.1.x",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim"
|
|
}
|
|
},
|
|
{
|
|
"nvim-telescope/telescope-fzf-native.nvim",
|
|
build = "make",
|
|
},
|
|
|
|
-- debugging
|
|
"mfussenegger/nvim-dap",
|
|
"jay-babu/mason-nvim-dap.nvim",
|
|
{
|
|
"rcarriga/nvim-dap-ui",
|
|
tag = "v4.0.0",
|
|
dependencies = {
|
|
"mfussenegger/nvim-dap",
|
|
"nvim-neotest/nvim-nio"
|
|
},
|
|
},
|
|
{ "theHamsta/nvim-dap-virtual-text", opts = {} },
|
|
"nvim-telescope/telescope-dap.nvim",
|
|
|
|
-- git
|
|
"lewis6991/gitsigns.nvim",
|
|
|
|
"echasnovski/mini.nvim",
|
|
{ 'kazhala/close-buffers.nvim', config = true },
|
|
"editorconfig/editorconfig-vim",
|
|
{ "nacro90/numb.nvim", opts = {} },
|
|
{ "kylechui/nvim-surround", opts = {} },
|
|
{
|
|
"phaazon/hop.nvim",
|
|
event = "BufRead",
|
|
opts = {}
|
|
},
|
|
{
|
|
"ThePrimeagen/harpoon",
|
|
branch = "harpoon2",
|
|
dependencies = { "nvim-lua/plenary.nvim" },
|
|
init = function()
|
|
local harpoon = require("harpoon")
|
|
harpoon:setup()
|
|
end
|
|
},
|
|
|
|
-- misc editing
|
|
"lambdalisue/suda.vim",
|
|
"tpope/vim-sleuth",
|
|
"mbbill/undotree",
|
|
{ "windwp/nvim-autopairs", opts = {} },
|
|
{
|
|
"mg979/vim-visual-multi",
|
|
config = function()
|
|
vim.cmd([[
|
|
let g:VM_leader='<Space>m'
|
|
let g:VM_maps['Find Under'] = '<C-m>'
|
|
]])
|
|
end
|
|
},
|
|
|
|
{
|
|
"windwp/nvim-ts-autotag",
|
|
opts = {
|
|
filetypes = { 'html', 'javascript', 'typescript', 'javascriptreact', 'typescriptreact', 'svelte', 'vue', 'tsx', 'jsx', 'rescript', 'xml', 'php', 'markdown', 'astro', 'glimmer', 'handlebars', 'hbs', "rust" },
|
|
},
|
|
},
|
|
{
|
|
"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",
|
|
init = function()
|
|
require("ibl").setup({
|
|
indent = {
|
|
tab_char = "│",
|
|
char = "┊",
|
|
},
|
|
})
|
|
end
|
|
},
|
|
{
|
|
"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",
|
|
},
|
|
{ 'numToStr/Comment.nvim', opts = {} },
|
|
{
|
|
"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()
|
|
-- local wilder = require("wilder")
|
|
-- wilder.setup({
|
|
-- modes = {":", "/", "?"},
|
|
-- })
|
|
-- wilder.set_option("renderer", wilder.popupmenu_renderer({
|
|
-- pumblend = 50,
|
|
-- }))
|
|
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,
|
|
},
|
|
{
|
|
"nvim-neo-tree/neo-tree.nvim",
|
|
branch = "v2.x",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"nvim-tree/nvim-web-devicons",
|
|
"MunifTanjim/nui.nvim",
|
|
},
|
|
},
|
|
|
|
-- lenguage specific
|
|
-- scala
|
|
{
|
|
"scalameta/nvim-metals",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
},
|
|
ft = { "scala", "sbt", "java" },
|
|
opts = function()
|
|
local metals_config = require("metals").bare_config()
|
|
metals_config.on_attach = function(client, bufnr)
|
|
-- your on_attach function
|
|
end
|
|
|
|
return metals_config
|
|
end,
|
|
config = function(self, metals_config)
|
|
local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true })
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = self.ft,
|
|
callback = function()
|
|
require("metals").initialize_or_attach(metals_config)
|
|
end,
|
|
group = nvim_metals_group,
|
|
})
|
|
end
|
|
},
|
|
|
|
-- org
|
|
{
|
|
"nvim-orgmode/orgmode",
|
|
lazy = false,
|
|
dependencies = {
|
|
"nvim-treesitter/nvim-treesitter",
|
|
"hrsh7th/nvim-cmp",
|
|
},
|
|
config = function()
|
|
require("orgmode").setup({})
|
|
require('nvim-treesitter.configs').setup({
|
|
ensure_installed = 'all',
|
|
ignore_install = { 'org' },
|
|
})
|
|
end
|
|
},
|
|
{
|
|
"akinsho/org-bullets.nvim"
|
|
},
|
|
-- f#
|
|
{ "ionide/Ionide-vim" },
|
|
-- 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
|
|
},
|
|
-- csv
|
|
'cameron-wags/rainbow_csv.nvim',
|
|
|
|
-- rust
|
|
{
|
|
"saecki/crates.nvim",
|
|
tag = "v0.3.0",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim"
|
|
},
|
|
},
|
|
{
|
|
'mrcjkb/rustaceanvim',
|
|
version = '^5',
|
|
lazy = false,
|
|
},
|
|
-- diff
|
|
{
|
|
"julienvincent/hunk.nvim",
|
|
cmd = { "DiffEditor" },
|
|
config = function()
|
|
require("hunk").setup()
|
|
end,
|
|
},
|
|
-- slint
|
|
{ "slint-ui/vim-slint" },
|
|
|
|
-- zig
|
|
"ziglang/zig.vim",
|
|
|
|
-- glsl
|
|
"tikhomirov/vim-glsl",
|
|
|
|
-- java
|
|
"mfussenegger/nvim-jdtls",
|
|
|
|
-- latex
|
|
"lervag/vimtex",
|
|
"let-def/texpresso.vim",
|
|
|
|
-- themes
|
|
"xiyaowong/transparent.nvim",
|
|
"savq/melange-nvim",
|
|
}
|