dotfiles/.config/nvim/lua/plugin-setup.lua

107 lines
2.6 KiB
Lua
Raw Normal View History

-- Autocommand to reload neovim plugins when this file gets saved
vim.cmd([[
augroup packer_user_config
autocmd!
autocmd BufWritePost plugin-setup.lua source <afile> | PackerCompile
augroup end
]])
-- Guard if packer can't be found
local status, packer = pcall(require, "packer")
if not status then
return
end
return packer.startup({
function(use)
use("wbthomason/packer.nvim")
-- Lua functions used by many plugins
use("nvim-lua/plenary.nvim")
-- Theming - one for all package. autocomplete :colorscheme to see what is available
use("RRethy/nvim-base16")
vim.cmd([[colorscheme base16-espresso]])
-- Completion and linting
use("williamboman/mason.nvim")
use("williamboman/mason-lspconfig.nvim")
-- Configuring lsp servers
use("neovim/nvim-lspconfig")
use("hrsh7th/cmp-nvim-lsp")
use({ "glepnir/lspsaga.nvim", branch = "main" })
use("jose-elias-alvarez/typescript.nvim")
use("onsails/lspkind.nvim")
use("jose-elias-alvarez/null-ls.nvim")
use("jayp0521/mason-null-ls.nvim")
-- Autopairs
use("windwp/nvim-autopairs")
-- git
use("lewis6991/gitsigns.nvim")
use("tpope/vim-surround")
-- Highlight colors
use({
"norcalli/nvim-colorizer.lua",
ft = { "css", "javascript", "vim", "html" },
config = [[require('colorizer').setup {'css', 'javascript', 'vim', 'html'}]],
})
-- Syntax highlighting
use({
"nvim-treesitter/nvim-treesitter",
run = function()
local ts_update = require("nvim-treesitter.install").update({ with_sync = true })
ts_update()
end,
})
-- Lualine statusline
use("nvim-lualine/lualine.nvim")
-- fuzzy finding with telescope
use({ "nvim-telescope/telescope-fzf-native.nvim", run = "make" })
use({ "nvim-telescope/telescope.nvim", branch = "0.1.x" })
-- autocompletion
use("hrsh7th/nvim-cmp")
use("hrsh7th/cmp-buffer")
use("hrsh7th/cmp-path")
-- snippets
use("L3MON4D3/LuaSnip")
use("saadparwaiz1/cmp_luasnip")
use("rafamadriz/friendly-snippets")
-- toggleterm
use({ "akinsho/toggleterm.nvim", tag = "v2.*" })
-- easier commenting
use("numToStr/Comment.nvim")
-- File explorer
use("nvim-tree/nvim-tree.lua")
use("nvim-tree/nvim-web-devicons")
-- Popup for available keybinds
use("folke/which-key.nvim")
-- Fast onscreen navigation
use("ggandor/leap.nvim")
if packer.bootstrap then
require("packer").sync()
end
end,
config = {
display = {
open_fn = require("packer.util").float,
},
},
})