diff options
| author | Simon Hauser <Simon-Hauser@outlook.de> | 2021-07-19 09:10:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-19 09:10:06 +0200 |
| commit | 46e03a935f1d080a9bd856d5a8acfcc093cd1461 (patch) | |
| tree | 1ad21f773c357fede0a344b1ed06a676e7fde86b /lua/telescope/builtin | |
| parent | 8c3f2b630be0241fe10709e61ee9dab473518f32 (diff) | |
feat: sort_mru for builtin buffers (#1028)
:help builtin.buffers
Diffstat (limited to 'lua/telescope/builtin')
| -rw-r--r-- | lua/telescope/builtin/init.lua | 3 | ||||
| -rw-r--r-- | lua/telescope/builtin/internal.lua | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lua/telescope/builtin/init.lua b/lua/telescope/builtin/init.lua index 0c2c461..0bb1dc3 100644 --- a/lua/telescope/builtin/init.lua +++ b/lua/telescope/builtin/init.lua @@ -248,7 +248,8 @@ builtin.reloader = require('telescope.builtin.internal').reloader ---@field show_all_buffers boolean: if true, show all buffers, including unloaded buffers (default true) ---@field ignore_current_buffer boolean: if true, don't show the current buffer in the list (default false) ---@field only_cwd boolean: if true, only show buffers in the current working directory (default false) ----@field sort_lastused boolean: if true, sort the shown buffers so that the last used one is selected (default false) +---@field sort_lastused boolean: Sorts current and last buffer to the top and selects the lastused (default false) +---@field sort_mru boolean: Sorts all buffers after most recent used. Not just the current and last one (default false) ---@field bufnr_width number: Defines the width of the buffer numbers in front of the filenames builtin.buffers = require('telescope.builtin.internal').buffers diff --git a/lua/telescope/builtin/internal.lua b/lua/telescope/builtin/internal.lua index a874016..ad6293c 100644 --- a/lua/telescope/builtin/internal.lua +++ b/lua/telescope/builtin/internal.lua @@ -593,6 +593,11 @@ internal.buffers = function(opts) return true end, vim.api.nvim_list_bufs()) if not next(bufnrs) then return end + if opts.sort_mru then + table.sort(bufnrs, function(a, b) + return vim.fn.getbufinfo(a)[1].lastused > vim.fn.getbufinfo(b)[1].lastused + end) + end local buffers = {} local default_selection_idx = 1 |
