patch 8.2.3628: looking terminal colors is a bit slow
Problem: Looking terminal colors is a bit slow.
Solution: Cache the terminal colors. (closes #9130, closes #9058)
diff --git a/src/structs.h b/src/structs.h
index 7bd1ff7..9e0f64e 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -123,6 +123,14 @@
#endif
#define COLOR_INVALID(x) ((x) == INVALCOLOR || (x) == CTERMCOLOR)
+#ifdef FEAT_TERMINAL
+# include "libvterm/include/vterm.h"
+typedef struct {
+ VTermColor fg;
+ VTermColor bg;
+} termcellcolor_T;
+#endif
+
/*
* marks: positions in a file
* (a normal mark is a lnum/col pair, the same as a file position)
@@ -3619,6 +3627,9 @@
int w_nrwidth; // width of 'number' and 'relativenumber'
// column being used
#endif
+#ifdef FEAT_TERMINAL
+ termcellcolor_T w_term_wincolor; // cache for term color of 'wincolor'
+#endif
/*
* === end of cached values ===