35 lines
806 B
Lua
35 lines
806 B
Lua
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
|