2024-04-30 03:33:02 +00:00
|
|
|
local opt_curr = {
|
2024-04-20 16:29:45 +00:00
|
|
|
default = {
|
2024-04-27 03:36:40 +00:00
|
|
|
brace_last_indent = false,
|
|
|
|
brace_last_wrap = true,
|
2024-04-27 03:59:30 +00:00
|
|
|
brace_pad = false,
|
2024-04-27 03:36:40 +00:00
|
|
|
comma_last = false,
|
|
|
|
comma_prefix = false,
|
|
|
|
comma_prefix_indent = false,
|
2024-04-20 16:29:45 +00:00
|
|
|
line_prefix = '',
|
|
|
|
},
|
|
|
|
go = {
|
2024-04-27 03:36:40 +00:00
|
|
|
comma_last = true,
|
2024-04-27 03:59:30 +00:00
|
|
|
},
|
2024-04-29 02:28:48 +00:00
|
|
|
vim = {
|
|
|
|
brace_last_wrap = false,
|
|
|
|
line_prefix = '\\ ',
|
|
|
|
}
|
2024-04-20 16:29:45 +00:00
|
|
|
}
|
|
|
|
|
2024-04-30 03:33:02 +00:00
|
|
|
local function setup(opt)
|
|
|
|
for file_type, file_opt in pairs(opt) do
|
|
|
|
local file_opt_curr = opt_curr[file_type]
|
|
|
|
if not file_opt_curr then
|
|
|
|
file_opt_curr = {}
|
|
|
|
opt_curr[file_type] = file_opt_curr
|
2024-04-20 16:29:45 +00:00
|
|
|
end
|
|
|
|
|
2024-04-30 03:33:02 +00:00
|
|
|
for param_name, param_value in pairs(file_opt) do
|
|
|
|
file_opt_curr[param_name] = param_value
|
2024-04-20 16:29:45 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2024-04-20 19:16:54 +00:00
|
|
|
local function get()
|
2024-04-30 03:33:02 +00:00
|
|
|
local file_opt_curr = opt_curr[vim.bo.filetype]
|
2024-04-20 16:29:45 +00:00
|
|
|
|
2024-04-30 03:33:02 +00:00
|
|
|
local file_opt = {}
|
|
|
|
for param_name, param_value in pairs(opt_curr.default) do
|
|
|
|
file_opt[param_name] = param_value
|
|
|
|
if file_opt_curr then
|
|
|
|
param_value = file_opt_curr[param_name]
|
|
|
|
if param_value ~= nil then
|
|
|
|
file_opt[param_name] = param_value
|
2024-04-20 16:29:45 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2024-04-30 03:33:02 +00:00
|
|
|
return file_opt
|
2024-04-20 16:29:45 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
return {
|
2024-04-30 03:33:02 +00:00
|
|
|
setup = setup,
|
2024-04-20 19:16:54 +00:00
|
|
|
get = get,
|
2024-04-20 16:29:45 +00:00
|
|
|
}
|