From eb75112aece56766a9d38f2f3b5b3338064d9b87 Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Sun, 9 Aug 2020 21:49:24 +0800 Subject: [PATCH] Add support for mouse click on tabline (#3695) --- autoload/SpaceVim/layers/core/tabline.vim | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/autoload/SpaceVim/layers/core/tabline.vim b/autoload/SpaceVim/layers/core/tabline.vim index e0b61cc38..676786cfc 100644 --- a/autoload/SpaceVim/layers/core/tabline.vim +++ b/autoload/SpaceVim/layers/core/tabline.vim @@ -174,6 +174,7 @@ function! SpaceVim#layers#core#tabline#get() abort endfor endif endif + let s:shown_items = shown_items let t = '' if current_tabnr == shown_items[0].tabnr if getbufvar(shown_items[0].bufnr, '&modified', 0) @@ -184,7 +185,13 @@ function! SpaceVim#layers#core#tabline#get() abort else let t = '%#SpaceVim_tabline_b# ' endif + let index = 1 for item in shown_items + if has('tablineat') + let t .= '%' . index . '@SpaceVim#layers#core#tabline#jump@' + endif + let t .= s:wrap_id(index) + let index += 1 let t .= item.bufname if item.tabnr == current_tabnr - 1 let t .= ' %#SpaceVim_tabline_b_SpaceVim_tabline_a#' . s:lsep . '%#SpaceVim_tabline_a# ' @@ -385,11 +392,10 @@ endfunction function! SpaceVim#layers#core#tabline#jump(id, ...) abort if len(s:shown_items) >= a:id let item = s:shown_items[a:id - 1] - let mouse = get(a:000, 2, '') + let mouse = get(a:000, 1, '') if tabpagenr('$') > 1 if mouse ==# 'm' - exe 'tabnext' . item.tabnr - quit + exe 'tabclose ' . item.tabnr elseif mouse ==# 'l' exe 'tabnext' . item.tabnr else