Merge pull request #947 from magus424/feature/556-line_count-segment

Added line_count segment for vim.

Closes #556
This commit is contained in:
Nikolai Aleksandrovich Pavlov 2014-08-03 10:40:01 +04:00
commit fc40c80be2
3 changed files with 18 additions and 0 deletions

View File

@ -10,6 +10,7 @@
"file_directory": "information:additional",
"file_name_empty": "file_directory",
"line_percent": "information:additional",
"line_count": "line_current",
"position": "information:additional"
}
}

View File

@ -334,6 +334,12 @@ def line_current(pl, segment_info):
return str(segment_info['window'].cursor[0])
@requires_segment_info
def line_count(pl, segment_info):
'''Return the line count of the current buffer.'''
return str(len(segment_info['buffer']))
@requires_segment_info
def col_current(pl, segment_info):
'''Return the current cursor column.

View File

@ -687,6 +687,17 @@ class TestVim(TestCase):
finally:
vim_module._bw(segment_info['bufnr'])
def test_line_count(self):
pl = Pl()
segment_info = vim_module._get_segment_info()
segment_info['buffer'][0:-1] = [str(i) for i in range(99)]
try:
self.assertEqual(vim.line_count(pl=pl, segment_info=segment_info), '100')
vim_module._set_cursor(50, 0)
self.assertEqual(vim.line_count(pl=pl, segment_info=segment_info), '100')
finally:
vim_module._bw(segment_info['bufnr'])
def test_position(self):
pl = Pl()
segment_info = vim_module._get_segment_info()