return { --# plenary, handles multitasking and program effeciency "nvim-lua/plenary.nvim", --# telescope, open a windows to fuzzy find in for files or strings in files { 'nvim-telescope/telescope.nvim', tag = '0.1.8', dependencies = { 'nvim-lua/plenary.nvim' } }, { "nvim-telescope/telescope-fzf-native.nvim", build = "make", config = function() require("telescope").load_extension("fzf") end, }, { "nvim-telescope/telescope-ui-select.nvim", config = function() require("telescope").load_extension("ui-select") end, }, --# treesitter, uses language parsers for highlighting 'nvim-treesitter/nvim-treesitter', --# lualine, creates nice looking status bar 'nvim-lualine/lualine.nvim', --# web-devicons, generates icons for nerd font { "nvim-tree/nvim-web-devicons", opts = {} }, --# nvim-tree, a filebrowser { "nvim-tree/nvim-tree.lua", version = "*", lazy = false, dependencies = { "nvim-tree/nvim-web-devicons", }, }, --# gruvbox, a style 'morhetz/gruvbox', --# fugitive, a git wrapper 'tpope/vim-fugitive', --# tagbar, opens a view to see properties and methods of file 'majutsushi/tagbar', --# gitgutter, shows git info in gutter 'airblade/vim-gitgutter', --# deadcolumn, shows line limit when coming close 'Bekaboo/deadcolumn.nvim', --# colorizer, show hex and other colors e.g: #ADADBF 'NiklasV1/nvim-colorizer.lua', --# SyntaxAttr, display syntax highlighting 'vim-scripts/SyntaxAttr.vim', --# rainbow-delimiters, colors braces etc 'HiPhish/rainbow-delimiters.nvim', --# marks, shows where marks are placed in gutter 'chentoast/marks.nvim', --# indentwise, helps with indentation formatting "jeetsukumaran/vim-indentwise", --# local ai, needs llama.cpp which should be built using CUDA, see https://github.com/ggml-org/llama.cpp { 'ggml-org/llama.vim', init = function() vim.g.llama_config = { keymap_accept_line = "", keymap_accept_full = "", } end, }, --# indent-blankline, shows indentation { "lukas-reineke/indent-blankline.nvim", main = "ibl", --commit = "29be0919b91fb59eca9e90690d76014233392bef", }, -- lsp stuff { "mason-org/mason.nvim", opts = {} }, { "mason-org/mason-lspconfig.nvim", opts = {}, dependencies = { { "mason-org/mason.nvim", opts = {} }, "neovim/nvim-lspconfig", }, }, -- show warning and errors { "folke/trouble.nvim", 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)", }, }, }, -- quick commenting { 'numToStr/Comment.nvim', opts = { -- add any options here } }, -- Add scrollbar 'petertriho/nvim-scrollbar', -- Show shortcut keys { "folke/which-key.nvim", event = "VeryLazy", opts = { -- your configuration comes here -- or leave it empty to use the default settings -- refer to the configuration section below }, keys = { { "?", function() require("which-key").show({ global = false }) end, desc = "Buffer Local Keymaps (which-key)", }, }, }, -- formatting! { "stevearc/conform.nvim", opts = { formatters_by_ft = { lua = { "stylua" } }, }, }, -- context menu { "nvzone/volt", lazy = true }, { "nvzone/menu", lazy = true }, -- color picker { "nvzone/minty", cmd = { "Shades", "Huefy" }, }, -- undo tree { "jiaoshijie/undotree", dependencies = { "nvim-lua/plenary.nvim" }, ---@module 'undotree.collector' ---@type UndoTreeCollector.Opts opts = { -- your options }, keys = { -- load the plugin only when using it's keybinding: { "u", "lua require('undotree').toggle()" }, }, }, { 'nvimdev/lspsaga.nvim', config = function() require('lspsaga').setup({ lightbulb = { enable = false, }, }) end, dependencies = { 'nvim-treesitter/nvim-treesitter', -- optional 'nvim-tree/nvim-web-devicons', -- optional } }, -- mini icons { 'nvim-mini/mini.nvim', version = '*' }, -- custom welcome screen { "goolord/alpha-nvim", config = function () require'alpha'.setup(require'alpha.themes.dashboard'.config) end, }, -- floating terminal { 'akinsho/toggleterm.nvim', version = "*", config = true }, -- Completion framework { "hrsh7th/nvim-cmp", dependencies = { "hrsh7th/cmp-buffer", "hrsh7th/cmp-path", "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-cmdline", "L3MON4D3/LuaSnip", "saadparwaiz1/cmp_luasnip", }, config = function() require("config.plugin.cmp") end, }, -- Improves tabs { "akinsho/bufferline.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() require("bufferline").setup({ options = { mode = "tabs", separator_style = "slant", } }) end, }, -- AI -- { -- "supermaven-inc/supermaven-nvim", -- config = function() -- require("supermaven-nvim").setup({}) -- end, -- }, } --"williamboman/mason.nvim", --"williamboman/mason-lspconfig.nvim", --"neovim/nvim-lspconfig", --# neo-tree, a filebrowser --{ -- "nvim-neo-tree/neo-tree.nvim", -- keys = { -- { "ft", "Neotree toggle", desc = "NeoTree" }, -- }, -- opts = {}, --}, ---- ui plugin is a collection of many UI modules like statusline, tabline, cheatsheet, nvdash and much more! --"nvim-lua/plenary.nvim", --{ -- "nvim-tree/nvim-web-devicons", -- lazy = true --}, --{ -- "nvchad/ui", -- config = function() -- require "nvchad" -- end --}, --{ -- "nvchad/base46", -- lazy = true, -- build = function() -- require("base46").load_all_highlights() -- end, --}, --{ -- "dundalek/lazy-lsp.nvim", -- commit="0ccc0238be37351d53e64c2f6c7f9e106e2bdb68", -- dependencies = { -- "neovim/nvim-lspconfig", -- {"VonHeikemen/lsp-zero.nvim", branch = "v3.x"}, -- "hrsh7th/cmp-nvim-lsp", -- "hrsh7th/nvim-cmp", -- }, -- config = function() -- local lsp_zero = require("lsp-zero") -- lsp_zero.on_attach(function(client, bufnr) -- -- see :help lsp-zero-keybindings to learn the available actions -- lsp_zero.default_keymaps({ -- buffer = bufnr, -- preserve_mappings = false -- }) -- end) -- require("lazy-lsp").setup {} -- end, --},