dotfiles/.config/nvim/lua/plugins.lua

111 lines
2.6 KiB
Lua

-- require("impatient")
-- This part auto-installs Packer if it's not present
-- Largely inspired by https://github.com/wbthomason/packer.nvim#bootstrapping
local fn = vim.fn
local g = vim.g
-- Install packer if it isn't present
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
vim.cmd [[ packadd packer.nvim ]]
end
require('packer').startup(function(use)
use "wbthomason/packer.nvim"
-- Improves boot times
-- use {"lewis6991/impatient.nvim", rocks = 'mpack'}
-- Fuzzy search engine
use {
"ctrlpvim/ctrlp.vim",
setup = [[require('config.ctrlp')]]
}
-- Git client
use {
"tpope/vim-fugitive",
config = [[require('config.fugitive')]]
}
-- Shortcuts for commenting out code
use "tpope/vim-commentary"
-- Shortcuts for surrounding pieces of text
use "tpope/vim-surround"
-- Shows ctags in a sidebar
use {
"majutsushi/tagbar",
config = [[require('config.tagbar')]]
}
-- Shows git diff markers
use {
"airblade/vim-gitgutter",
config = [[require('config.gitgutter')]]
}
use "hynek/vim-python-pep8-indent"
use "michaeljsmith/vim-indent-object"
-- File explorer
use {
"preservim/nerdtree",
config = [[require('config.nerdtree')]]
}
use "jiangmiao/auto-pairs"
-- Align text
use "godlygeek/tabular"
-- Automatically load a .editorconfig file if found
use "editorconfig/editorconfig-vim"
-- Pre-configured LSP stuff
use {
"neovim/nvim-lspconfig",
config = [[require('config.lspconfig')]]
}
-- Beautiful treesitter-compatible theme
use {
"marko-cerovac/material.nvim",
config = function()
vim.cmd("colorscheme material")
-- color material
nmap("<leader>c", [[<Cmd>lua require('material.functions').toggle_style()<CR>]])
end
}
-- Autocomplete engine
use {
"ms-jpq/coq_nvim",
branch = "coq",
config = [[require('config.coq')]]
}
-- Better syntax highlighting
use {
"nvim-treesitter/nvim-treesitter",
run = ":TSUpdate",
config = [[require('config.treesitter')]]
}
-- Toggleable terminals
use {
"akinsho/toggleterm.nvim",
config = [[require('config.toggleterm')]]
}
-- LaTeX editing
use "lervag/vimtex"
if packer_bootstrap then
require('packer').sync()
end
end)