summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorrelnod <mail@paul-schiffers.de>2021-01-19 18:33:18 +0100
committerGitHub <noreply@github.com>2021-01-19 18:33:18 +0100
commit36783845e446251f84ccb0bacb053e74c7fbd825 (patch)
tree57cdac91d699a53b7699caf5c454700d654a0387 /lua
parentd75d9ae4281ca433e00f00904fc9fd2019775a3e (diff)
feat: add ignore_current_buffer opt to builtin buffers (#444)
Diffstat (limited to 'lua')
-rw-r--r--lua/telescope/builtin/internal.lua16
1 files changed, 11 insertions, 5 deletions
diff --git a/lua/telescope/builtin/internal.lua b/lua/telescope/builtin/internal.lua
index 434ae78..d7b97fe 100644
--- a/lua/telescope/builtin/internal.lua
+++ b/lua/telescope/builtin/internal.lua
@@ -472,10 +472,16 @@ end
internal.buffers = function(opts)
local bufnrs = filter(function(b)
- return
- (opts.show_all_buffers
- or vim.api.nvim_buf_is_loaded(b))
- and 1 == vim.fn.buflisted(b)
+ if 1 ~= vim.fn.buflisted(b) then
+ return false
+ end
+ if not opts.show_all_buffers and not vim.api.nvim_buf_is_loaded(b) then
+ return false
+ end
+ if opts.ignore_current_buffer and b == vim.api.nvim_get_current_buf() then
+ return false
+ end
+ return true
end, vim.api.nvim_list_bufs())
if not next(bufnrs) then return end
@@ -484,7 +490,7 @@ internal.buffers = function(opts)
for _, bufnr in ipairs(bufnrs) do
local flag = bufnr == vim.fn.bufnr('') and '%' or (bufnr == vim.fn.bufnr('#') and '#' or ' ')
- if opts.sort_lastused and flag == "#" then
+ if opts.sort_lastused and not opts.ignore_current_buffer and flag == "#" then
default_selection_idx = 2
end