mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 01:50:05 +08:00
Fix location list statusline (#3653)
This commit is contained in:
parent
bea44f4b60
commit
c0dd1c3f05
@ -124,6 +124,16 @@ function! s:self.setbufvar(buf, dict) abort
|
|||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:self.get_qf_winnr() abort
|
||||||
|
let wins = filter(getwininfo(), 'v:val.quickfix && !v:val.loclist')
|
||||||
|
" assert(len(wins) <= 1)
|
||||||
|
return empty(wins) ? 0 : wins[0].winnr
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:self.is_qf_win(winnr) abort
|
||||||
|
return a:winnr ==# self.get_qf_winnr()
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! SpaceVim#api#vim#get() abort
|
function! SpaceVim#api#vim#get() abort
|
||||||
return deepcopy(s:self)
|
return deepcopy(s:self)
|
||||||
endfunction
|
endfunction
|
||||||
|
@ -27,6 +27,7 @@ let s:STATUSLINE = SpaceVim#api#import('vim#statusline')
|
|||||||
let s:VIMCOMP = SpaceVim#api#import('vim#compatible')
|
let s:VIMCOMP = SpaceVim#api#import('vim#compatible')
|
||||||
let s:SYSTEM = SpaceVim#api#import('system')
|
let s:SYSTEM = SpaceVim#api#import('system')
|
||||||
let s:ICON = SpaceVim#api#import('unicode#icon')
|
let s:ICON = SpaceVim#api#import('unicode#icon')
|
||||||
|
let s:VIM = SpaceVim#api#import('vim')
|
||||||
|
|
||||||
" init
|
" init
|
||||||
let s:separators = {
|
let s:separators = {
|
||||||
@ -367,6 +368,7 @@ function! SpaceVim#layers#core#statusline#get(...) abort
|
|||||||
\ . ' vimfiler %#SpaceVim_statusline_b_SpaceVim_statusline_c#'
|
\ . ' vimfiler %#SpaceVim_statusline_b_SpaceVim_statusline_c#'
|
||||||
\ . s:lsep
|
\ . s:lsep
|
||||||
elseif &filetype ==# 'qf'
|
elseif &filetype ==# 'qf'
|
||||||
|
if s:VIM.is_qf_win(winnr())
|
||||||
return '%#SpaceVim_statusline_ia#'
|
return '%#SpaceVim_statusline_ia#'
|
||||||
\ . s:winnr(1)
|
\ . s:winnr(1)
|
||||||
\ . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep
|
\ . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep
|
||||||
@ -377,6 +379,19 @@ function! SpaceVim#layers#core#statusline#get(...) abort
|
|||||||
\ '%#SpaceVim_statusline_c#'
|
\ '%#SpaceVim_statusline_c#'
|
||||||
\ . getqflist({'title' : 0}).title . '%#SpaceVim_statusline_c_SpaceVim_statusline_z#' . s:lsep
|
\ . getqflist({'title' : 0}).title . '%#SpaceVim_statusline_c_SpaceVim_statusline_z#' . s:lsep
|
||||||
\ ) : '')
|
\ ) : '')
|
||||||
|
else
|
||||||
|
return '%#SpaceVim_statusline_ia#'
|
||||||
|
\ . s:winnr(1)
|
||||||
|
\ . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep
|
||||||
|
\ . '%#SpaceVim_statusline_b#'
|
||||||
|
\ . ' Location List %#SpaceVim_statusline_b_SpaceVim_statusline_c#'
|
||||||
|
\ . s:lsep
|
||||||
|
\ . ( has('patch-8.0.1384') ? ((getloclist(winnr(),{'title' : 0}).title ==# ':setloclist()') ? '' :
|
||||||
|
\ '%#SpaceVim_statusline_c#'
|
||||||
|
\ . getloclist(winnr(),{'title' : 0}).title . '%#SpaceVim_statusline_c_SpaceVim_statusline_z#' . s:lsep
|
||||||
|
\ ) : '')
|
||||||
|
|
||||||
|
endif
|
||||||
elseif &filetype ==# 'defx'
|
elseif &filetype ==# 'defx'
|
||||||
return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep
|
return '%#SpaceVim_statusline_ia#' . s:winnr(1) . '%#SpaceVim_statusline_ia_SpaceVim_statusline_b#' . s:lsep
|
||||||
\ . '%#SpaceVim_statusline_b# defx %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' '
|
\ . '%#SpaceVim_statusline_b# defx %#SpaceVim_statusline_b_SpaceVim_statusline_c#' . s:lsep . ' '
|
||||||
|
Loading…
Reference in New Issue
Block a user