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.branch = ''
let g:airline_symbols.readonly = '' let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = '' let g:airline_symbols.linenr = ''
let g:airline_section_z = '' "let g:airline_section_z = ''
function! LspStatus() abort function! LspStatus() abort
let status = luaeval('require("lsp-status").status()') let status = luaeval('require("lsp-status").status()')

View file

@ -184,4 +184,8 @@ lua require("my-lsp")
lua require("lsputils") lua require("lsputils")
lua require("conf.cmp") lua require("conf.cmp")
lua require("conf.trouble") 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 " vi:foldmethod=marker sw=2

View file

@ -1,4 +1,5 @@
local cmp = require'cmp' local cmp = require'cmp'
cmp.setup({ cmp.setup({
snippet = { snippet = {
expand = function(args) expand = function(args)
@ -7,6 +8,8 @@ cmp.setup({
}, },
mapping = { mapping = {
['<C-y>'] = cmp.mapping.confirm({ select = true }), ['<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-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(), ['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm({ ['<CR>'] = cmp.mapping.confirm({
@ -21,12 +24,28 @@ cmp.setup({
end end
end end
}, },
sources = { sources = cmp.config.sources({
{ name = 'nvim_lsp' }, { name = 'nvim_lsp' },
--{ name = 'buffer' },
{ name = 'vsnip' }, { name = 'vsnip' },
},{
{ name = 'buffer' },
--{ name = 'path' }, --{ 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() lsp_status.register_progress()
-- enable snippet support -- enable snippet support
local capabilities = vim.lsp.protocol.make_client_capabilities() --local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true --capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities.textDocument.completion.completionItem.resolveSupport = { --capabilities.textDocument.completion.completionItem.resolveSupport = {
properties = { -- properties = {
'documentation', -- 'documentation',
'detail', -- 'detail',
'additionalTextEdits', -- 'additionalTextEdits',
} -- }
} --}
capabilities = vim.tbl_extend('keep', capabilities or {}, lsp_status.capabilities) --capabilities = vim.tbl_extend('keep', capabilities or {}, lsp_status.capabilities)
-- Use an on_attach function to only map the following keys -- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer -- 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) --require'completion'.on_attach(client, bufnr)
end end
local lsp_installer = require("nvim-lsp-installer") require("lsp.metals")(on_attach)
lsp_installer.on_server_ready(function(server)
local opts = {}
server:setup(opts) require("lsp.typescript")(on_attach)
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]]
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics, { vim.lsp.diagnostic.on_publish_diagnostics, {