diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2023-01-25 18:31:31 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2023-01-25 18:31:31 +0000 |
commit | 9243becbedbb6a1592208051f8fa2b090dcc5e7d (patch) | |
tree | 607c2a862ec3f4399b8766383f6f8e04c4aa43b4 /src/nvim/mouse.h | |
parent | 9e40b6e9e1bc67f2d856adb837ee64dd0e25b717 (diff) | |
parent | 3c48d3c83fc21dbc0841f9210f04bdb073d73cd1 (diff) | |
download | rneovim-usermarks.tar.gz rneovim-usermarks.tar.bz2 rneovim-usermarks.zip |
Merge remote-tracking branch 'upstream/master' into usermarksusermarks
Diffstat (limited to 'src/nvim/mouse.h')
-rw-r--r-- | src/nvim/mouse.h | 82 |
1 files changed, 47 insertions, 35 deletions
diff --git a/src/nvim/mouse.h b/src/nvim/mouse.h index 08261e4a30..8b2d7e0acd 100644 --- a/src/nvim/mouse.h +++ b/src/nvim/mouse.h @@ -4,42 +4,54 @@ #include <stdbool.h> #include "nvim/buffer_defs.h" +#include "nvim/normal.h" #include "nvim/vim.h" - -// jump_to_mouse() returns one of first four these values, possibly with -// some of the other three added. -#define IN_UNKNOWN 0 -#define IN_BUFFER 1 -#define IN_STATUS_LINE 2 // on status or command line -#define IN_SEP_LINE 4 // on vertical separator line -#define IN_OTHER_WIN 8 // in other window but can't go there -#define CURSOR_MOVED 0x100 -#define MOUSE_FOLD_CLOSE 0x200 // clicked on '-' in fold column -#define MOUSE_FOLD_OPEN 0x400 // clicked on '+' in fold column -#define MOUSE_WINBAR 0x800 // in window toolbar - -// flags for jump_to_mouse() -#define MOUSE_FOCUS 0x01 // need to stay in this window -#define MOUSE_MAY_VIS 0x02 // may start Visual mode -#define MOUSE_DID_MOVE 0x04 // only act when mouse has moved -#define MOUSE_SETPOS 0x08 // only set current mouse position -#define MOUSE_MAY_STOP_VIS 0x10 // may stop Visual mode -#define MOUSE_RELEASED 0x20 // button was released - -// Codes for mouse button events in lower three bits: -#define MOUSE_LEFT 0x00 -#define MOUSE_MIDDLE 0x01 -#define MOUSE_RIGHT 0x02 -#define MOUSE_RELEASE 0x03 - -#define MOUSE_X1 0x300 // Mouse-button X1 (6th) -#define MOUSE_X2 0x400 // Mouse-button X2 - -// Direction for nv_mousescroll() and ins_mousescroll() -#define MSCR_DOWN 0 // DOWN must be FALSE -#define MSCR_UP 1 -#define MSCR_LEFT (-1) -#define MSCR_RIGHT (-2) +#include "nvim/window.h" + +/// jump_to_mouse() returns one of first five these values, possibly with +/// 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 + 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_STATUSCOL = 0x1000, ///< in 'statuscolumn' +}; + +/// flags for jump_to_mouse() +enum { + MOUSE_FOCUS = 0x01, ///< need to stay in this window + MOUSE_MAY_VIS = 0x02, ///< may start Visual mode + MOUSE_DID_MOVE = 0x04, ///< only act when mouse has moved + MOUSE_SETPOS = 0x08, ///< only set current mouse position + MOUSE_MAY_STOP_VIS = 0x10, ///< may stop Visual mode + MOUSE_RELEASED = 0x20, ///< button was released +}; + +enum { + // Codes for mouse button events in lower three bits: + MOUSE_LEFT = 0x00, + MOUSE_MIDDLE = 0x01, + MOUSE_RIGHT = 0x02, + MOUSE_RELEASE = 0x03, + + // mouse buttons that are handled like a key press + MOUSE_X1 = 0x300, ///< Mouse-button X1 (6th) + MOUSE_X2 = 0x400, ///< Mouse-button X2 +}; + +/// Direction for nv_mousescroll() and ins_mousescroll() +enum { + MSCR_DOWN = 0, ///< DOWN must be false + MSCR_UP = 1, + MSCR_LEFT = -1, + MSCR_RIGHT = -2, +}; #ifdef INCLUDE_GENERATED_DECLARATIONS # include "mouse.h.generated.h" |