yes, i'm pushing updates

This commit is contained in:
TJ DeVries 2024-02-22 14:30:44 -05:00
parent 2022a26e28
commit ceadebd22d

View File

@ -425,7 +425,7 @@ require('lazy').setup({
-- --
-- In this case, we create a function that lets us more easily define mappings specific -- In this case, we create a function that lets us more easily define mappings specific
-- for LSP related items. It sets the mode, buffer and description for us each time. -- for LSP related items. It sets the mode, buffer and description for us each time.
local nmap = function(keys, func, desc) local map = function(keys, func, desc)
vim.keymap.set('n', keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc }) vim.keymap.set('n', keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc })
end end
@ -433,31 +433,31 @@ require('lazy').setup({
-- --
-- Jump to the definition of the word under your cursor. -- Jump to the definition of the word under your cursor.
-- To jump back, press <C-T>. -- To jump back, press <C-T>.
nmap('gd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition') map('gd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition')
nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') map('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
nmap('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') map('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation')
nmap('<leader>D', require('telescope.builtin').lsp_type_definitions, 'Type [D]efinition') map('<leader>D', require('telescope.builtin').lsp_type_definitions, 'Type [D]efinition')
nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols') map('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') map('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
-- WARN: This is not Goto Definition, this is Goto Declaration. -- WARN: This is not Goto Definition, this is Goto Declaration.
-- For example, in C this would take you to the header -- For example, in C this would take you to the header
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') map('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
-- Rename the variable under your cursor -- Rename the variable under your cursor
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame') map('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
-- Execute a code action, usually your cursor needs to be on top of an error -- Execute a code action, usually your cursor needs to be on top of an error
-- or a suggestion from your LSP for this to activate. -- or a suggestion from your LSP for this to activate.
nmap('<leader>ca', function() map('<leader>ca', function()
vim.lsp.buf.code_action { context = { only = { 'quickfix', 'refactor', 'source' } } } vim.lsp.buf.code_action { context = { only = { 'quickfix', 'refactor', 'source' } } }
end, '[C]ode [A]ction') end, '[C]ode [A]ction')
-- See `:help K` for why this keymap -- See `:help K` for why this keymap
nmap('K', vim.lsp.buf.hover, 'Hover Documentation') map('K', vim.lsp.buf.hover, 'Hover Documentation')
-- Show the signature of the function you're currently completing. -- Show the signature of the function you're currently completing.
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation') map('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
end, end,
}) })
@ -473,7 +473,7 @@ require('lazy').setup({
-- Add any additional override configuration in the following tables. Available keys are: -- Add any additional override configuration in the following tables. Available keys are:
-- - cmd (table): Override the default command used to start the server -- - cmd (table): Override the default command used to start the server
-- - filetypes (table): Override the default list of associated filetypes for the server -- - filetypes (table): Override the default list of associated filetypes for the server
-- - capabilities (table): TODO -- - capabilities (table): Override fields in capabilities. Can be used to disable certain LSP features.
-- - settings (table): Override the default settings passed when initializing the server. -- - settings (table): Override the default settings passed when initializing the server.
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/ -- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
local servers = { local servers = {
@ -482,6 +482,7 @@ require('lazy').setup({
-- pyright = {}, -- pyright = {},
-- rust_analyzer = {}, -- rust_analyzer = {},
-- html = { filetypes = { 'html', 'twig', 'hbs'} }, -- html = { filetypes = { 'html', 'twig', 'hbs'} },
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
-- --
-- If you use something like typescript, where the tooling is as bad as the language, -- If you use something like typescript, where the tooling is as bad as the language,
-- then you might need to install and configure something like this: -- then you might need to install and configure something like this:
@ -498,20 +499,23 @@ require('lazy').setup({
Lua = { Lua = {
workspace = { checkThirdParty = false }, workspace = { checkThirdParty = false },
telemetry = { enable = false }, telemetry = { enable = false },
-- NOTE: toggle below to ignore Lua_LS's noisy `missing-fields` warnings -- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
-- diagnostics = { disable = { 'missing-fields' } }, -- diagnostics = { disable = { 'missing-fields' } },
}, },
}, },
}, },
} }
-- You can add other tools here that you want Mason to install
-- for you, so that they are available from within Neovim.
local ensure_installed = vim.tbl_keys(servers)
vim.list_extend(ensure_installed, {
'stylua',
})
-- Ensure the servers above are installed -- Ensure the servers above are installed
require('mason').setup() require('mason').setup()
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
-- TODO: Think about lspconfig mason
local installed = { 'stylua' }
vim.list_extend(installed, vim.tbl_keys(servers))
require('mason-tool-installer').setup { ensure_installed = installed }
require('mason-lspconfig').setup { require('mason-lspconfig').setup {
handlers = { handlers = {
function(server_name) function(server_name)
@ -520,9 +524,7 @@ require('lazy').setup({
cmd = server.cmd, cmd = server.cmd,
settings = server.settings, settings = server.settings,
filetypes = server.filetypes, filetypes = server.filetypes,
-- TODO: Think about what we wanna do here. capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities),
-- capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities),
capabilities = server.capabilities or capabilities,
} }
end, end,
}, },