[Buffers] Do not preview '[No Name]'

This commit is contained in:
Junegunn Choi
2023-09-06 18:25:39 +09:00
parent 2c501dc5a2
commit 7ba5be32bc

View File

@@ -253,6 +253,10 @@ function! s:strip(str)
return substitute(a:str, '^\s*\|\s*$', '', 'g')
endfunction
function! s:rstrip(str)
return substitute(a:str, '\s*$', '', 'g')
endfunction
function! s:chomp(str)
return substitute(a:str, '\n*$', '', 'g')
endfunction
@@ -764,14 +768,15 @@ endfunction
function! fzf#vim#_format_buffer(b)
let name = bufname(a:b)
let line = exists('*getbufinfo') ? getbufinfo(a:b)[0]['lnum'] : 0
let name = empty(name) ? '[No Name]' : fnamemodify(name, ":p:~:.")
let fullname = empty(name) ? '' : fnamemodify(name, ":p:~:.")
let dispname = empty(name) ? '[No Name]' : name
let flag = a:b == bufnr('') ? s:blue('%', 'Conditional') :
\ (a:b == bufnr('#') ? s:magenta('#', 'Special') : ' ')
let modified = getbufvar(a:b, '&modified') ? s:red(' [+]', 'Exception') : ''
let readonly = getbufvar(a:b, '&modifiable') ? '' : s:green(' [RO]', 'Constant')
let extra = join(filter([modified, readonly], '!empty(v:val)'), '')
let target = line == 0 ? name : name.':'.line
return s:strip(printf("%s\t%d\t[%s] %s\t%s\t%s", target, line, s:yellow(a:b, 'Number'), flag, name, extra))
let target = empty(name) ? '' : (line == 0 ? fullname : fullname.':'.line)
return s:rstrip(printf("%s\t%d\t[%s] %s\t%s\t%s", target, line, s:yellow(a:b, 'Number'), flag, dispname, extra))
endfunction
function! s:sort_buffers(...)