# HG changeset patch # User Meredith Howard # Date 1727294593 18000 # Node ID b0a0ba3240b51846efc39d4ab01277ed0580a177 # Parent 8993dc4128de65d3b13bd4e52c1b5f026d8abb5c No LSP autostart when read-only I think nvim actually threw out 'view' argc detection, I just use -R and alias view to it. diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -10,15 +10,20 @@ return { { "williamboman/mason-lspconfig.nvim", config = true }, }, config = function(_, _) - local capabilities = require("cmp_nvim_lsp").default_capabilities() + local lspconfig = require("lspconfig") + + lspconfig.util.default_config.capabilities = vim.tbl_deep_extend("force", + lspconfig.util.default_config.capabilities, + require("cmp_nvim_lsp").default_capabilities() + ) + + -- allow view / -R to also stop autostart. no other global flag for this. + lspconfig.util.default_config.autostart = not vim.list_contains(vim.v.argv, "-R") require("mason-lspconfig").setup_handlers({ - function(server) - require("lspconfig")[server].setup({ capabilities = capabilities }) - end, + function(server) lspconfig[server].setup({}) end, gopls = function() - require("lspconfig").gopls.setup({ - capabilities = capabilities, + lspconfig.gopls.setup({ settings = { -- https://github.com/golang/tools/blob/master/gopls/doc/settings.md gopls = { @@ -39,8 +44,7 @@ return { }) end, solargraph = function() - require("lspconfig").solargraph.setup({ - capabilities = capabilities, + lspconfig.solargraph.setup({ init_options = { formatting = false }, }) end,