refactor(lsp): improve lsp configuration and UI settings
This commit is contained in:
1 file changed
+43
-34
+43
-34
@@ -1,32 +1,32 @@
|
||||
return {
|
||||
-- default lsp configs
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
'neovim/nvim-lspconfig',
|
||||
config = function() end,
|
||||
},
|
||||
|
||||
-- lsp installer
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
'williamboman/mason.nvim',
|
||||
dependencies = {
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
'williamboman/mason-lspconfig.nvim',
|
||||
},
|
||||
cmd = "Mason",
|
||||
cmd = 'Mason',
|
||||
config = function()
|
||||
-- mason
|
||||
require("mason").setup({
|
||||
require('mason').setup({
|
||||
ui = {
|
||||
icons = {
|
||||
package_installed = "✓",
|
||||
package_pending = "➜",
|
||||
package_uninstalled = "✗",
|
||||
package_installed = '✓',
|
||||
package_pending = '➜',
|
||||
package_uninstalled = '✗',
|
||||
},
|
||||
border = "rounded",
|
||||
border = 'rounded',
|
||||
backdrop = 100,
|
||||
},
|
||||
})
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = require("config.extensions").lsp_server,
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = require('config.extensions').lsp_server,
|
||||
automatic_installation = false, -- Don't auto-install or auto-configure
|
||||
})
|
||||
end,
|
||||
@@ -34,24 +34,24 @@ return {
|
||||
|
||||
-- improve neovim lsp experience
|
||||
{
|
||||
"nvimdev/lspsaga.nvim",
|
||||
event = "LspAttach",
|
||||
'nvimdev/lspsaga.nvim',
|
||||
event = 'LspAttach',
|
||||
config = function()
|
||||
require("lspsaga").setup({
|
||||
require('lspsaga').setup({
|
||||
ui = {
|
||||
theme = "round",
|
||||
border = "rounded",
|
||||
theme = 'round',
|
||||
border = 'rounded',
|
||||
devicon = true,
|
||||
title = true,
|
||||
winblend = 1,
|
||||
expand = " ",
|
||||
collapse = " ",
|
||||
preview = "",
|
||||
code_action = " ",
|
||||
diagnostic = " ",
|
||||
incoming = " ",
|
||||
outgoing = " ",
|
||||
hover = " ",
|
||||
expand = ' ',
|
||||
collapse = ' ',
|
||||
preview = '',
|
||||
code_action = ' ',
|
||||
diagnostic = ' ',
|
||||
incoming = ' ',
|
||||
outgoing = ' ',
|
||||
hover = ' ',
|
||||
},
|
||||
})
|
||||
end,
|
||||
@@ -59,42 +59,51 @@ return {
|
||||
|
||||
-- inline diagnostic
|
||||
{
|
||||
"rachartier/tiny-inline-diagnostic.nvim",
|
||||
event = "VeryLazy",
|
||||
'rachartier/tiny-inline-diagnostic.nvim',
|
||||
event = 'VeryLazy',
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("tiny-inline-diagnostic").setup()
|
||||
require('tiny-inline-diagnostic').setup({
|
||||
options = {
|
||||
show_source = true,
|
||||
multiple_diag_under_cursor = true,
|
||||
-- break_line = {
|
||||
-- enabled = true,
|
||||
-- after = 60,
|
||||
-- }
|
||||
},
|
||||
})
|
||||
vim.diagnostic.config({ virtual_text = false }) -- Disable default virtual text
|
||||
end,
|
||||
},
|
||||
|
||||
-- code action
|
||||
{
|
||||
"rachartier/tiny-code-action.nvim",
|
||||
'rachartier/tiny-code-action.nvim',
|
||||
dependencies = {
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
'folke/snacks.nvim',
|
||||
opts = {
|
||||
terminal = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
event = "LspAttach",
|
||||
event = 'LspAttach',
|
||||
config = function()
|
||||
local codeaction = require("tiny-code-action")
|
||||
local codeaction = require('tiny-code-action')
|
||||
|
||||
codeaction.setup({
|
||||
picker = {
|
||||
"buffer",
|
||||
'buffer',
|
||||
opts = {
|
||||
auto_preview = true,
|
||||
hotkeys = true,
|
||||
hotkeys_mode = "sequential",
|
||||
hotkeys_mode = 'sequential',
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>.", codeaction.code_action)
|
||||
vim.keymap.set('n', '<leader>.', codeaction.code_action)
|
||||
end,
|
||||
},
|
||||
}
|
||||
Reference in new issue
Block a user