1
0
mirror of https://github.com/tiyn/dotfiles.git synced 2025-11-24 14:59:46 +01:00
Files
dotfiles/.config/nvim/lua/plugins/knap.lua

56 lines
1.6 KiB
Lua

return {
{
'frabjous/knap',
ft = { 'tex' },
config = function()
local function detect_engine()
local first_line = vim.api.nvim_buf_get_lines(0, 0, 1, false)[1] or ""
if first_line:match("^%%%s*xelatex") then
return "xelatex"
else
return "pdflatex"
end
end
local function set_engine()
local engine = detect_engine()
if engine == "xelatex" then
vim.g.knap_settings.textopdf =
"xelatex -synctex=1 -interaction=batchmode %docroot%"
else
vim.g.knap_settings.textopdf =
"pdflatex -synctex=1 -interaction=batchmode %docroot%"
end
end
vim.g.knap_settings = {
delay = 100,
texoutputext = "pdf",
textopdf = "xelatex -synctex=1 -interaction=batchmode %docroot%",
textopdfviewerlaunch =
"zathura --synctex-editor-command 'nvim --headless -es --cmd \"lua require('\"'\"'knaphelper'\"'\"').relayjump('\"'\"'%servername%'\"'\"','\"'\"'%{input}'\"'\"',%{line},0)\"' ./%outputfile%",
textopdfviewerrefresh = "reload",
textopdfforwardjump =
"zathura --synctex-forward=%line%:%column%:%srcfile% %outputfile%",
}
vim.api.nvim_create_autocmd("User", {
pattern = "KnapShowView",
callback = set_engine
})
vim.api.nvim_create_autocmd("User", {
pattern = "KnapCompile",
callback = set_engine
})
vim.api.nvim_create_autocmd("BufWritePost", {
pattern = "*.tex",
callback = set_engine
})
end
}
}