38 lines
902 B
Lua
38 lines
902 B
Lua
vim.cmd([[set runtimepath=$VIMRUNTIME]])
|
|
vim.opt.runtimepath:append('.')
|
|
vim.opt.packpath = {}
|
|
vim.opt.loadplugins = false
|
|
|
|
require('preview.commands').setup()
|
|
|
|
vim.fn.serverstart('/tmp/nvim-preview.sock')
|
|
|
|
local synctex_pdf = {}
|
|
vim.api.nvim_create_autocmd('User', {
|
|
pattern = 'PreviewCompileSuccess',
|
|
callback = function(args)
|
|
synctex_pdf[args.data.bufnr] = args.data.output
|
|
end,
|
|
})
|
|
|
|
vim.g.preview = {
|
|
latex = {
|
|
open = { 'okular', '--unique' },
|
|
output = function(ctx)
|
|
return vim.fn.fnamemodify(ctx.file, ':h')
|
|
.. '/build/'
|
|
.. vim.fn.fnamemodify(ctx.file, ':t:r')
|
|
.. '.pdf'
|
|
end,
|
|
},
|
|
}
|
|
|
|
vim.keymap.set('n', '<leader>s', function()
|
|
local pdf = synctex_pdf[vim.api.nvim_get_current_buf()]
|
|
if pdf then
|
|
vim.fn.jobstart({
|
|
'okular', '--unique',
|
|
('%s#src:%d:%s'):format(pdf, vim.fn.line('.'), vim.fn.expand('%:p')),
|
|
})
|
|
end
|
|
end)
|