From c70d6e58a0ab09db1ee57aded0695d350db2dd83 Mon Sep 17 00:00:00 2001 From: TJ DeVries Date: Sat, 5 Sep 2020 07:34:38 -0400 Subject: feat: add buffer list (#30) NOTE: Buffer entry sometimes uses unstyled window, and I can't figure out why. * feat: add buffers * fixup --- lua/telescope/builtin.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'lua/telescope/builtin.lua') 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 -- cgit v1.2.3