return { -- NOTE: First, some plugins that don't require any configuration -- Git related plugins "tpope/vim-fugitive", "tpope/vim-rhubarb", -- Detect tabstop and shiftwidth automatically "tpope/vim-sleuth", { -- LSP Configuration & Plugins "neovim/nvim-lspconfig", dependencies = { -- Automatically install LSPs to stdpath for neovim { "williamboman/mason.nvim", config = true }, "williamboman/mason-lspconfig.nvim", -- Useful status updates for LSP -- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})` { "j-hui/fidget.nvim", opts = {} }, -- Additional lua configuration, makes nvim stuff amazing! { "folke/neodev.nvim", opts = {} }, }, }, { -- Autocompletion "hrsh7th/nvim-cmp", dependencies = { "hrsh7th/cmp-nvim-lsp", "L3MON4D3/LuaSnip", "saadparwaiz1/cmp_luasnip" }, }, { "jay-babu/mason-null-ls.nvim", event = { "BufReadPre", "BufNewFile" }, dependencies = { "williamboman/mason.nvim", "jose-elias-alvarez/null-ls.nvim", }, }, { -- Useful plugin to show you pending keybinds. "folke/which-key.nvim", opts = {}, }, -- "gc" to comment visual regions/lines { "numToStr/Comment.nvim", opts = {} }, }