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