fix: open correct pdf file when previewing from nvim

This commit is contained in:
Max Hohlfeld 2023-07-18 09:18:40 +02:00
parent dc84e6baf0
commit d7a183d95b

View File

@ -3,14 +3,20 @@ local M = {}
local pdf_viewer_pid = 0 local pdf_viewer_pid = 0
local compile = function(file) local compile = function(file)
vim.fn.jobstart({ "compiledoc", file }, { return vim.fn.jobstart({ "compiledoc", file }, {
on_exit = function() print("Finished compiling.") end on_exit = function() print("Finished compiling.") end
}) })
end end
local file_exists = function(name)
local f=io.open(name,"r")
if f~=nil then io.close(f) return true else return false end
end
M.open_document_preview = function() M.open_document_preview = function()
local filename = vim.api.nvim_buf_get_name(0) local filename = vim.api.nvim_buf_get_name(0)
compile(filename) local compile_job = compile(filename)
vim.api.nvim_create_augroup("compileDoc", {}) vim.api.nvim_create_augroup("compileDoc", {})
@ -21,6 +27,17 @@ M.open_document_preview = function()
}) })
local pdf_filename = string.gsub(filename, "%..+$", ".pdf") local pdf_filename = string.gsub(filename, "%..+$", ".pdf")
vim.fn.jobwait({compile_job})
if not file_exists(pdf_filename) then
local scan = require'plenary.scandir'
local build_dir = scan.scan_dir({ '.', '..' }, { depth = 1, add_dirs = true, search_pattern = 'build' })
local result = scan.scan_dir(build_dir[1], { depth = 3, search_pattern = ".*%.pdf" })
pdf_filename = result[1]
end
pdf_viewer_pid = vim.fn.jobstart({ "zathura", pdf_filename }) pdf_viewer_pid = vim.fn.jobstart({ "zathura", pdf_filename })
end end