Add winnr segment

Closes #705
This commit is contained in:
ZyX 2014-08-03 13:23:13 +04:00
parent f877516e54
commit 120a9cc8fa
3 changed files with 19 additions and 0 deletions

View File

@ -15,6 +15,7 @@
"single_tab": "line_current",
"many_tabs": "line_current",
"bufnr": "information:unimportant",
"winnr": "information:unimportant",
"tabnr": "file_directory"
}
}

View File

@ -516,6 +516,18 @@ def bufnr(pl, segment_info, show_current=False):
return str(bufnr)
@requires_segment_info
def winnr(pl, segment_info, show_current=False):
'''Show window number
:param bool show_current:
If False do not show current window number.
'''
winnr = segment_info['winnr']
if show_current or winnr != vim.current.window.number:
return str(winnr)
def single_tab(pl, single_text='Bufs', multiple_text='Tabs'):
'''Show one text if there is only one tab and another if there are many

View File

@ -799,6 +799,12 @@ class TestVim(TestCase):
self.assertEqual(vim.bufnr(pl=pl, segment_info=segment_info, show_current=True), str(segment_info['bufnr']))
self.assertEqual(vim.bufnr(pl=pl, segment_info=segment_info, show_current=False), None)
def test_winnr(self):
pl = Pl()
segment_info = vim_module._get_segment_info()
self.assertEqual(vim.winnr(pl=pl, segment_info=segment_info, show_current=True), str(segment_info['winnr']))
self.assertEqual(vim.winnr(pl=pl, segment_info=segment_info, show_current=False), None)
def test_single_tab(self):
pl = Pl()
single_tab = partial(vim.single_tab, pl=pl)