dotfiles/home/.config/nvim/lua/pluginmanager.lua
Marko Korhonen c024a40316 Refactor neovim config (#2)
Changes include:

- [x] Use init.lua instead of init.vim
   - Some keybindings are still to be converted
- [x] Use packer as a package manager instead of vim-plug
- [ ] Use built-in lsp instead of coc.nvim
   - [x] Set up language servers
   - [x] Completion
   - [x] Formatting (previously coc-prettier, now neoformat)
   - [ ] Snippets
- [ ] Replace fzf with telescope.nvim
- [x] Implement treesitter syntax highlighting
   - More info: https://github.com/nvim-treesitter/nvim-treesitter

Note that this requires neovim nightly until 0.5 is released

Reviewed-on: #2
Co-authored-by: Marko Korhonen <marko@korhonen.cc>
Co-committed-by: Marko Korhonen <marko@korhonen.cc>
2021-08-08 15:33:23 +03:00

90 lines
2.2 KiB
Lua

local fn = vim.fn
local cmd = vim.cmd
-- Install packer if it's not yet installed
local install_path = fn.stdpath('data') .. '/site/pack/packer/opt/packer.nvim'
local packer_not_installed = fn.empty(fn.glob(install_path))
if packer_not_installed > 0 then
print('Packer is not installed, cloning it now...')
cmd('silent !git clone https://github.com/wbthomason/packer.nvim ' ..
install_path)
end
-- Configure packer
cmd 'packadd packer.nvim'
local use = require('packer').use
require('packer').startup(function()
-- The plugin manager itself
use {'wbthomason/packer.nvim', opt = true}
-- Colorscheme
use 'monsonjeremy/onedark.nvim'
-- Statusline
use {
'hoob3rt/lualine.nvim',
requires = {'kyazdani42/nvim-web-devicons', opt = true}
}
-- Tabline/bufferline
use {
'akinsho/nvim-bufferline.lua',
requires = 'kyazdani42/nvim-web-devicons'
}
-- Indent characters
--use "lukas-reineke/indent-blankline.nvim"
-- Tree explorer
use {'kyazdani42/nvim-tree.lua', requires = 'kyazdani42/nvim-web-devicons'}
-- Telescope
use {
'nvim-telescope/telescope.nvim',
requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}}
}
-- Do stuff as sudo
use 'lambdalisue/suda.vim'
-- Read editorconfig settings
use 'editorconfig/editorconfig-vim'
-- Configs for built-in LSP
use 'neovim/nvim-lspconfig'
-- Install LSP executables
use 'kabouzeid/nvim-lspinstall'
-- Extensions for eclipse.jdt.ls
use 'mfussenegger/nvim-jdtls'
-- Completion framework
use 'nvim-lua/completion-nvim'
-- treesitter syntax highlight
use {
'nvim-treesitter/nvim-treesitter',
branch = '0.5-compat',
run = ':TSUpdate'
}
-- Syntax highlighting for languages
-- that are not supported by treesitter
use 'sheerun/vim-polyglot'
-- Formatter plugin
use 'sbdchd/neoformat'
-- Make editing passwords safer
use {
'https://git.zx2c4.com/password-store',
rtp = 'contrib/vim/redact_pass.vim'
}
end)
-- Install plugins if packer was not installed
if packer_not_installed > 0 then cmd 'PackerInstall' end