fix(efm): fix formatting config settings
This commit is contained in:
parent
d4e314928d
commit
ce86cc1f6e
4 changed files with 40 additions and 42 deletions
|
@ -1,13 +1,12 @@
|
||||||
local config = {
|
local config = {}
|
||||||
lsp = {
|
-- config.lsp = {
|
||||||
format_on_save = true,
|
-- format_on_save = true,
|
||||||
servers = {
|
-- servers = {
|
||||||
eslint = nil,
|
-- eslint = false,
|
||||||
efm = {
|
-- efm = {
|
||||||
-- disable_formatters = {'eslint'}
|
-- disable_formatters = {'eslint', 'prettier', 'stylua'}
|
||||||
}
|
-- }
|
||||||
}
|
-- }
|
||||||
}
|
-- }
|
||||||
}
|
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
local config = require('cosmic.config')
|
||||||
require('cosmic.lsp.providers')
|
require('cosmic.lsp.providers')
|
||||||
require('cosmic.lsp.diagnostics').init()
|
require('cosmic.lsp.diagnostics').init()
|
||||||
|
|
||||||
|
@ -5,3 +6,9 @@ vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.s
|
||||||
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, {
|
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, {
|
||||||
border = 'single',
|
border = 'single',
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if config.lsp and config.lsp.format_on_save then
|
||||||
|
vim.cmd([[
|
||||||
|
autocmd BufWritePre * lua vim.lsp.buf.formatting()
|
||||||
|
]])
|
||||||
|
end
|
||||||
|
|
|
@ -22,19 +22,6 @@ formatters.prettier = {
|
||||||
formatStdin = true,
|
formatStdin = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
--[[ local filetypes = {
|
|
||||||
css = { prettier },
|
|
||||||
html = { prettier },
|
|
||||||
lua = { stylua },
|
|
||||||
javascript = { prettier },
|
|
||||||
javascriptreact = { prettier },
|
|
||||||
json = { prettier },
|
|
||||||
markdown = { prettier },
|
|
||||||
scss = { prettier },
|
|
||||||
typescript = { prettier },
|
|
||||||
typescriptreact = { prettier },
|
|
||||||
yaml = { prettier },
|
|
||||||
} ]]
|
|
||||||
local filetype_defaults = {
|
local filetype_defaults = {
|
||||||
css = {},
|
css = {},
|
||||||
html = {},
|
html = {},
|
||||||
|
@ -73,7 +60,7 @@ formatters.defaults = {
|
||||||
}
|
}
|
||||||
|
|
||||||
local function is_formatter_disabled(formatter)
|
local function is_formatter_disabled(formatter)
|
||||||
if config.lsp.servers.efm.disable_formatters then
|
if config.lsp and config.lsp.servers and config.lsp.servers.efm and config.lsp.servers.efm.disable_formatters then
|
||||||
for i in pairs(config.lsp.servers.efm.disable_formatters) do
|
for i in pairs(config.lsp.servers.efm.disable_formatters) do
|
||||||
local disabled = config.lsp.servers.efm.disable_formatters[i]
|
local disabled = config.lsp.servers.efm.disable_formatters[i]
|
||||||
if disabled == formatter then
|
if disabled == formatter then
|
||||||
|
@ -87,17 +74,16 @@ end
|
||||||
local languages = {}
|
local languages = {}
|
||||||
for formatter, filetypes in pairs(formatters.defaults) do
|
for formatter, filetypes in pairs(formatters.defaults) do
|
||||||
if not is_formatter_disabled(formatter) then
|
if not is_formatter_disabled(formatter) then
|
||||||
-- print(formatter)
|
for i in pairs(filetypes) do
|
||||||
for i in pairs(formatters.defaults[formatter]) do
|
local filetype = filetypes[i]
|
||||||
local filetype = formatters.defaults[formatter][i]
|
|
||||||
-- print(filetype)
|
|
||||||
languages[filetype] = languages[filetype] or {}
|
languages[filetype] = languages[filetype] or {}
|
||||||
table.insert(languages[filetype], { [formatter] = formatters[formatter] })
|
table.insert(languages[filetype], formatters[formatter])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- print(vim.inspect(languages))
|
-- print(vim.inspect(languages))
|
||||||
|
-- print(vim.inspect(languages['javascript']['prettier']))
|
||||||
|
|
||||||
return {
|
return {
|
||||||
init_options = { documentFormatting = true, codeAction = true },
|
init_options = { documentFormatting = true, codeAction = true },
|
||||||
|
@ -108,6 +94,6 @@ return {
|
||||||
or util.root_pattern('.eslintrc.js')(fname)
|
or util.root_pattern('.eslintrc.js')(fname)
|
||||||
or util.root_pattern('tsconfig.json')(fname)
|
or util.root_pattern('tsconfig.json')(fname)
|
||||||
end,
|
end,
|
||||||
filetype_defaults = vim.tbl_keys(filetype_defaults),
|
filetypes = vim.tbl_keys(filetype_defaults),
|
||||||
settings = { languages = languages },
|
settings = { languages = languages },
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,15 +26,19 @@ local requested_servers = {
|
||||||
'jsonls',
|
'jsonls',
|
||||||
'cssls',
|
'cssls',
|
||||||
'html',
|
'html',
|
||||||
-- 'intelephense',
|
|
||||||
-- 'pyright',
|
|
||||||
-- 'gopls',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-- add servers set in config to requested_servers table
|
-- get disabled servers from config
|
||||||
for config_server in pairs(config.lsp.servers) do
|
local disabled_servers = {}
|
||||||
if requested_servers[config_server] == nil then
|
if config.lsp and config.lsp.servers then
|
||||||
table.insert(requested_servers, config_server)
|
for config_server, config_opt in pairs(config.lsp.servers) do
|
||||||
|
if config_opt == false then
|
||||||
|
for server in pairs(requested_servers) do
|
||||||
|
if (requested_servers[server] == config_server) then
|
||||||
|
table.insert(disabled_servers, requested_servers[server])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -51,14 +55,16 @@ for server in pairs(requested_servers) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[ Auto-format *.rs (rust) files prior to saving them
|
-- print(vim.inspect(requested_servers))
|
||||||
autocmd BufWritePre *.rs lua vim.lsp.buf.formatting_sync(nil, 1000) ]]
|
-- print(vim.inspect(disabled_servers))
|
||||||
|
|
||||||
lsp_installer.on_server_ready(function(server)
|
lsp_installer.on_server_ready(function(server)
|
||||||
local opts = default_config
|
local opts = default_config
|
||||||
--[[ if config.lsp.servers[server.name] == nil then
|
|
||||||
|
opts.autostart = true
|
||||||
|
if vim.tbl_contains(disabled_servers, server.name) then
|
||||||
opts.autostart = false
|
opts.autostart = false
|
||||||
end ]]
|
end
|
||||||
|
|
||||||
if server.name == 'sumneko_lua' then
|
if server.name == 'sumneko_lua' then
|
||||||
opts = vim.tbl_deep_extend('force', opts, require('cosmic.lsp.providers.lua'))
|
opts = vim.tbl_deep_extend('force', opts, require('cosmic.lsp.providers.lua'))
|
||||||
|
|
Loading…
Add table
Reference in a new issue