diff options
Diffstat (limited to 'lua/telescope/builtin.lua')
| -rw-r--r-- | lua/telescope/builtin.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua index 75421e0..112054d 100644 --- a/lua/telescope/builtin.lua +++ b/lua/telescope/builtin.lua @@ -22,6 +22,7 @@ local pickers = require('telescope.pickers') local sorters = require('telescope.sorters') local utils = require('telescope.utils') +local filter = vim.tbl_filter local flatten = vim.tbl_flatten -- TODO: Support silver search here. @@ -340,4 +341,26 @@ builtin.fd = function(opts) }):find() end +-- TODO: This is partially broken, but I think it might be an nvim bug. +builtin.buffers = function(opts) + opts = opts or {} + + local buffers = filter(function(b) + return + vim.api.nvim_buf_is_loaded(b) + and 1 == vim.fn.buflisted(b) + + end, vim.api.nvim_list_bufs()) + + pickers.new(opts, { + prompt = 'Buffers', + finder = finders.new_table { + results = buffers, + entry_maker = make_entry.gen_from_buffer(opts) + }, + previewer = previewers.vim_buffer.new(opts), + sorter = sorters.get_norcalli_sorter(), + }):find() +end + return builtin |
