summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorFabian David Schmidt <39233597+fdschmidt93@users.noreply.github.com>2022-08-09 11:45:06 +0200
committerGitHub <noreply@github.com>2022-08-09 11:45:06 +0200
commit787db424e320cdd0830e36c1f52e1e6f705a10f5 (patch)
tree96f023837275a71874da31354b0a2a0a0d6b19e7 /lua
parent4725867ec66b9a0f5e5ad95a1fd94c2f97fa2d2c (diff)
fix(buffer_previewer): bypass path validation for terminal buffers (#2117)
Diffstat (limited to '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)