plugins.conform-nvim.settings
Options provided to the require('conform').setup
function.
Type: attribute set of anything
Default:
{ }
Example:
{
formatters_by_ft = {
bash = [
"shellcheck"
"shellharden"
"shfmt"
];
cpp = [ "clang_format" ];
javascript = {
__unkeyed-1 = "prettierd";
__unkeyed-2 = "prettier";
timeout_ms = 2000;
stop_after_first = true;
};
"_" = [
"squeeze_blanks"
"trim_whitespace"
"trim_newlines"
];
};
format_on_save = # Lua
''
function(bufnr)
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
return
end
if slow_format_filetypes[vim.bo[bufnr].filetype] then
return
end
local function on_format(err)
if err and err:match("timeout$") then
slow_format_filetypes[vim.bo[bufnr].filetype] = true
end
end
return { timeout_ms = 200, lsp_fallback = true }, on_format
end
'';
format_after_save = # Lua
''
function(bufnr)
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
return
end
if not slow_format_filetypes[vim.bo[bufnr].filetype] then
return
end
return { lsp_fallback = true }
end
'';
log_level = "warn";
notify_on_error = false;
notify_no_formatters = false;
formatters = {
shellcheck = {
command = lib.getExe pkgs.shellcheck;
};
shfmt = {
command = lib.getExe pkgs.shfmt;
};
shellharden = {
command = lib.getExe pkgs.shellharden;
};
squeeze_blanks = {
command = lib.getExe' pkgs.coreutils "cat";
};
};
}
Declared by:
plugins.conform-nvim.settings.formatters
Custom formatters and changes to built-in formatters.
Type: null or (attribute set of (anything or raw lua code))
Default:
null
Plugin default: { }
Declared by:
plugins.conform-nvim.settings.formatters_by_ft
Creates a table mapping filetypes to formatters.
You can run multiple formatters in a row by adding them in a list.
If you’d like to stop after the first successful formatter, set stop_after_first
.
# Map of filetype to formatters
formatters_by_ft =
{
lua = [ "stylua" ];
# Conform will run multiple formatters sequentially
python = [ "isort" "black" ];
# Use stop_after_first to run only the first available formatter
javascript = {
__unkeyed-1 = "prettierd";
__unkeyed-2 = "prettier";
stop_after_first = true;
};
# Use the "*" filetype to run formatters on all filetypes.
"*" = [ "codespell" ];
# Use the "_" filetype to run formatters on filetypes that don't
# have other formatters configured.
"_" = [ "trim_whitespace" ];
};
Type: null or (attribute set of (anything or raw lua code))
Default:
null
Plugin default: { }
Declared by:
plugins.conform-nvim.settings.log_level
Set the log level. Use :ConformInfo
to see the location of the log file.
Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”
Default:
null
Plugin default: "error"
Declared by:
plugins.conform-nvim.settings.notify_no_formatters
Conform will notify you when no formatters are available for the buffer.
Type: null or boolean or raw lua code
Default:
null
Plugin default: true
Declared by:
plugins.conform-nvim.settings.notify_on_error
Conform will notify you when a formatter errors.
Type: null or boolean or raw lua code
Default:
null
Plugin default: true
Declared by: