fix: Add nil checks for state when preview hasn't been initialized yet (#92)

This commit is contained in:
Corentin Brunel
2020-09-17 08:15:48 -04:00
committed by GitHub
parent 1865815687
commit 17ee4a96ff

View File

@@ -103,17 +103,35 @@ previewers.new_termopen_previewer = function(opts)
local old_bufs = {} local old_bufs = {}
local function get_term_id(self) return self.state.termopen_id end local function get_term_id(self)
local function get_bufnr(self) return self.state.termopen_bufnr end if not self.state then
return nil
end
return self.state.termopen_id
end
local function get_bufnr(self)
if not self.state then
return nil
end
return self.state.termopen_bufnr
end
local function set_term_id(self, value) local function set_term_id(self, value)
if job_is_running(get_term_id(self)) then vim.fn.jobstop(get_term_id(self)) end if job_is_running(get_term_id(self)) then
vim.fn.jobstop(get_term_id(self))
end
if self.state then
self.state.termopen_id = value self.state.termopen_id = value
end end
end
local function set_bufnr(self, value) local function set_bufnr(self, value)
if get_bufnr(self) then table.insert(old_bufs, get_bufnr(self)) end if get_bufnr(self) then table.insert(old_bufs, get_bufnr(self)) end
if self.state then
self.state.termopen_bufnr = value self.state.termopen_bufnr = value
end end
end
local function setup(self) local function setup(self)
local state = {} local state = {}
@@ -140,6 +158,7 @@ previewers.new_termopen_previewer = function(opts)
for _, bufnr in ipairs(old_bufs) do for _, bufnr in ipairs(old_bufs) do
buf_delete(bufnr) buf_delete(bufnr)
end end
end end
local function preview_fn(self, entry, status) local function preview_fn(self, entry, status)