feat(ui): add 'statuscolumn' option

Problem:    Unable to customize the column next to a window ('gutter').
Solution:   Add 'statuscolumn' option that follows the 'statusline' syntax,
	    allowing to customize the status column. Also supporting the %@
	    click execute function label. Adds new items @C and @s which
	    will print the fold and sign columns. Line numbers and signs
	    can be clicked, highlighted, aligned, transformed, margined etc.
This commit is contained in:
luukvbaal
2023-01-09 18:12:06 +01:00
committed by GitHub
parent 50f03773f4
commit 364b131f42
26 changed files with 681 additions and 43 deletions

View File

@@ -9,17 +9,18 @@
#include "nvim/window.h"
/// jump_to_mouse() returns one of first five these values, possibly with
/// some of the other four added.
/// some of the other five added.
enum {
IN_UNKNOWN = 0,
IN_BUFFER = 1,
IN_STATUS_LINE = 2, ///< on status or command line
IN_SEP_LINE = 4, ///< on vertical separator line
IN_OTHER_WIN = 8, ///< in other window but can't go there
IN_STATUS_LINE = 2, ///< on status or command line
IN_SEP_LINE = 4, ///< on vertical separator line
IN_OTHER_WIN = 8, ///< in other window but can't go there
CURSOR_MOVED = 0x100,
MOUSE_FOLD_CLOSE = 0x200, ///< clicked on '-' in fold column
MOUSE_FOLD_OPEN = 0x400, ///< clicked on '+' in fold column
MOUSE_WINBAR = 0x800, ///< in window toolbar
MOUSE_FOLD_CLOSE = 0x200, ///< clicked on '-' in fold column
MOUSE_FOLD_OPEN = 0x400, ///< clicked on '+' in fold column
MOUSE_WINBAR = 0x800, ///< in window toolbar
MOUSE_STATUSCOL = 0x1000, ///< in 'statuscolumn'
};
/// flags for jump_to_mouse()