-- Plugin definitions and loading local cmd = vim.cmd -- Rerun packer install when this file changes cmd([[ augroup packer_user_config autocmd! autocmd BufWritePost plugins.lua source | PackerCompile augroup end ]]) -- Load packer cmd([[packadd packer.nvim]]) -- Get plugins return require("packer").startup(function(use) -- Dogfood packer use({"wbthomason/packer.nvim", opt = true}) -- Dependencies use "nvim-lua/plenary.nvim" -- LSP stuff use({"neovim/nvim-lspconfig", config = function() require("plugins.lsp") end}) use({"simrat39/rust-tools.nvim", config = function() require("rust-tools").setup({}) end}) use({"j-hui/fidget.nvim", config = function() require("fidget").setup({}) end}) -- Completion use "hrsh7th/cmp-nvim-lsp" use "hrsh7th/cmp-buffer" use "hrsh7th/cmp-path" use "hrsh7th/cmp-cmdline" use({"hrsh7th/nvim-cmp", config = function() require("plugins.completion") end}) -- Text editing use "tpope/vim-surround" use "Raimondi/delimitMate" use "rlane/pounce.nvim" -- Fancy UI stuff use "RRethy/nvim-base16" use "stevearc/dressing.nvim" use({"lewis6991/gitsigns.nvim", config = function() require("gitsigns").setup() end}) use({"nvim-lualine/lualine.nvim", config = function() require("lualine").setup({ options = { icons_enabled = false, }, sections = { lualine_x = {"filetype"}, }, }) end}) use({"kdheepak/tabline.nvim", config = function() require("tabline").setup({ options = { show_devicons = false, modified_icon = "#", }, }) end}) -- Keybinds use({ "AckslD/nvim-whichkey-setup.lua", requires = {"liuchengxu/vim-which-key"} }) -- File interaction use({"nvim-telescope/telescope.nvim", config = function () end}) use({"TimUntersberger/neogit", config = function () require("neogit").setup({}) end}) -- Lang support use({"khaveesh/vim-fish-syntax"}) end)