253 lines
6.1 KiB
Lua
253 lines
6.1 KiB
Lua
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
if not vim.loop.fs_stat(lazypath) then
|
|
vim.fn.system({
|
|
"git",
|
|
"clone",
|
|
"--filter=blob:none",
|
|
"https://github.com/folke/lazy.nvim.git",
|
|
"--branch=stable", -- latest stable release
|
|
lazypath,
|
|
})
|
|
end
|
|
vim.opt.rtp:prepend(lazypath)
|
|
|
|
require("lazy").setup({
|
|
{
|
|
'nvim-telescope/telescope.nvim', tag = '0.1.5',
|
|
dependencies = { 'nvim-lua/plenary.nvim' }
|
|
},
|
|
{
|
|
'folke/tokyonight.nvim',
|
|
priority = 1000,
|
|
},
|
|
{
|
|
"folke/trouble.nvim",
|
|
dependencies = {
|
|
"nvim-tree/nvim-web-devicons",
|
|
},
|
|
opts = {}, -- for default options, refer to the configuration section for custom setup.
|
|
cmd = "Trouble",
|
|
keys = {
|
|
{
|
|
"<leader>xx",
|
|
"<cmd>Trouble diagnostics toggle<cr>",
|
|
desc = "Diagnostics (Trouble)",
|
|
},
|
|
{
|
|
"<leader>xX",
|
|
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
|
desc = "Buffer Diagnostics (Trouble)",
|
|
},
|
|
{
|
|
"<leader>cs",
|
|
"<cmd>Trouble symbols toggle focus=false<cr>",
|
|
desc = "Symbols (Trouble)",
|
|
},
|
|
{
|
|
"<leader>cl",
|
|
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
|
desc = "LSP Definitions / references / ... (Trouble)",
|
|
},
|
|
{
|
|
"<leader>xL",
|
|
"<cmd>Trouble loclist toggle<cr>",
|
|
desc = "Location List (Trouble)",
|
|
},
|
|
{
|
|
"<leader>xQ",
|
|
"<cmd>Trouble qflist toggle<cr>",
|
|
desc = "Quickfix List (Trouble)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
'nvim-treesitter/nvim-treesitter',
|
|
build = ':TSUpdate'
|
|
},
|
|
{
|
|
'nvim-treesitter/playground'
|
|
},
|
|
{
|
|
'nvim-treesitter/nvim-treesitter-context'
|
|
},
|
|
{
|
|
"ThePrimeagen/refactoring.nvim",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"nvim-treesitter/nvim-treesitter",
|
|
}
|
|
},
|
|
{
|
|
'mbbill/undotree'
|
|
},
|
|
{
|
|
'tpope/vim-fugitive'
|
|
},
|
|
{
|
|
'VonHeikemen/lsp-zero.nvim', branch = 'v3.x'
|
|
},
|
|
{'williamboman/mason.nvim'},
|
|
{'williamboman/mason-lspconfig.nvim'},
|
|
{'neovim/nvim-lspconfig'},
|
|
{'hrsh7th/cmp-nvim-lsp'},
|
|
{'hrsh7th/nvim-cmp'},
|
|
{'hrsh7th/cmp-path'},
|
|
{'hrsh7th/cmp-buffer'},
|
|
{'hrsh7th/cmp-nvim-lua'},
|
|
{'onsails/lspkind.nvim'},
|
|
{'L3MON4D3/LuaSnip'},
|
|
{'saadparwaiz1/cmp_luasnip'},
|
|
{'rafamadriz/friendly-snippets'},
|
|
{
|
|
'supermaven-inc/supermaven-nvim',
|
|
config = function()
|
|
require('supermaven-nvim').setup({
|
|
keymaps = {
|
|
accept_suggestion = '<Tab>',
|
|
clear_suggestion = '<C-]>',
|
|
accept_word = '<C-.>',
|
|
},
|
|
disable_inline_completion = true, -- for cmp
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
'laytan/cloak.nvim'
|
|
},
|
|
{
|
|
'nvim-lualine/lualine.nvim',
|
|
dependencies = {
|
|
'nvim-tree/nvim-web-devicons',
|
|
'folke/tokyonight.nvim',
|
|
}
|
|
},
|
|
{
|
|
'scrooloose/nerdcommenter'
|
|
},
|
|
{
|
|
'nvim-neo-tree/neo-tree.nvim',
|
|
branch = 'v3.x',
|
|
dependencies = {
|
|
'nvim-lua/plenary.nvim',
|
|
'nvim-tree/nvim-web-devicons',
|
|
'MunifTanjim/nui.nvim',
|
|
'3rd/image.nvim',
|
|
{
|
|
's1n7ax/nvim-window-picker',
|
|
version = '2.*',
|
|
config = function()
|
|
require 'window-picker'.setup({
|
|
filter_rules = {
|
|
include_current_win = false,
|
|
autoselect_one = true,
|
|
bo = {
|
|
filetype = { 'neo-tree', "neo-tree-popup", "notify" },
|
|
buftype = { 'terminal', "quickfix" },
|
|
},
|
|
},
|
|
})
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
'romgrk/barbar.nvim', dependencies = {
|
|
'lewis6991/gitsigns.nvim', -- OPTIONAL: for git status
|
|
'nvim-tree/nvim-web-devicons', -- OPTIONAL: for file icons
|
|
},
|
|
init = function() vim.g.barbar_auto_setup = false end,
|
|
opts = {
|
|
animation = true,
|
|
insert_at_start = true,
|
|
},
|
|
version = '^1.0.0',
|
|
},
|
|
{
|
|
'windwp/nvim-autopairs',
|
|
event = "InsertEnter",
|
|
config = true
|
|
},
|
|
{
|
|
'windwp/nvim-ts-autotag',
|
|
config = function ()
|
|
require('nvim-ts-autotag').setup()
|
|
end
|
|
},
|
|
{
|
|
'kawre/leetcode.nvim',
|
|
build = ':TSUpdate html',
|
|
dependencies = {
|
|
'nvim-telescope/telescope.nvim',
|
|
'nvim-lua/plenary.nvim',
|
|
'MunifTanjim/nui.nvim',
|
|
'nvim-treesitter/nvim-treesitter',
|
|
'rcarriga/nvim-notify',
|
|
'nvim-tree/nvim-web-devicons',
|
|
'3rd/image.nvim',
|
|
},
|
|
opts = {
|
|
arg = "lc",
|
|
lang = "typescript",
|
|
image_support = false,
|
|
},
|
|
},
|
|
{
|
|
"3rd/image.nvim",
|
|
event = "VeryLazy",
|
|
dependencies = {
|
|
"nvim-treesitter/nvim-treesitter",
|
|
},
|
|
},
|
|
{
|
|
"rest-nvim/rest.nvim",
|
|
dependencies = {
|
|
"nvim-treesitter/nvim-treesitter",
|
|
opts = function (_, opts)
|
|
opts.ensure_installed = opts.ensure_installed or {}
|
|
table.insert(opts.ensure_installed, "http")
|
|
end,
|
|
}
|
|
},
|
|
{
|
|
"yetone/avante.nvim",
|
|
event = "VeryLazy",
|
|
version = false, -- Never set this value to "*"! Never!
|
|
build = "make", -- or `make BUILD_FROM_SOURCE=true`
|
|
-- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows
|
|
dependencies = {
|
|
"nvim-treesitter/nvim-treesitter",
|
|
"stevearc/dressing.nvim",
|
|
"nvim-lua/plenary.nvim",
|
|
"MunifTanjim/nui.nvim",
|
|
--- The below dependencies are optional,
|
|
"hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions
|
|
"ibhagwan/fzf-lua", -- for file_selector provider fzf
|
|
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
|
|
{
|
|
-- support for image pasting
|
|
"HakonHarnes/img-clip.nvim",
|
|
event = "VeryLazy",
|
|
opts = {
|
|
-- recommended settings
|
|
default = {
|
|
embed_image_as_base64 = false,
|
|
prompt_for_file_name = false,
|
|
drag_and_drop = {
|
|
insert_mode = true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
-- Make sure to set this up properly if you have lazy=true
|
|
'MeanderingProgrammer/render-markdown.nvim',
|
|
opts = {
|
|
file_types = { "markdown", "Avante" },
|
|
},
|
|
ft = { "markdown", "Avante" },
|
|
},
|
|
},
|
|
},
|
|
{ 'vuciv/golf' },
|
|
})
|