feat: Adds shorten_path, show_all_buffers opts and fixes alignment (buffers builtin) (#32)

This commit is contained in:
Simon Hauser
2020-09-12 23:07:37 +02:00
committed by GitHub
parent 3a9b25e6bf
commit 4852d027d0
4 changed files with 54 additions and 24 deletions

View File

@@ -233,6 +233,15 @@ require'telescope.builtin'.command_history{}
Search the vim command history.
```lua
require'telescope.builtin'.buffers{
-- Optional
-- show_all_buffers = true -- Show unloaded buffers aswell
}
```
Search on vim buffers list.
#### LSP
```lua

View File

@@ -83,6 +83,7 @@ local function goto_file_selection(prompt_bufnr, command)
-- TODO: Sometimes we open something with missing line numbers and stuff...
if entry_bufnr then
a.nvim_win_set_buf(original_win_id, entry_bufnr)
vim.api.nvim_command("doautocmd filetypedetect BufRead " .. vim.fn.fnameescape(filename))
else
vim.cmd(string.format(":%s %s", command, filename))

View File

@@ -406,11 +406,17 @@ builtin.buffers = function(opts)
local buffers = filter(function(b)
return
vim.api.nvim_buf_is_loaded(b)
(opts.show_all_buffers
or vim.api.nvim_buf_is_loaded(b))
and 1 == vim.fn.buflisted(b)
end, vim.api.nvim_list_bufs())
if not opts.bufnr_width then
local max_bufnr = math.max(unpack(buffers))
opts.bufnr_width = #tostring(max_bufnr)
end
pickers.new(opts, {
prompt = 'Buffers',
finder = finders.new_table {

View File

@@ -180,6 +180,8 @@ function make_entry.gen_from_quickfix(opts)
end
function make_entry.gen_from_buffer(opts)
opts = opts or {}
local get_position = function(entry)
local tabpage_wins = vim.api.nvim_tabpage_list_wins(0)
for k, v in ipairs(tabpage_wins) do
@@ -191,6 +193,18 @@ function make_entry.gen_from_buffer(opts)
return {}
end
local make_display = function(entry)
local display_bufname
if opts.shorten_path then
display_bufname = utils.path_shorten(entry.filename)
else
display_bufname = entry.filename
end
return string.format("%" .. opts.bufnr_width .. "d : %s",
entry.bufnr, display_bufname)
end
return function(entry)
local bufnr_str = tostring(entry)
local bufname = vim.api.nvim_buf_get_name(entry)
@@ -206,7 +220,7 @@ function make_entry.gen_from_buffer(opts)
value = bufname,
ordinal = bufnr_str .. " : " .. bufname,
display = bufnr_str .. " : " .. bufname,
display = make_display,
bufnr = entry,
filename = bufname,