From 787db424e320cdd0830e36c1f52e1e6f705a10f5 Mon Sep 17 00:00:00 2001 From: Fabian David Schmidt <39233597+fdschmidt93@users.noreply.github.com> Date: Tue, 9 Aug 2022 11:45:06 +0200 Subject: [PATCH] fix(buffer_previewer): bypass path validation for terminal buffers (#2117) --- lua/telescope/previewers/buffer_previewer.lua | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lua/telescope/previewers/buffer_previewer.lua b/lua/telescope/previewers/buffer_previewer.lua index f0496ac..2c2ce8d 100644 --- a/lua/telescope/previewers/buffer_previewer.lua +++ b/lua/telescope/previewers/buffer_previewer.lua @@ -462,13 +462,18 @@ previewers.vimgrep = defaulter(function(opts) end, define_preview = function(self, entry, status) - local p = from_entry.path(entry, true) - if p == nil or p == "" then - return + -- bypass path validation for terminal buffers that don't have appropriate path + local has_buftype = vim.api.nvim_buf_get_option(entry.bufnr, "buftype") ~= "" + local p + if not has_buftype then + p = from_entry.path(entry, true) + if p == nil or p == "" then + return + end end -- Workaround for unnamed buffer when using builtin.buffer - if entry.bufnr and (p == "[No Name]" or vim.api.nvim_buf_get_option(entry.bufnr, "buftype") ~= "") then + if entry.bufnr and (p == "[No Name]" or has_buftype) then local lines = vim.api.nvim_buf_get_lines(entry.bufnr, 0, -1, false) vim.api.nvim_buf_set_lines(self.state.bufnr, 0, -1, false, lines) jump_to_line(self, self.state.bufnr, entry.lnum)