|
|
|
@ -43,7 +43,7 @@ call plug#begin('~/.config/nvim/autoload/plugged')
|
|
|
|
|
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } " fuzzy file finder
|
|
|
|
|
Plug 'junegunn/fzf.vim'
|
|
|
|
|
Plug 'chengzeyi/fzf-preview.vim' " fzf preview for more things
|
|
|
|
|
Plug 'airblade/vim-rooter' " addon for fzf, for git projects
|
|
|
|
|
Plug 'airblade/vim-rooter'
|
|
|
|
|
|
|
|
|
|
" Show git modifications to file
|
|
|
|
|
"Plug 'vim-scripts/vim-gitgutter'
|
|
|
|
@ -57,10 +57,11 @@ call plug#begin('~/.config/nvim/autoload/plugged')
|
|
|
|
|
" LSP:
|
|
|
|
|
" Collection of common configurations for the Nvim LSP client
|
|
|
|
|
Plug 'neovim/nvim-lspconfig'
|
|
|
|
|
Plug 'williamboman/nvim-lsp-installer' " Automaticlly install language server
|
|
|
|
|
" Optional
|
|
|
|
|
Plug 'williamboman/nvim-lsp-installer' " Automaticlly install language server
|
|
|
|
|
Plug 'nvim-lua/popup.nvim'
|
|
|
|
|
Plug 'nvim-lua/plenary.nvim'
|
|
|
|
|
Plug 'nvim-treesitter/nvim-treesitter'
|
|
|
|
|
Plug 'nvim-telescope/telescope.nvim'
|
|
|
|
|
|
|
|
|
|
Plug 'hrsh7th/nvim-cmp' " Autocompletion framework
|
|
|
|
@ -73,6 +74,12 @@ call plug#begin('~/.config/nvim/autoload/plugged')
|
|
|
|
|
" Adds extra functionality over rust analyzer
|
|
|
|
|
Plug 'simrat39/rust-tools.nvim'
|
|
|
|
|
|
|
|
|
|
" Better python sytax highlighting
|
|
|
|
|
"Plug 'numirias/semshi'
|
|
|
|
|
|
|
|
|
|
" LaTeX support
|
|
|
|
|
" Plug 'vim-latex/vim-latex'
|
|
|
|
|
|
|
|
|
|
call plug#end()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -92,10 +99,15 @@ let g:run_split = 'right'
|
|
|
|
|
let g:vim_http_split_vertically = 1
|
|
|
|
|
|
|
|
|
|
" Markdown
|
|
|
|
|
let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'xml', 'javascript', 'json', 'asm', 'cs']
|
|
|
|
|
let g:markdown_fenced_languages = ['html', 'python', 'bash=sh', 'xml', 'javascript', 'json', 'asm', 'cs', 'c', 'cpp']
|
|
|
|
|
let g:markdown_minlines = 100
|
|
|
|
|
|
|
|
|
|
" Vim rooter
|
|
|
|
|
"let g:rooter_manual_only = 1
|
|
|
|
|
let g:rooter_patterns = ['_darcs', '.hg', '.bzr', '.svn', '*.csproj', '*.sln', 'Makefile', 'package.json', '.git']
|
|
|
|
|
|
|
|
|
|
let g:python_host_prog = '/usr/bin/python2'
|
|
|
|
|
let g:python3_host_prog = '/usr/bin/python3'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" LSP:
|
|
|
|
@ -141,7 +153,7 @@ local on_attach = function(client, bufnr)
|
|
|
|
|
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
|
|
|
|
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
|
|
|
|
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
|
|
|
|
buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
|
|
|
|
buf_set_keymap('n', '<space>=', '<cmd>lua vim.lsp.buf.format { async = true }<CR>', opts)
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -157,12 +169,20 @@ capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
|
|
|
|
|
|
|
|
|
|
-- Setup language servers
|
|
|
|
|
local nvim_lsp = require('lspconfig')
|
|
|
|
|
local servers = { 'clangd', 'rust_analyzer', 'pyright', 'csharp_ls', 'html' }
|
|
|
|
|
for _, lsp in ipairs(servers) do
|
|
|
|
|
nvim_lsp[lsp].setup {
|
|
|
|
|
local servers = { 'clangd', 'rust_analyzer', 'pyright', 'omnisharp', 'html', 'cssls', 'texlab', 'gopls', 'tsserver'}
|
|
|
|
|
for _, server in ipairs(servers) do
|
|
|
|
|
local config = {
|
|
|
|
|
on_attach = on_attach,
|
|
|
|
|
capabilities = capabilities,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if server == "omnisharp" then
|
|
|
|
|
local pid = vim.fn.getpid()
|
|
|
|
|
local omnisharp_bin = '~/.local/share/nvim/lsp_servers/omnisharp/omnisharp/OmniSharp'
|
|
|
|
|
config.cmd = { omnisharp_bin, "--languageserver" , "--hostPID", tostring(pid) }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
nvim_lsp[server].setup(config)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- luasnip setup
|
|
|
|
|