diff options
| author | Simon Hauser <Simon-Hauser@outlook.de> | 2020-09-12 23:07:37 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-12 17:07:37 -0400 |
| commit | 4852d027d01f278b6273b4c118bea99ba7155ba5 (patch) | |
| tree | 6280b78bf2a487e4b05deccda1d6c6681ddfb553 /lua | |
| parent | 3a9b25e6bf49e24794cfb06d1a2e2585f8de2ca9 (diff) | |
feat: Adds shorten_path, show_all_buffers opts and fixes alignment (buffers builtin) (#32)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/telescope/actions.lua | 1 | ||||
| -rw-r--r-- | lua/telescope/builtin.lua | 10 | ||||
| -rw-r--r-- | lua/telescope/make_entry.lua | 16 |
3 files changed, 24 insertions, 3 deletions
diff --git a/lua/telescope/actions.lua b/lua/telescope/actions.lua index f4a29e5..0f890de 100644 --- a/lua/telescope/actions.lua +++ b/lua/telescope/actions.lua @@ -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)) diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua index 1c3c629..a14c08a 100644 --- a/lua/telescope/builtin.lua +++ b/lua/telescope/builtin.lua @@ -404,13 +404,19 @@ builtin.fd = builtin.find_files builtin.buffers = function(opts) opts = opts or {} - local buffers = filter(function(b) + 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 { diff --git a/lua/telescope/make_entry.lua b/lua/telescope/make_entry.lua index 3ae4de5..90562bd 100644 --- a/lua/telescope/make_entry.lua +++ b/lua/telescope/make_entry.lua @@ -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, |
