Update some plugins and config

This commit is contained in:
Alexander Gehrke 2023-01-23 14:38:50 +01:00
parent 8f3c32c2f5
commit 903b28d533
4 changed files with 40 additions and 32 deletions

View file

@ -6,7 +6,7 @@ let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ''
let g:airline_section_z = ''
"let g:airline_section_z = ''
function! LspStatus() abort
let status = luaeval('require("lsp-status").status()')

View file

@ -184,4 +184,8 @@ lua require("my-lsp")
lua require("lsputils")
lua require("conf.cmp")
lua require("conf.trouble")
lua require("conf.treesitter")
set foldmethod=expr
set foldexpr=nvim_treesitter#foldexpr()
set nofoldenable " Disable folding at startup.
" vi:foldmethod=marker sw=2

View file

@ -1,4 +1,5 @@
local cmp = require'cmp'
cmp.setup({
snippet = {
expand = function(args)
@ -7,6 +8,8 @@ cmp.setup({
},
mapping = {
['<C-y>'] = cmp.mapping.confirm({ select = true }),
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm({
@ -21,12 +24,28 @@ cmp.setup({
end
end
},
sources = {
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
--{ name = 'buffer' },
{ name = 'vsnip' },
},{
{ name = 'buffer' },
--{ name = 'path' },
}),
})
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
}
})
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' }
}, {
{ name = 'cmdline' }
})
})

View file

@ -3,16 +3,16 @@ local lsp_status = require('lsp-status')
lsp_status.register_progress()
-- enable snippet support
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities.textDocument.completion.completionItem.resolveSupport = {
properties = {
'documentation',
'detail',
'additionalTextEdits',
}
}
capabilities = vim.tbl_extend('keep', capabilities or {}, lsp_status.capabilities)
--local capabilities = vim.lsp.protocol.make_client_capabilities()
--capabilities.textDocument.completion.completionItem.snippetSupport = true
--capabilities.textDocument.completion.completionItem.resolveSupport = {
-- properties = {
-- 'documentation',
-- 'detail',
-- 'additionalTextEdits',
-- }
--}
--capabilities = vim.tbl_extend('keep', capabilities or {}, lsp_status.capabilities)
-- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer
@ -48,24 +48,9 @@ local on_attach = function(client, bufnr)
--require'completion'.on_attach(client, bufnr)
end
local lsp_installer = require("nvim-lsp-installer")
lsp_installer.on_server_ready(function(server)
local opts = {}
require("lsp.metals")(on_attach)
server:setup(opts)
end)
metals_config = require("metals").bare_config()
metals_config.init_options.statusBarProvider = "on"
metals_config.settings = { showImplicitArguments = true }
metals_config.on_attach = on_attach
metals_config.capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities)
vim.cmd [[augroup lsp]]
vim.cmd [[au!]]
vim.cmd([[autocmd FileType scala setlocal omnifunc=v:lua.vim.lsp.omnifunc]])
vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(metals_config)]]
vim.cmd [[augroup end]]
require("lsp.typescript")(on_attach)
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics, {