dotfiles/lua/plugins.lua

78 lines
1.8 KiB
Lua

local fn = vim.fn
local cmd = vim.cmd
-- Boostrap Packer
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
local packer_bootstrap
if fn.empty(fn.glob(install_path)) > 0 then
packer_bootstrap = fn.system({'git', 'clone','https://github.com/wbthomason/packer.nvim', install_path})
end
-- Rerun PackerSync everytime plugins.lua is updated
cmd([[
augroup packer_user_config
autocmd!
autocmd BufWritePost plugins.lua source <afile> | PackerSync
augroup end
]])
-- Initialize pluggins
return require('packer').startup(function(use)
-- Let Packer manage itself
use('wbthomason/packer.nvim')
-- Themes
use('altercation/vim-colors-solarized')
-- session handling
use('tpope/vim-obsession')
use('dhruvasagar/vim-prosession')
-- status line
use {
'nvim-lualine/lualine.nvim',
requires = { 'kyazdani42/nvim-web-devicons', opt = true },
config = function()
require('lualine').setup()
end
}
-- git commands
use({
"lukas-reineke/indent-blankline.nvim",
config = function ()
require("indent_blankline").setup {
char = "",
buftype_exclude = {"terminal", "help"}
}
end
})
-- language server
use("neovim/nvim-lspconfig")
-- autocompletion
use({
"ms-jpq/coq_nvim",
branch="coq",
})
use({'ms-jpq/coq.artifacts', branch = 'artifacts'})
local language_servers = { "bashls", "rls", "sumneko_lua" }
for _, server in pairs(language_servers) do
require("lspconfig")[server].setup(require("coq").lsp_ensure_capabilities({}))
end
use('tpope/vim-fugitive')
use ({
'lewis6991/gitsigns.nvim',
requires = {'nvim-lua/plenary.nvim'},
config = function() require('gitsigns').setup() end
})
if packer_bootstrap then
require('packer').sync()
end
end)