local M = {} local pdf_viewer_pid = 0 local compile = function(file) vim.fn.jobstart({ "compiledoc", file }, { on_exit = function() print("Finished compiling.") end }) end M.open_document_preview = function() local filename = vim.api.nvim_buf_get_name(0) compile(filename) vim.api.nvim_create_augroup("compileDoc", {}) vim.api.nvim_create_autocmd("BufWritePost", { group = "compileDoc", pattern = { "*.tex", "*.md" }, callback = function() compile(filename) end }) local pdf_filename = string.gsub(filename, "%..+$", ".pdf") pdf_viewer_pid = vim.fn.jobstart({ "zathura", pdf_filename }) end M.close_document_preview = function() vim.api.nvim_del_augroup_by_name("compileDoc") if (pdf_viewer_pid ~= 0) then vim.fn.jobstop(pdf_viewer_pid) end end return M