return { { "stevearc/conform.nvim", event = "BufWritePre", -- uncomment for format on save opts = require("configs.conform"), }, -- These are some examples, uncomment them if you want to see them work! { "neovim/nvim-lspconfig", config = function() require("configs.lspconfig") end, }, { "nvim-treesitter/nvim-treesitter", opts = { ensure_installed = { "vim", "lua", "vimdoc", "html", "css", "python", "typescript", "go", }, }, }, { "tpope/vim-fugitive", cmd = { "Git", "G", "Gdiffsplit", "Gvdiffsplit", "Gwrite", "Gread", "Ggrep", "GMove", "GDelete", "GBrowse" }, keys = { { "gs", "vertical Git" }, desc = "Open Fugitive", }, opts = { enabled = true, }, dependencies = { "tpope/vim-rhubarb", }, }, { "tpope/vim-rhubarb", opts = { enabled = true } }, { "folke/zen-mode.nvim", cmd = "ZenMode", opts = { plugins = { kitty = { enabled = true, font = "+4", }, }, }, }, { "folke/trouble.nvim", opts = { auto_close = true, auto_open = false, warn_no_results = false, modes = { symbols = { -- Configure symbols mode win = { type = "split", -- split window relative = "win", -- relative to current window position = "left", -- right side size = 0.20, -- 30% of the window }, }, diagnostics = { win = { type = "split", relative = "win", position = "bottom", size = 0.30, }, }, lsp = { -- Configure LSP references mode win = { type = "split", -- split window relative = "win", -- relative to current window position = "right", -- appear below size = 0.25, -- 25% of the window height }, }, preview = { mode = "diagnostics", preview = { type = "split", relative = "win", position = "right", size = 0.3, }, }, preview_float = { mode = "diagnostics", preview = { type = "float", relative = "editor", border = "rounded", title = "Preview", title_pos = "center", position = { 0, -2 }, size = { width = 0.3, height = 0.5 }, zindex = 200, }, }, }, }, -- for default options, refer to the configuration section for custom setup. cmd = "Trouble", keys = { { "xx", "Trouble preview 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", desc = "LSP Definitions / references / ... (Trouble)", }, { "xL", "Trouble loclist toggle", desc = "Location List (Trouble)", }, { "xQ", "Trouble qflist toggle", desc = "Quickfix List (Trouble)", }, }, }, { "folke/noice.nvim", event = "VeryLazy", opts = { lsp = { -- override markdown rendering so that **cmp** and other plugins use **Treesitter** override = { ["vim.lsp.util.convert_input_to_markdown_lines"] = true, ["vim.lsp.util.stylize_markdown"] = true, ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp }, }, -- you can enable a preset for easier configuration presets = { bottom_search = true, -- use a classic bottom cmdline for search command_palette = true, -- position the cmdline and popupmenu together long_message_to_split = true, -- long messages will be sent to a split inc_rename = false, -- enables an input dialog for inc-rename.nvim lsp_doc_border = false, -- add a border to hover docs and signature help }, }, }, { "knubie/vim-kitty-navigator", enabled = true, lazy = false, build = { "cp ./*.py ~/.config/kitty/", }, }, { "gfontenot/vim-xcode", enabled = true, }, { "yetone/avante.nvim", event = "VeryLazy", lazy = false, version = false, -- set this to "*" if you want to always pull the latest change, false to update on release opts = require("configs.avante"), -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` build = "make", -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows dependencies = { "stevearc/dressing.nvim", "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", --- The below dependencies are optional, "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons "zbirenbaum/copilot.lua", -- for providers='copilot' { -- 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, }, -- required for Windows users use_absolute_path = 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" }, }, }, }, { "folke/edgy.nvim", event = "VeryLazy", enabled = false, opts = require("configs.edgy"), }, }