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 = { { "xx", "Trouble diagnostics toggle", desc = "Diagnostics (Trouble)", }, { "xX", "Trouble diagnostics toggle filter.buf=0", desc = "Buffer Diagnostics (Trouble)", }, { "cs", "Trouble symbols toggle focus=false", desc = "Symbols (Trouble)", }, { "cl", "Trouble lsp toggle focus=false win.position=right", desc = "LSP Definitions / references / ... (Trouble)", }, { "xL", "Trouble loclist toggle", desc = "Location List (Trouble)", }, { "xQ", "Trouble qflist toggle", 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 = '', clear_suggestion = '', accept_word = '', }, 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' }, })