64 lines
2.3 KiB
Lua
64 lines
2.3 KiB
Lua
-----------------------------------------------------------
|
|
-- Conform.nvim Formatter Configuration
|
|
-----------------------------------------------------------
|
|
|
|
local options = {
|
|
-- Disable LSP formatting fallback
|
|
lsp_fallback = false,
|
|
|
|
-----------------------------------------------------------
|
|
-- Formatter Assignments by File Type
|
|
-----------------------------------------------------------
|
|
formatters_by_ft = {
|
|
-- Lua
|
|
lua = { "stylua" },
|
|
|
|
-- Web Development
|
|
javascript = { "prettierd", "prettier", stop_after_first = true },
|
|
typescript = { "prettierd", "prettier", stop_after_first = true },
|
|
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
|
|
astro = { "prettierd", "prettier", stop_after_first = true },
|
|
svelte = { "prettierd", "prettier", stop_after_first = true },
|
|
html = { "prettierd", "prettier", stop_after_first = true },
|
|
css = { "prettierd", "prettier", stop_after_first = true },
|
|
json = { "prettierd", "prettier", stop_after_first = true },
|
|
yml = { "prettierd", "prettier", stop_after_first = true },
|
|
toml = { "prettierd", "prettier", stop_after_first = true },
|
|
|
|
-- Systems Programming
|
|
rust = { "rustfmt" },
|
|
c = { "clangformat" },
|
|
cpp = { "clangformat" },
|
|
|
|
-- Shell and Configuration
|
|
sh = { "shfmt" },
|
|
nix = { "nixpkgsfmt" },
|
|
},
|
|
|
|
-----------------------------------------------------------
|
|
-- Custom Formatter Configurations
|
|
-----------------------------------------------------------
|
|
formatters = {
|
|
-- Nix formatter configuration
|
|
nixpkgsfmt = {
|
|
command = "nixpkgs-fmt",
|
|
args = {},
|
|
},
|
|
|
|
-- C/C++ formatter configuration
|
|
clangformat = {
|
|
inherit = false,
|
|
command = "clang-format",
|
|
},
|
|
},
|
|
|
|
-----------------------------------------------------------
|
|
-- Format on Save Settings
|
|
-----------------------------------------------------------
|
|
format_on_save = {
|
|
timeout_ms = 2500, -- Maximum time to wait for formatting
|
|
lsp_fallback = false, -- Don't fallback to LSP formatting
|
|
},
|
|
}
|
|
|
|
return options |