2 Commits

View File

@@ -616,6 +616,8 @@ require('lazy').setup({
-- Special Lua Config, as recommended by neovim help docs -- Special Lua Config, as recommended by neovim help docs
lua_ls = { lua_ls = {
on_init = function(client) on_init = function(client)
client.server_capabilities.documentFormattingProvider = false -- Disable formatting (formatting is done by stylua)
if client.workspace_folders then if client.workspace_folders then
local path = client.workspace_folders[1].name 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 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, end,
---@type lspconfig.settings.lua_ls
settings = { settings = {
Lua = {}, Lua = {
format = { enable = false }, -- Disable formatting (formatting is done by stylua)
},
}, },
}, },
} }
@@ -671,7 +676,7 @@ require('lazy').setup({
keys = { keys = {
{ {
'<leader>f', '<leader>f',
function() require('conform').format { async = true, lsp_format = 'fallback' } end, function() require('conform').format { async = true } end,
mode = '', mode = '',
desc = '[F]ormat buffer', desc = '[F]ormat buffer',
}, },
@@ -681,21 +686,23 @@ require('lazy').setup({
opts = { opts = {
notify_on_error = false, notify_on_error = false,
format_on_save = function(bufnr) format_on_save = function(bufnr)
-- Disable "format_on_save lsp_fallback" for languages that don't -- You can specify filetypes to autoformat on save here:
-- have a well standardized coding style. You can add additional local enabled_filetypes = {
-- languages here or re-enable it for the disabled ones. -- lua = true,
local disable_filetypes = { c = true, cpp = true } -- python = true,
if disable_filetypes[vim.bo[bufnr].filetype] then }
return nil if enabled_filetypes[vim.bo[bufnr].filetype] then
return { timeout_ms = 500 }
else else
return { return nil
timeout_ms = 500,
lsp_format = 'fallback',
}
end end
end, end,
default_format_opts = {
lsp_format = 'fallback', -- Use LSP formatting if available, otherwise use external formatters. Set to `false` to disable LSP formatting.
},
-- You can also specify external formatters in here.
formatters_by_ft = { formatters_by_ft = {
lua = { 'stylua' }, -- rust = { 'rustfmt' },
-- Conform can also run multiple formatters sequentially -- Conform can also run multiple formatters sequentially
-- python = { "isort", "black" }, -- python = { "isort", "black" },
-- --