All default configurations are placed in the
default configurations per formatter,
default configurations per filetype, and
default configurations for any filetype.
You should use the util module
which has various functions that help with creating default configurations.
The default configurations per formatter return
functions which create a formatter configuration. For example, the prettier
default configuration function takes in a parser argument:
local util = require "formatter.util"
return function(parser)
if not parser then
return {
exe = "prettier",
args = {
"--stdin-filepath",
util.escape_path(util.get_current_buffer_file_path()),
},
stdin = true,
try_node_modules = true,
}
end
return {
exe = "prettier",
args = {
"--stdin-filepath",
util.escape_path(util.get_current_buffer_file_path()),
"--parser",
parser,
},
stdin = true,
try_node_modules = true,
}
endDefault configurations per formatter
are used to create
default configurations per filetype, and
default configurations for any filetype.
For example, the
default formatter configuration for prettier for the typescript filetype uses the
default formatter configuration function for prettier:
local M = {}
local defaults = require "formatter.defaults"
local util = require "formatter.util"
-- other formatters...
-- "util.withl" here returns a function that executes the defaults.prettier
-- function with "typescript" as the first argument for the parser
M.prettier = util.withl(defaults.prettier, "typescript")
-- other formatters...
return MThe
default configurations for any filetype
are in exactly the same format as
default configurations per filetype.
It is just important to note that this file is special because all formatter
default configurations that can be applied to any filetype go here.