commit - 97347067f65c59c6975f47587748119f5b2f9aba
commit + 3e41d35e0e1337c81a2ead6586b21ee869b31c8b
blob - 5f1f13082416d29610789fc428681e9fb8568bbd
blob + 7b67c03b8812e76f6c175380984d19803cd0d6a5
--- lazy-lock.json
+++ lazy-lock.json
"conform.nvim": { "branch": "master", "commit": "374aaf384e2e841607b8e2fe63fa3ad01d111c91" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" },
- "mason-tool-installer.nvim": { "branch": "main", "commit": "aafae207d5a2a28c59c9d478d8581c2739135d09" },
+ "mason-tool-installer.nvim": { "branch": "main", "commit": "62f821a14e20f3f2ee358cd44d0b3d299a508e72" },
"mason.nvim": { "branch": "main", "commit": "7c7318e8bae7e3536ef6b9e86b9e38e74f2e125e" },
"nvim-lspconfig": { "branch": "master", "commit": "61e5109c8cf24807e4ae29813a3a82b31821dd45" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
blob - b2b1a0c36baa9b9cd650b87130f0229893bba2b6
blob + 39998557aaa3e69cc6791a6abc2acfd153bb9b45
--- lua/config/keymaps.lua
+++ lua/config/keymaps.lua
-- Leader-based LSP actions (under <leader>l for less frequent actions)
lsp_map('<leader>lr', vim.lsp.buf.rename, 'Rename across multiple files', 'n')
- lsp_map('<leader>la', vim.lsp.buf.code_action, 'Code actions', { 'n', 'x' })
+ lsp_map('<leader>ca', vim.lsp.buf.code_action, 'Code actions', { 'n', 'x' })
lsp_map('<leader>lt', require('telescope.builtin').lsp_type_definitions, 'Type Definition')
+ lsp_map('<leader>le', function()
+ vim.diagnostic.open_float({
+ scope = 'line',
+ border = 'rounded',
+ max_width = 80,
+ severity = vim.diagnostic.severity.ERROR,
+ })
+ end, 'Show error diagnostics in float', 'n')
end,
})
blob - d5c6154c7eb54ceb8d2132da4c0dd07ab195af74
blob + 4e6169aa10c79bf146a2851871b1f0b08d87d03f
--- lua/plugins/lspconfig.lua
+++ lua/plugins/lspconfig.lua
{
'neovim/nvim-lspconfig',
dependencies = {
+ { 'williamboman/mason.nvim', config = true },
{ 'williamboman/mason-lspconfig.nvim' },
},
config = function()
- local lspconfig = require('lspconfig')
- local capabilities = vim.lsp.protocol.make_client_capabilities()
-
vim.diagnostic.config({
severity_sort = true,
float = { border = 'rounded', source = 'if_many' },
underline = { severity = vim.diagnostic.severity.ERROR },
- signs = vim.g.have_nerd_font and {
- text = {
- [vim.diagnostic.severity.ERROR] = ' ',
- [vim.diagnostic.severity.WARN] = ' ',
- [vim.diagnostic.severity.INFO] = ' ',
- [vim.diagnostic.severity.HINT] = ' ',
- },
- } or {},
virtual_text = {
source = 'if_many',
spacing = 2,
end,
},
})
-
- -- Define LSP servers and their configurations
+ -- Define LSP servers
local servers = {
lua_ls = {
settings = {
},
}
+ local lspconfig = require('lspconfig')
for server_name, server_config in pairs(servers) do
lspconfig[server_name].setup(vim.tbl_deep_extend('force', {
capabilities = capabilities,
blob - cdf95b5419e6f77c2092a1a841cfdc91af244d47
blob + ad982f94e6000f0c9aaa489ef8d752973942e84e
--- lua/plugins/mason.lua
+++ lua/plugins/mason.lua
return {
- {
- "williamboman/mason.nvim",
- opts = {},
- },
- {
- "williamboman/mason-lspconfig.nvim",
- opts = {
- ensure_installed = { "lua_ls" },
- automatic_installation = true,
+ {
+ 'williamboman/mason.nvim',
+ opts = {},
},
- },
- {
- "WhoIsSethDaniel/mason-tool-installer.nvim",
- opts = {
- ensure_installed = { "stylua" },
+ {
+ 'williamboman/mason-lspconfig.nvim',
+ opts = {
+ ensure_installed = { 'lua_ls' },
+ automatic_installation = true,
+ handlers = {
+ function(server_name)
+ local server = servers[server_name] or {}
+ -- This handles overriding only values explicitly passed
+ -- by the server configuration above. Useful when disabling
+ -- certain features of an LSP (for example, turning off formatting for ts_ls)
+ server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
+ require('lspconfig')[server_name].setup(server)
+ end,
+ },
+ },
},
- },
+ {
+ 'WhoIsSethDaniel/mason-tool-installer.nvim',
+ opts = {
+ ensure_installed = { 'stylua' },
+ },
+ },
}
blob - a95912f76c3be67ed25ef341e032eb2506d1235f
blob + 34b67f200d2ed438c2a6d568ae2e7de5206ede35
--- lua/plugins/telescope.lua
+++ lua/plugins/telescope.lua
layout_config = {
width = 0.8,
height = 0.8,
- preview_width = 0.6,
+ preview_width = 0.5,
},
-- Disable costly folders
- file_ignore_patterns = { 'node_modules', '.git/' },
+ file_ignore_patterns = { 'node_modules' },
-- Basic mappings for efficiency
mappings = {
i = {