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>
This commit is contained in:
parent
b4f2b57060
commit
95a99aa1bf
24 changed files with 492 additions and 525 deletions
90
home/.config/nvim/lua/pluginmanager.lua
Normal file
90
home/.config/nvim/lua/pluginmanager.lua
Normal file
|
@ -0,0 +1,90 @@
|
|||
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
|
Loading…
Add table
Add a link
Reference in a new issue