little bit overhaul here and there :))

This commit is contained in:
2026-03-21 15:55:58 +01:00
parent 37e4ba19f8
commit 650ef78405
19 changed files with 601 additions and 428 deletions

View File

@@ -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 {