From 17ee4a96ff500aa08f9f6d3080655a6776a1b73c Mon Sep 17 00:00:00 2001 From: Corentin Brunel Date: Thu, 17 Sep 2020 08:15:48 -0400 Subject: [PATCH] fix: Add nil checks for state when preview hasn't been initialized yet (#92) --- lua/telescope/previewers.lua | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/lua/telescope/previewers.lua b/lua/telescope/previewers.lua index abb59fb..2ad3130 100644 --- a/lua/telescope/previewers.lua +++ b/lua/telescope/previewers.lua @@ -103,16 +103,34 @@ previewers.new_termopen_previewer = function(opts) local old_bufs = {} - local function get_term_id(self) return self.state.termopen_id end - local function get_bufnr(self) return self.state.termopen_bufnr end + local function get_term_id(self) + 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) - if job_is_running(get_term_id(self)) then vim.fn.jobstop(get_term_id(self)) end - self.state.termopen_id = value + 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 + end end local function set_bufnr(self, value) if get_bufnr(self) then table.insert(old_bufs, get_bufnr(self)) end - self.state.termopen_bufnr = value + if self.state then + self.state.termopen_bufnr = value + end end local function setup(self) @@ -140,6 +158,7 @@ previewers.new_termopen_previewer = function(opts) for _, bufnr in ipairs(old_bufs) do buf_delete(bufnr) end + end local function preview_fn(self, entry, status)