fix(lsp): set auto format on save autocmd to buffer
This commit is contained in:
parent
bd108bb7e9
commit
988ab6b580
2 changed files with 10 additions and 10 deletions
|
@ -17,24 +17,24 @@ function M.on_attach(client, bufnr)
|
||||||
vim.cmd(string.format("command! LspFormat lua require('cosmic.utils.lsp').format(%s)", bufnr))
|
vim.cmd(string.format("command! LspFormat lua require('cosmic.utils.lsp').format(%s)", bufnr))
|
||||||
|
|
||||||
-- set up auto format on save
|
-- set up auto format on save
|
||||||
if user_config.lsp.format_on_save and user_config.lsp.can_client_format(client) then
|
if user_config.lsp.format_on_save then
|
||||||
-- check user config to see if we can format on save
|
-- check user config to see if we can format on save
|
||||||
-- collect filetype(s) from user config
|
-- collect filetype(s) from user config
|
||||||
local format_filetypes = ''
|
local filetype_pattern = ''
|
||||||
if vim.tbl_islist(user_config.lsp.format_on_save) then
|
if vim.tbl_islist(user_config.lsp.format_on_save) then
|
||||||
for _, ft in pairs(user_config.lsp.format_on_save) do
|
for _, ft in pairs(user_config.lsp.format_on_save) do
|
||||||
format_filetypes = format_filetypes .. '*' .. ft
|
filetype_pattern = filetype_pattern .. '*' .. ft
|
||||||
end
|
end
|
||||||
else -- any filetype if none set
|
else -- any filetype if none set
|
||||||
format_filetypes = '*'
|
filetype_pattern = '*'
|
||||||
end
|
end
|
||||||
|
|
||||||
-- autocommand for format on save with specified filetype(s)
|
-- autocommand for format on save with specified filetype(s)
|
||||||
vim.api.nvim_create_autocmd('BufWritePre', {
|
vim.api.nvim_create_autocmd(string.format('BufWritePre %s', filetype_pattern), {
|
||||||
callback = function(evt)
|
callback = function()
|
||||||
require('cosmic.utils.lsp').format(evt.buf)
|
require('cosmic.utils.lsp').format()
|
||||||
end,
|
end,
|
||||||
pattern = format_filetypes,
|
buffer = bufnr,
|
||||||
group = group,
|
group = group,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,10 +2,10 @@ local user_config = require('cosmic.core.user')
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
-- format current buffer w/user settings
|
-- format current buffer w/user settings
|
||||||
function M.format(bufnr)
|
function M.format()
|
||||||
vim.lsp.buf.format({
|
vim.lsp.buf.format({
|
||||||
timeout_ms = user_config.lsp.format_timeout,
|
timeout_ms = user_config.lsp.format_timeout,
|
||||||
bufnr = bufnr or 0,
|
filter = user_config.lsp.can_client_format,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue