From d75d9ae4281ca433e00f00904fc9fd2019775a3e Mon Sep 17 00:00:00 2001 From: Simon Hauser Date: Tue, 19 Jan 2021 18:28:47 +0100 Subject: fix: error message too many open files (#432) and buffer previewer still "erroring" out for builtin.buffers --- lua/telescope/path.lua | 5 ++++- lua/telescope/previewers/buffer_previewer.lua | 2 +- lua/telescope/previewers/term_previewer.lua | 6 +++++- 3 files changed, 10 insertions(+), 3 deletions(-) (limited to 'lua') diff --git a/lua/telescope/path.lua b/lua/telescope/path.lua index 972974e..0d17c1a 100644 --- a/lua/telescope/path.lua +++ b/lua/telescope/path.lua @@ -68,7 +68,10 @@ end path.read_file_async = function(filepath, callback) vim.loop.fs_open(filepath, "r", 438, function(err_open, fd) - assert(not err_open, err_open) + if err_open then + print("We tried to open this file but couldn't. We failed with following error message: " .. err_open) + return + end vim.loop.fs_fstat(fd, function(err_fstat, stat) assert(not err_fstat, err_fstat) if stat.type ~= 'file' then return callback('') end diff --git a/lua/telescope/previewers/buffer_previewer.lua b/lua/telescope/previewers/buffer_previewer.lua index 5bf9bcd..0fa910f 100644 --- a/lua/telescope/previewers/buffer_previewer.lua +++ b/lua/telescope/previewers/buffer_previewer.lua @@ -202,7 +202,7 @@ previewers.vimgrep = defaulter(function(_) end -- Workaround for unnamed buffer when using builtin.buffer - if p == '[No Name]' and entry.bufnr then + if entry.bufnr and (p == '[No Name]' or vim.api.nvim_buf_get_option(entry.bufnr, '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) diff --git a/lua/telescope/previewers/term_previewer.lua b/lua/telescope/previewers/term_previewer.lua index 1f24531..31ca495 100644 --- a/lua/telescope/previewers/term_previewer.lua +++ b/lua/telescope/previewers/term_previewer.lua @@ -259,7 +259,11 @@ previewers.vimgrep = defaulter(function(opts) local height = vim.api.nvim_win_get_height(win_id) local p = from_entry.path(entry, true) - if p == nil or p == '' or p == '[No Name]' then return end + if p == nil or p == '' then return end + if entry.bufnr and (p == '[No Name]' or vim.api.nvim_buf_get_option(entry.bufnr, 'buftype') ~= '') then + return + end + local lnum = entry.lnum or 0 local context = math.floor(height / 2) -- cgit v1.2.3