544 lines
14 KiB
Lua
544 lines
14 KiB
Lua
return {
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
dependencies = {
|
|
"williamboman/mason.nvim",
|
|
"williamboman/mason-lspconfig.nvim",
|
|
"j-hui/fidget.nvim",
|
|
"folke/neodev.nvim",
|
|
},
|
|
},
|
|
{
|
|
"jinzhongjia/LspUI.nvim",
|
|
config = true,
|
|
branch = "legacy",
|
|
},
|
|
{
|
|
"VidocqH/lsp-lens.nvim",
|
|
config = true,
|
|
},
|
|
{
|
|
"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,
|
|
},
|
|
{'stevearc/aerial.nvim', config = true},
|
|
{
|
|
"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"
|
|
},
|
|
},
|
|
{
|
|
"roobert/tailwindcss-colorizer-cmp.nvim",
|
|
opts = {color_square_width = 2},
|
|
},
|
|
|
|
-- 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"
|
|
},
|
|
},
|
|
"nvim-telescope/telescope-dap.nvim",
|
|
|
|
-- git
|
|
{
|
|
"NeogitOrg/neogit",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim"
|
|
},
|
|
config=true,
|
|
},
|
|
"tpope/vim-fugitive",
|
|
"tpope/vim-rhubarb",
|
|
"lewis6991/gitsigns.nvim",
|
|
|
|
"lvimuser/lsp-inlayhints.nvim",
|
|
"s1n7ax/nvim-window-picker",
|
|
"echasnovski/mini.nvim",
|
|
{
|
|
'stevearc/oil.nvim',
|
|
opts = {
|
|
columns = {
|
|
"icon",
|
|
"permissions",
|
|
"size",
|
|
},
|
|
-- keymap = {
|
|
-- ["<C-c>"] = "actions.close",
|
|
-- },
|
|
view_options = {
|
|
show_hidden = true,
|
|
},
|
|
}
|
|
},
|
|
"ThePrimeagen/vim-be-good",
|
|
{'kazhala/close-buffers.nvim', config = true},
|
|
-- {
|
|
-- "VonHeikemen/fine-cmdline.nvim",
|
|
-- dependencies = {{"MunifTanjim/nui.nvim"}},
|
|
-- config = function()
|
|
-- require("fine-cmdline").setup({
|
|
-- cmdline = {
|
|
-- prompt = ">",
|
|
-- }
|
|
-- })
|
|
-- vim.api.nvim_set_keymap('n', ':', '<cmd>FineCmdline<CR>', {noremap = true})
|
|
-- end
|
|
-- },
|
|
'stevearc/dressing.nvim',
|
|
{
|
|
'stevearc/overseer.nvim',
|
|
opts = {
|
|
strategy = "toggleterm",
|
|
}
|
|
},
|
|
"itchyny/screensaver.vim",
|
|
'anuvyklack/pretty-fold.nvim',
|
|
'eandrju/cellular-automaton.nvim',
|
|
"ahmedkhalf/project.nvim",
|
|
"dhruvasagar/vim-table-mode",
|
|
"editorconfig/editorconfig-vim",
|
|
"andweeb/presence.nvim",
|
|
"nacro90/numb.nvim",
|
|
{"ellisonleao/glow.nvim", config = true, cmd = "Glow"},
|
|
{"kylechui/nvim-surround", opts={}},
|
|
{
|
|
"phaazon/hop.nvim",
|
|
event = "BufRead",
|
|
opts = {}
|
|
},
|
|
{
|
|
"nvim-tree/nvim-tree.lua",
|
|
dependencies = {
|
|
"nvim-tree/nvim-web-devicons",
|
|
},
|
|
opts = {
|
|
filters = {
|
|
dotfiles = true,
|
|
},
|
|
}
|
|
},
|
|
{
|
|
"ThePrimeagen/harpoon"
|
|
},
|
|
{
|
|
"sQVe/sort.nvim",
|
|
opts = {}
|
|
},
|
|
|
|
-- misc editing
|
|
{
|
|
"ziontee113/color-picker.nvim",
|
|
opts = {
|
|
["border"] = "rounded",
|
|
},
|
|
},
|
|
{
|
|
"natecraddock/workspaces.nvim",
|
|
opts = {
|
|
auto_open = true,
|
|
hooks = {
|
|
add = {},
|
|
remove = {},
|
|
rename = {},
|
|
open_pre = {},
|
|
open = {},
|
|
},
|
|
}
|
|
},
|
|
"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'")
|
|
end
|
|
},
|
|
|
|
-- mics visuals
|
|
{
|
|
"HiPhish/nvim-ts-rainbow2",
|
|
},
|
|
{
|
|
"windwp/nvim-ts-autotag",
|
|
opts = {
|
|
filetypes = {'html', 'javascript', 'typescript', 'javascriptreact', 'typescriptreact', 'svelte', 'vue', 'tsx', 'jsx', 'rescript', 'xml', 'php', 'markdown', 'astro', 'glimmer', 'handlebars', 'hbs', "rust" },
|
|
},
|
|
},
|
|
{
|
|
'bennypowers/nvim-regexplainer',
|
|
dependencies = {
|
|
'nvim-treesitter/nvim-treesitter',
|
|
'MunifTanjim/nui.nvim',
|
|
}
|
|
},
|
|
{
|
|
"rcarriga/nvim-notify",
|
|
config = function ()
|
|
vim.notify = require("notify")
|
|
end
|
|
},
|
|
'nmac427/guess-indent.nvim',
|
|
'mrjones2014/smart-splits.nvim',
|
|
"goolord/alpha-nvim",
|
|
"preservim/nerdtree",
|
|
"luukvbaal/nnn.nvim",
|
|
{
|
|
"nvim-neo-tree/neo-tree.nvim",
|
|
branch = "v2.x",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"nvim-tree/nvim-web-devicons",
|
|
"MunifTanjim/nui.nvim",
|
|
},
|
|
},
|
|
"jistr/vim-nerdtree-tabs",
|
|
{
|
|
"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",
|
|
"ap/vim-css-color",
|
|
{
|
|
"lukas-reineke/indent-blankline.nvim",
|
|
opts = {
|
|
char = '┊',
|
|
show_trailing_blankline_indent = false,
|
|
filetype_exclude = {"dashboard"},
|
|
show_end_of_line = true,
|
|
show_current_context = true,
|
|
show_current_context_start = true,
|
|
}
|
|
},
|
|
{
|
|
"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",},
|
|
}
|
|
},
|
|
'rmagatti/goto-preview',
|
|
{
|
|
"felipec/vim-sanegx",
|
|
event = "BufRead",
|
|
},
|
|
{
|
|
"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,
|
|
},
|
|
|
|
{
|
|
"zbirenbaum/copilot.lua",
|
|
opts = {
|
|
suggestion = {
|
|
auto_trigger = true,
|
|
}
|
|
},
|
|
},
|
|
|
|
-- language mixing also OTTER
|
|
{
|
|
"jmbuhr/otter.nvim",
|
|
dependencies = {
|
|
'hrsh7th/nvim-cmp',
|
|
'neovim/nvim-lspconfig',
|
|
'nvim-treesitter/nvim-treesitter'
|
|
},
|
|
},
|
|
|
|
-- lenguage specific
|
|
-- nim
|
|
"alaviss/nim.nvim",
|
|
|
|
-- 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
|
|
{ "igankevich/mesonic",
|
|
config = function()
|
|
vim.cmd[[
|
|
let b:meson_command = 'meson'
|
|
let b:meson_ninja_command = 'ninja'
|
|
|
|
autocmd FileType c call ConsiderMesonForLinting()
|
|
function ConsiderMesonForLinting()
|
|
if filereadable('meson.build')
|
|
let g:syntastic_c_checkers = ['meson']
|
|
endif
|
|
endfunction
|
|
]]
|
|
end
|
|
},
|
|
"cdelledonne/vim-cmake",
|
|
|
|
-- web
|
|
"evanleck/vim-svelte",
|
|
"posva/vim-vue",
|
|
|
|
-- yuck
|
|
"elkowar/yuck.vim",
|
|
|
|
|
|
-- f#
|
|
"adelarsq/neofsharp.vim",
|
|
{
|
|
"ionide/Ionide-vim",
|
|
config = function ()
|
|
vim.cmd [[
|
|
let g:fsharp#backend = "nvim"
|
|
]]
|
|
end
|
|
},
|
|
"aurum77/dotnet.nvim",
|
|
|
|
-- mojo
|
|
{
|
|
"czheo/mojo.vim",
|
|
init = function()
|
|
vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, {
|
|
pattern = { "*.🔥" },
|
|
callback = function()
|
|
if vim.bo.filetype ~= "mojo" then
|
|
vim.bo.filetype = "mojo"
|
|
end
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = "mojo",
|
|
callback = function()
|
|
local modular = vim.env.MODULAR_HOME
|
|
local lsp_cmd = modular .. "/pkg/packages.modular.com_mojo/bin/mojo-lsp-server"
|
|
|
|
vim.bo.expandtab = true
|
|
vim.bo.shiftwidth = 4
|
|
vim.bo.softtabstop = 4
|
|
|
|
vim.lsp.start({
|
|
name = "mojo",
|
|
cmd = { lsp_cmd },
|
|
})
|
|
end,
|
|
})
|
|
end,
|
|
},
|
|
|
|
-- themes
|
|
"xiyaowong/transparent.nvim",
|
|
|
|
"sainnhe/gruvbox-material",
|
|
"shaunsingh/nord.nvim",
|
|
"projekt0n/github-nvim-theme",
|
|
"EdenEast/nightfox.nvim",
|
|
"Everblush/nvim",
|
|
"olimorris/onedarkpro.nvim",
|
|
"rmehri01/onenord.nvim",
|
|
"luisiacc/gruvbox-baby",
|
|
"tiagovla/tokyodark.nvim",
|
|
"cpea2506/one_monokai.nvim",
|
|
"yazeed1s/minimal.nvim",
|
|
"Mofiqul/adwaita.nvim",
|
|
"kvrohit/mellow.nvim",
|
|
"yazeed1s/oh-lucy.nvim",
|
|
"marko-cerovac/material.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,
|
|
},
|
|
color_overrides = {
|
|
-- macchiato = {
|
|
-- base = "#000000",
|
|
-- mantle = "#000000",
|
|
-- crust = "#000000"
|
|
-- }
|
|
}
|
|
}
|
|
vim.cmd("colorscheme catppuccin")
|
|
end
|
|
},
|
|
}
|