refactor(cosmic-ui): readd diagnostics and handlers
This commit is contained in:
parent
de5e977c27
commit
b105b15248
6 changed files with 79 additions and 16 deletions
|
@ -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 = {}
|
||||
|
||||
|
|
|
@ -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',
|
||||
},
|
||||
})
|
||||
|
||||
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
|
||||
|
|
40
lua/cosmic/lsp/diagnostics.lua
Normal file
40
lua/cosmic/lsp/diagnostics.lua
Normal 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 {}))
|
|
@ -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(),
|
||||
})
|
||||
|
|
9
lua/cosmic/plugins/lsp-signature/init.lua
Normal file
9
lua/cosmic/plugins/lsp-signature/init.lua
Normal 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 {}))
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue