summaryrefslogtreecommitdiff
path: root/lua/telescope/builtin.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-09-05 07:34:38 -0400
committerGitHub <noreply@github.com>2020-09-05 07:34:38 -0400
commitc70d6e58a0ab09db1ee57aded0695d350db2dd83 (patch)
tree7215ab223c65788c9218923f6c7ee0c61550991c /lua/telescope/builtin.lua
parent4abb5f7867fb087aa69bcd49d40537609a1e2e46 (diff)
feat: add buffer list (#30)
NOTE: Buffer entry sometimes uses unstyled window, and I can't figure out why. * feat: add buffers * fixup
Diffstat (limited to 'lua/telescope/builtin.lua')
-rw-r--r--lua/telescope/builtin.lua23
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