aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/buffer_defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/buffer_defs.h')
-rw-r--r--src/nvim/buffer_defs.h41
1 files changed, 25 insertions, 16 deletions
diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h
index d35e3b49d8..2f2546b360 100644
--- a/src/nvim/buffer_defs.h
+++ b/src/nvim/buffer_defs.h
@@ -958,24 +958,32 @@ struct matchitem {
int conceal_char; ///< cchar for Conceal highlighting
};
-typedef enum {
- kFloatAnchorEast = 1,
- kFloatAnchorSouth = 2,
-
- kFloatAnchorNW = 0,
- kFloatAnchorNE = 1,
- kFloatAnchorSW = 2,
- kFloatAnchorSE = 3,
-} FloatAnchor;
-
-typedef enum {
- kFloatRelativeEditor = 0,
- kFloatRelativeWindow = 1,
- kFloatRelativeCursor = 2,
-} FloatRelative;
+typedef int FloatAnchor;
+typedef int FloatRelative;
+
+enum {
+ kFloatAnchorEast = 1,
+ kFloatAnchorSouth = 2,
+};
+
+// NW -> 0
+// NE -> kFloatAnchorEast
+// SW -> kFloatAnchorSouth
+// SE -> kFloatAnchorSouth | kFloatAnchorEast
+EXTERN const char *const float_anchor_str[] INIT(= { "NW", "NE", "SW", "SE" });
+
+enum {
+ kFloatRelativeEditor = 0,
+ kFloatRelativeWindow = 1,
+ kFloatRelativeCursor = 2,
+};
+
+EXTERN const char *const float_relative_str[] INIT(= { "editor", "window",
+ "cursor" });
typedef struct {
Window window;
+ int height, width;
double row, col;
FloatAnchor anchor;
FloatRelative relative;
@@ -983,7 +991,8 @@ typedef struct {
bool focusable;
} FloatConfig;
-#define FLOAT_CONFIG_INIT ((FloatConfig){ .row = 0, .col = 0, .anchor = 0, \
+#define FLOAT_CONFIG_INIT ((FloatConfig){ .height = 0, .width = 0, \
+ .row = 0, .col = 0, .anchor = 0, \
.relative = 0, .external = false, \
.focusable = true })