-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit.lua
41 lines (38 loc) · 1.01 KB
/
init.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
41
local vim = vim
local api = vim.api
local opt = vim.opt
opt.relativenumber = true
opt.foldenable = false
opt.foldmethod = "expr"
opt.foldexpr = "nvim_treesitter#foldexpr()"
-- Does not work unless is a callback
local foldCallback = function()
vim.schedule(function()
vim.cmd("normal zR")
end)
end
local treesitterFoldGroup = api.nvim_create_augroup("TreesitterOpenFolds", { clear = true })
api.nvim_create_autocmd({ "BufReadPost", "FileReadPost" }, {
pattern = "*",
group = treesitterFoldGroup,
callback = foldCallback,
})
local autoformatGroup = api.nvim_create_augroup("Autoformat", { clear = true })
local setNoAutoFmtCallback = function()
vim.b.noAutoFmt = true
end
api.nvim_create_autocmd("FileType", {
pattern = "yaml",
group = autoformatGroup,
callback = setNoAutoFmtCallback,
})
local autoFmtCallback = function()
if not vim.b.noAutoFmt then
vim.lsp.buf.format()
end
end
api.nvim_create_autocmd("BufWritePre", {
pattern = "*",
group = autoformatGroup,
callback = autoFmtCallback,
})