-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathautocmds.lua
40 lines (34 loc) · 1006 Bytes
/
autocmds.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
local M = {}
local augroup = vim.api.nvim_create_augroup('Format', {})
M.enable_format_on_save = function(_, bufnr)
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
vim.api.nvim_create_autocmd('BufWritePre', {
group = augroup,
buffer = bufnr,
callback = function()
vim.lsp.buf.format({ bufnr = bufnr })
end,
})
end
local augroup_lsp_format = vim.api.nvim_create_augroup('LspFormat', {})
M.enable_lsp_format_on_save = function(_, bufnr)
vim.api.nvim_clear_autocmds({ group = augroup_lsp_format, buffer = bufnr })
vim.api.nvim_create_autocmd('BufWritePre', {
group = augroup_lsp_format,
buffer = bufnr,
callback = function()
vim.lsp.buf.format({
filter = function(client)
return client.name == 'null-ls'
end
})
end
})
end
vim.api.nvim_create_user_command('DisableLspFormat',
function()
vim.api.nvim_clear_autocmds({ group = augroup_lsp_format, buffer = 0 })
end,
{ nargs = 0 }
)
return M