refactor(cosmic-ui): readd diagnostics and handlers

This commit is contained in:
Matt Leong 2021-12-19 13:16:48 -08:00
parent de5e977c27
commit b105b15248
6 changed files with 79 additions and 16 deletions

View file

@ -73,6 +73,9 @@ config.cosmic_ui = {
diagnostic = {},
}
-- See https://github.com/ray-x/lsp_signature.nvim#full-configuration-with-default-values
config.lsp_signature = {}
-- See https://github.com/L3MON4D3/LuaSnip/blob/577045e9adf325e58f690f4d4b4a293f3dcec1b3/README.md#config
config.luasnip = {}

View file

@ -80,32 +80,34 @@ return packer.startup(function()
require('cosmic.lsp')
end,
requires = {
{ 'jose-elias-alvarez/nvim-lsp-ts-utils' },
{ 'williamboman/nvim-lsp-installer' },
{ 'jose-elias-alvarez/nvim-lsp-ts-utils' },
{
'ray-x/lsp_signature.nvim',
config = function()
require('cosmic.plugins.lsp-signature')
end,
after = 'nvim-lspconfig',
},
{
'jose-elias-alvarez/null-ls.nvim',
config = function()
require('cosmic.lsp.providers.null_ls')
end,
disable = vim.tbl_contains(user_plugins.disable, 'null-ls'),
after = 'nvim-lspconfig',
},
},
})
use({
'jose-elias-alvarez/null-ls.nvim',
config = function()
require('cosmic.lsp.providers.null_ls')
end,
requires = { 'nvim-lua/plenary.nvim' },
disable = vim.tbl_contains(user_plugins.disable, 'null-ls'),
after = 'nvim-lspconfig',
})
use({
'CosmicNvim/cosmic-ui',
requires = {
'MunifTanjim/nui.nvim',
'nvim-lua/plenary.nvim',
'ray-x/lsp_signature.nvim',
},
config = function()
require('cosmic.plugins.cosmic-ui')
end,
after = 'nvim-lspconfig',
})
-- autocompletion

View file

@ -0,0 +1,40 @@
local icons = require('cosmic.theme.icons')
local config = require('cosmic.config')
local cosmic_ui = require('cosmic-ui')
-- set up LSP signs
local signs = {
Error = icons.error .. ' ',
Warn = icons.warn .. ' ',
Hint = icons.hint .. ' ',
Info = icons.info .. ' ',
}
local t = vim.fn.sign_getdefined('DiagnosticSignWarn')
if vim.tbl_isempty(t) then
for type, icon in pairs(signs) do
local hl = 'DiagnosticSign' .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = '' })
end
end
-- set up vim.diagnostics
-- vim.diagnostic.config opts
vim.diagnostic.config(vim.tbl_deep_extend('force', {
underline = true,
signs = true,
update_in_insert = false,
severity_sort = true,
float = {
header = false,
source = 'always',
border = cosmic_ui.get_border(),
},
virtual_text = {
spacing = 4,
source = 'always',
severity = {
min = vim.diagnostic.severity.HINT,
},
},
}, config.diagnostic or {}))

View file

@ -1,4 +1,13 @@
-- local config = require('cosmic.config')
local cosmic_ui = require('cosmic-ui')
-- set up lsp servers
require('cosmic.lsp.providers')
require('cosmic.lsp.diagnostics')
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, {
border = cosmic_ui.get_border(),
})
vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.signature_help, {
border = cosmic_ui.get_border(),
})

View file

@ -0,0 +1,9 @@
local cosmic_ui = require('cosmic-ui')
local config = require('cosmic.config')
require('lsp_signature').setup(vim.tbl_deep_extend('force', {
bind = true, -- This is mandatory, otherwise border config won't get registered.
handler_opts = {
border = cosmic_ui.get_border(),
},
}, config.lsp_signature or {}))

View file

@ -29,7 +29,7 @@ Full featured native LSP functionality!
##### Additional features
- Aesthetically pleasing UI via [Cosmic-UI](https://github.com/CosmicNvim/cosmic-ui)
- Custom rename and code action popups via [Cosmic-UI](https://github.com/CosmicNvim/cosmic-ui)
- Amazing default theme via [tokyonight.nvim](https://github.com/folke/tokyonight.nvim)
- Enhanced syntax highlighting via [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
- Dashboard via [dashboard-nvim](https://github.com/glepnir/dashboard-nvim)