local augroup = vim.api.nvim_create_augroup
local autocmd = vim.api.nvim_create_autocmd

-- Compile LaTeX on Save
autocmd("BufWritePost", {
  pattern = "*.tex",
  callback = function()
    vim.fn.jobstart({ "pdflatex", vim.fn.expand("%:p") }, { stdout_buffered = true, stderr_buffered = true })
  end,
})

-- Remove White Spaces on Save
autocmd("BufWritePre", {
	pattern = "*",
	callback = function()
		local currPos = vim.fn.getpos(".")
		vim.cmd([[%s/\s\+$//e]])
		vim.cmd([[%s/\n\+\%$//e]])
		vim.fn.cursor(currPos[2], currPos[3])
	end,
})

-- Stop Auto comemnting
vim.api.nvim_create_autocmd("BufEnter", {
  pattern = "*",
  callback = function()
    vim.opt.formatoptions:remove({ "r", "o" })
    vim.opt_local.formatoptions:remove({ "r", "o" })
  end,
})

-- let TabChars retain their assigned color
vim.api.nvim_create_autocmd({"BufEnter", "TabNew", "WinEnter"}, {
	pattern = "*",
	callback = function()
		vim.cmd("match TabChar /\t/")
	end
})