aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.h
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2015-11-23 03:07:32 +0300
committerZyX <kp-pav@yandex.ru>2016-02-01 21:40:06 +0300
commitef662498b1ea1aca430624e3fc0d304494282c72 (patch)
treeda6db6777b6db8f2d437e8a2718d5248b6ba5f44 /src/nvim/screen.h
parent3e3d2d783cf742530b7f55b9964bca2f8a1dd158 (diff)
downloadrneovim-ef662498b1ea1aca430624e3fc0d304494282c72.tar.gz
rneovim-ef662498b1ea1aca430624e3fc0d304494282c72.tar.bz2
rneovim-ef662498b1ea1aca430624e3fc0d304494282c72.zip
tabline: Add %[] atom to the tabline, for random commands on click
Currently untested and undocumented.
Diffstat (limited to 'src/nvim/screen.h')
-rw-r--r--src/nvim/screen.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/nvim/screen.h b/src/nvim/screen.h
index debf86ae67..18a99713c0 100644
--- a/src/nvim/screen.h
+++ b/src/nvim/screen.h
@@ -16,6 +16,29 @@
#define NOT_VALID 40 /* buffer needs complete redraw */
#define CLEAR 50 /* screen messed up, clear it */
+/// Status line click definition
+typedef struct {
+ enum {
+ kStlClickDisabled = 0, ///< Clicks to this area are ignored.
+ kStlClickTabSwitch, ///< Switch to the given tab.
+ kStlClickTabClose, ///< Close given tab.
+ kStlClickCmd, ///< Run VimL command.
+ } type; ///< Type of the click.
+ int tabnr; ///< Tab page number.
+ char *cmd; ///< Command to execute.
+} StlClickDefinition;
+
+/// Used for tabline clicks
+typedef struct {
+ StlClickDefinition def; ///< Click definition.
+ const char *start; ///< Location where region starts.
+} StlClickRecord;
+
+/// Array defining what should be done when tabline is clicked
+extern StlClickDefinition *tab_page_click_defs;
+
+/// Size of the tab_page_click_defs array
+extern long tab_page_click_defs_size;
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "screen.h.generated.h"