diff options
| author | relnod <mail@paul-schiffers.de> | 2021-01-19 18:33:18 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-19 18:33:18 +0100 |
| commit | 36783845e446251f84ccb0bacb053e74c7fbd825 (patch) | |
| tree | 57cdac91d699a53b7699caf5c454700d654a0387 /lua | |
| parent | d75d9ae4281ca433e00f00904fc9fd2019775a3e (diff) | |
feat: add ignore_current_buffer opt to builtin buffers (#444)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/telescope/builtin/internal.lua | 16 |
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 |
