diff --git a/init.lua b/init.lua index b56ce29..dea2fcc 100644 --- a/init.lua +++ b/init.lua @@ -616,6 +616,8 @@ require('lazy').setup({ -- Special Lua Config, as recommended by neovim help docs lua_ls = { on_init = function(client) + client.server_capabilities.documentFormattingProvider = false -- Disable formatting (formatting is done by stylua) + if client.workspace_folders then local path = client.workspace_folders[1].name if path ~= vim.fn.stdpath 'config' and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc')) then return end @@ -637,8 +639,11 @@ require('lazy').setup({ }, }) end, + ---@type lspconfig.settings.lua_ls settings = { - Lua = {}, + Lua = { + format = { enable = false }, -- Disable formatting (formatting is done by stylua) + }, }, }, } @@ -671,7 +676,7 @@ require('lazy').setup({ keys = { { 'f', - function() require('conform').format { async = true, lsp_format = 'fallback' } end, + function() require('conform').format { async = true } end, mode = '', desc = '[F]ormat buffer', }, @@ -688,14 +693,15 @@ require('lazy').setup({ if disable_filetypes[vim.bo[bufnr].filetype] then return nil else - return { - timeout_ms = 500, - lsp_format = 'fallback', - } + return { timeout_ms = 500 } end end, + default_format_opts = { + lsp_format = 'fallback', -- Use external formatters if configured below, otherwise use LSP formatting. Set to `false` to disable LSP formatting entirely. + }, + -- You can also specify external formatters in here. formatters_by_ft = { - lua = { 'stylua' }, + -- rust = { 'rustfmt' }, -- Conform can also run multiple formatters sequentially -- python = { "isort", "black" }, --