73 lines
1.6 KiB
Lua
73 lines
1.6 KiB
Lua
-- Enable Tree-Sitter
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = {
|
|
"c",
|
|
"html",
|
|
"javascript",
|
|
"jsx",
|
|
"lua",
|
|
"markdown",
|
|
"python",
|
|
"toml",
|
|
"tsx",
|
|
"typescript",
|
|
"vim",
|
|
"xml",
|
|
"yaml",
|
|
"go",
|
|
"gomod",
|
|
"gosum",
|
|
},
|
|
callback = function()
|
|
vim.treesitter.start()
|
|
end,
|
|
})
|
|
|
|
-- Disable LSP Semantic Tokens
|
|
vim.api.nvim_create_autocmd("LspAttach", {
|
|
callback = function(args)
|
|
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
|
if client and client.server_capabilities.semanticTokensProvider then
|
|
client.server_capabilities.semanticTokensProvider = nil
|
|
end
|
|
end,
|
|
})
|
|
|
|
-- Auto insert mode on TermOpen
|
|
vim.api.nvim_create_autocmd({ "TermOpen", "BufEnter" }, {
|
|
pattern = { "*" },
|
|
callback = function()
|
|
if vim.opt.buftype:get() == "terminal" then
|
|
vim.cmd(":startinsert")
|
|
end
|
|
end,
|
|
})
|
|
|
|
-- vim-bujo auto commit & push on save
|
|
vim.api.nvim_create_augroup("BujoGit", { clear = true })
|
|
vim.api.nvim_create_autocmd("BufWritePost", {
|
|
group = "BujoGit",
|
|
pattern = vim.fn.expand("$HOME") .. "/.cache/bujo/*",
|
|
callback = function()
|
|
local filepath = vim.api.nvim_buf_get_name(0)
|
|
if filepath:match(vim.fn.expand("~/.cache/bujo/")) then
|
|
vim.fn.jobstart({
|
|
"sh",
|
|
"-c",
|
|
"cd ~/.cache/bujo && git add . && git commit -m 'Auto-update bujo files' && git push",
|
|
}, {
|
|
on_exit = function(_, code)
|
|
if code == 0 then
|
|
vim.schedule(function()
|
|
vim.notify("Bujo files committed and pushed", vim.log.levels.INFO)
|
|
end)
|
|
else
|
|
vim.schedule(function()
|
|
vim.notify("Error syncing bujo files", vim.log.levels.ERROR)
|
|
end)
|
|
end
|
|
end,
|
|
})
|
|
end
|
|
end,
|
|
})
|