refactor: clean code
This commit is contained in:
@@ -1,22 +1,21 @@
|
||||
local fn, vim = vim.fn, vim
|
||||
local fmt = string.format
|
||||
|
||||
local function is_excluded(bufnr, settings)
|
||||
local excluded = true
|
||||
excluded = excluded and fn.buflisted(bufnr) == 0
|
||||
excluded = excluded or fn.getbufvar(bufnr, '&filetype') == 'qf'
|
||||
excluded = excluded and vim.fn.buflisted(bufnr) == 0
|
||||
excluded = excluded or vim.fn.getbufvar(bufnr, '&filetype') == 'qf'
|
||||
if settings.exclude_terminal then
|
||||
excluded = excluded or fn.getbufvar(bufnr, '&buftype') == 'terminal'
|
||||
excluded = excluded or vim.fn.getbufvar(bufnr, '&buftype') == 'terminal'
|
||||
end
|
||||
return excluded
|
||||
end
|
||||
|
||||
local function get_head(path, tail)
|
||||
local result = fn.fnamemodify(path, ':p')
|
||||
local result = vim.fn.fnamemodify(path, ':p')
|
||||
for i = 1, #vim.split(tail, '/') do
|
||||
result = fn.fnamemodify(result, ':h')
|
||||
result = vim.fn.fnamemodify(result, ':h')
|
||||
end
|
||||
return fn.fnamemodify(result, ':t')
|
||||
return vim.fn.fnamemodify(result, ':t')
|
||||
end
|
||||
|
||||
local function unique_tail(buffers)
|
||||
@@ -35,7 +34,7 @@ local function unique_tail(buffers)
|
||||
end
|
||||
for _, buffer in ipairs(buffers) do
|
||||
if hist[buffer.name] > 1 then
|
||||
local parent = get_head(fn.bufname(buffer.bufnr), buffer.name)
|
||||
local parent = get_head(vim.fn.bufname(buffer.bufnr), buffer.name)
|
||||
buffer.name = fmt('%s/%s', parent, buffer.name)
|
||||
end
|
||||
end
|
||||
@@ -71,16 +70,16 @@ end
|
||||
|
||||
local function get_buffers(settings)
|
||||
local buffers = {}
|
||||
for nr = 1, fn.bufnr('$') do
|
||||
for nr = 1, vim.fn.bufnr('$') do
|
||||
if not is_excluded(nr, settings) then
|
||||
table.insert(buffers, {
|
||||
bufnr = nr,
|
||||
name = fn.fnamemodify(fn.bufname(nr), ':t'),
|
||||
current = nr == fn.bufnr('%'),
|
||||
name = vim.fn.fnamemodify(vim.fn.bufname(nr), ':t'),
|
||||
current = nr == vim.fn.bufnr('%'),
|
||||
flags = {
|
||||
modified = fn.getbufvar(nr, '&modified') == 1,
|
||||
modifiable = fn.getbufvar(nr, '&modifiable') == 1,
|
||||
readonly = fn.getbufvar(nr, '&readonly') == 1,
|
||||
modified = vim.fn.getbufvar(nr, '&modified') == 1,
|
||||
modifiable = vim.fn.getbufvar(nr, '&modifiable') == 1,
|
||||
readonly = vim.fn.getbufvar(nr, '&readonly') == 1,
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user