diff options
| author | JP Appel <jeanpierre.appel01@gmail.com> | 2025-04-01 19:27:24 -0400 |
|---|---|---|
| committer | JP Appel <jeanpierre.appel01@gmail.com> | 2025-04-01 19:27:24 -0400 |
| commit | 6a12ec7b0aab52f3aab55724139670d9f1868847 (patch) | |
| tree | 9dcb53f724fa5e6a9432af5be3b672ce7f5b75bd /nvim/lua/plugins/lsp.lua | |
| parent | 799aa464ab5dc9444ecbc43af82bbbfe1c9a09f6 (diff) | |
Add keybind for language server ranged format
Diffstat (limited to 'nvim/lua/plugins/lsp.lua')
| -rw-r--r-- | nvim/lua/plugins/lsp.lua | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index 69e6765..f71ebda 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -35,6 +35,7 @@ local lspconfig = { { 'gd', function() + -- TODO: add fallback to default gd + warning vim.lsp.buf.definition() end, mode = 'n', @@ -46,9 +47,27 @@ local lspconfig = { function() vim.lsp.buf.format() end, - mode = { 'n', 'v' }, - desc = "Format code" + mode = { 'n' }, + desc = "Format entire buffer" }, + { + '<leader>f', + function() + local opts = {} + local clients = vim.lsp.get_clients({ bufnr = 0 }) + for _, client in ipairs(clients) do + if client:supports_method("textDocument/rangesFormatting") then + local range = require("shared").get_visual_range({}) + opts.range.start = range.start + opts.range["end"] = range.stop + break + end + end + vim.lsp.buf.format(opts) + end, + mode = { 'v' }, + desc = "Format visual selection" + } } } @@ -89,20 +108,6 @@ local mason_lspconfig = { } }) end, - ["html"] = function() - local capabilities = vim.lsp.protocol.make_client_capabilities() - capabilities.textDocument.completion.completionItem.snippetSupport = true - require('lspconfig').html.setup({ - capabilities = capabilities, - }) - end, - ["cssls"] = function() - local capabilities = vim.lsp.protocol.make_client_capabilities() - capabilities.textDocument.completion.completionItem.snippetSupport = true - require('lspconfig').cssls.setup({ - capabilities = capabilities, - }) - end, ["basedpyright"] = function() require('lspconfig').basedpyright.setup({ settings = { |
