summaryrefslogtreecommitdiff
path: root/lua/telescope/previewers/buffer_previewer.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/telescope/previewers/buffer_previewer.lua')
-rw-r--r--lua/telescope/previewers/buffer_previewer.lua13
1 files 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)