little bit overhaul here and there :))
This commit is contained in:
@@ -32,15 +32,15 @@ return {
|
||||
end
|
||||
|
||||
local tb = require 'telescope.builtin'
|
||||
map('grn', vim.lsp.buf.rename, '[R]e[n]ame')
|
||||
map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' })
|
||||
map('grr', tb.lsp_references, '[G]oto [R]eferences')
|
||||
map('gri', tb.lsp_implementations, '[G]oto [I]mplementation')
|
||||
map('grd', tb.lsp_definitions, '[G]oto [D]efinition')
|
||||
map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
||||
map('gO', tb.lsp_document_symbols, 'Open Document Symbols')
|
||||
map('gW', tb.lsp_dynamic_workspace_symbols, 'Open Workspace Symbols')
|
||||
map('grt', tb.lsp_type_definitions, '[G]oto [T]ype Definition')
|
||||
map('grn', vim.lsp.buf.rename, '[R]e[n]ame')
|
||||
map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' })
|
||||
map('grr', tb.lsp_references, '[G]oto [R]eferences')
|
||||
map('gri', tb.lsp_implementations, '[G]oto [I]mplementation')
|
||||
map('grd', tb.lsp_definitions, '[G]oto [D]efinition')
|
||||
map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
||||
map('gO', tb.lsp_document_symbols, 'Open Document Symbols')
|
||||
map('gW', tb.lsp_dynamic_workspace_symbols, 'Open Workspace Symbols')
|
||||
map('grt', tb.lsp_type_definitions, '[G]oto [T]ype Definition')
|
||||
|
||||
-- Compat helper for 0.10 vs 0.11
|
||||
local function client_supports(client, method, bufnr)
|
||||
@@ -57,10 +57,14 @@ return {
|
||||
if client and client_supports(client, vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf) then
|
||||
local hl_group = vim.api.nvim_create_augroup('user-lsp-highlight', { clear = false })
|
||||
vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
|
||||
buffer = event.buf, group = hl_group, callback = vim.lsp.buf.document_highlight,
|
||||
buffer = event.buf,
|
||||
group = hl_group,
|
||||
callback = vim.lsp.buf.document_highlight,
|
||||
})
|
||||
vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
|
||||
buffer = event.buf, group = hl_group, callback = vim.lsp.buf.clear_references,
|
||||
buffer = event.buf,
|
||||
group = hl_group,
|
||||
callback = vim.lsp.buf.clear_references,
|
||||
})
|
||||
vim.api.nvim_create_autocmd('LspDetach', {
|
||||
group = vim.api.nvim_create_augroup('user-lsp-detach', { clear = true }),
|
||||
@@ -83,20 +87,22 @@ return {
|
||||
-- Diagnostics appearance
|
||||
vim.diagnostic.config {
|
||||
severity_sort = true,
|
||||
float = { border = 'rounded', source = 'if_many' },
|
||||
float = { border = 'rounded', source = 'if_many' },
|
||||
underline = { severity = vim.diagnostic.severity.ERROR },
|
||||
signs = vim.g.have_nerd_font and {
|
||||
signs = vim.g.have_nerd_font and {
|
||||
text = {
|
||||
[vim.diagnostic.severity.ERROR] = ' ',
|
||||
[vim.diagnostic.severity.WARN] = ' ',
|
||||
[vim.diagnostic.severity.INFO] = ' ',
|
||||
[vim.diagnostic.severity.HINT] = ' ',
|
||||
[vim.diagnostic.severity.WARN] = ' ',
|
||||
[vim.diagnostic.severity.INFO] = ' ',
|
||||
[vim.diagnostic.severity.HINT] = ' ',
|
||||
},
|
||||
} or {},
|
||||
virtual_text = {
|
||||
source = 'if_many',
|
||||
source = 'if_many',
|
||||
spacing = 2,
|
||||
format = function(d) return d.message end,
|
||||
format = function(d)
|
||||
return d.message
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -113,10 +119,23 @@ return {
|
||||
},
|
||||
},
|
||||
},
|
||||
gopls = {},
|
||||
intelephense = {},
|
||||
ts_ls = {},
|
||||
pyright = {},
|
||||
cssls = {},
|
||||
html = {},
|
||||
jsonls = {},
|
||||
}
|
||||
|
||||
local ensure_installed = vim.tbl_keys(servers)
|
||||
vim.list_extend(ensure_installed, { 'stylua' })
|
||||
vim.list_extend(ensure_installed, {
|
||||
'stylua',
|
||||
-- formatters (used by conform.nvim)
|
||||
'black',
|
||||
'prettier',
|
||||
'biome',
|
||||
})
|
||||
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
|
||||
|
||||
require('mason-lspconfig').setup {
|
||||
|
||||
Reference in New Issue
Block a user