Mercurial > vim
comparison src/testdir/test_signs.vim @ 17129:4fb68abc770f v8.1.1564
patch 8.1.1564: sign column takes up space
commit https://github.com/vim/vim/commit/394c5d8870b15150fc91a4c058dc571fd5eaa97e
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Jun 17 21:48:05 2019 +0200
patch 8.1.1564: sign column takes up space
Problem: Sign column takes up space. (Adam Stankiewicz)
Solution: Optionally put signs in the number column. (Yegappan Lakshmanan,
closes #4555, closes #4515)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 17 Jun 2019 22:00:09 +0200 |
parents | 811c5c2f5236 |
children | 3c0efdd95f8d |
comparison
equal
deleted
inserted
replaced
17128:ba266d95db3f | 17129:4fb68abc770f |
---|---|
1734 | 1734 |
1735 " clean up | 1735 " clean up |
1736 call StopVimInTerminal(buf) | 1736 call StopVimInTerminal(buf) |
1737 call delete('XtestSigncolumn') | 1737 call delete('XtestSigncolumn') |
1738 endfunc | 1738 endfunc |
1739 | |
1740 " Return the 'len' characters in screen starting from (row,col) | |
1741 func s:ScreenLine(row, col, len) | |
1742 let s = '' | |
1743 for i in range(a:len) | |
1744 let s .= nr2char(screenchar(a:row, a:col + i)) | |
1745 endfor | |
1746 return s | |
1747 endfunc | |
1748 | |
1749 " Test for 'signcolumn' set to 'number'. | |
1750 func Test_sign_numcol() | |
1751 new | |
1752 call append(0, "01234") | |
1753 " With 'signcolumn' set to 'number', make sure sign is displayed in the | |
1754 " number column and line number is not displayed. | |
1755 set numberwidth=2 | |
1756 set number | |
1757 set signcolumn=number | |
1758 sign define sign1 text==> | |
1759 sign place 10 line=1 name=sign1 | |
1760 redraw! | |
1761 call assert_equal("=> 01234", s:ScreenLine(1, 1, 8)) | |
1762 | |
1763 " With 'signcolumn' set to 'number', when there is no sign, make sure line | |
1764 " number is displayed in the number column | |
1765 sign unplace 10 | |
1766 redraw! | |
1767 call assert_equal("1 01234", s:ScreenLine(1, 1, 7)) | |
1768 | |
1769 " Disable number column. Check whether sign is displayed in the sign column | |
1770 set numberwidth=4 | |
1771 set nonumber | |
1772 sign place 10 line=1 name=sign1 | |
1773 redraw! | |
1774 call assert_equal("=>01234", s:ScreenLine(1, 1, 7)) | |
1775 | |
1776 " Enable number column. Check whether sign is displayed in the number column | |
1777 set number | |
1778 redraw! | |
1779 call assert_equal("=> 01234", s:ScreenLine(1, 1, 9)) | |
1780 | |
1781 " Disable sign column. Make sure line number is displayed | |
1782 set signcolumn=no | |
1783 redraw! | |
1784 call assert_equal(" 1 01234", s:ScreenLine(1, 1, 9)) | |
1785 | |
1786 " Enable auto sign column. Make sure both sign and line number are displayed | |
1787 set signcolumn=auto | |
1788 redraw! | |
1789 call assert_equal("=> 1 01234", s:ScreenLine(1, 1, 11)) | |
1790 | |
1791 sign undefine sign1 | |
1792 set signcolumn& | |
1793 set number& | |
1794 enew! | close | |
1795 endfunc |