comparison src/structs.h @ 16778:eda4d65f232c v8.1.1391

patch 8.1.1391: no popup window support commit https://github.com/vim/vim/commit/4d784b21d14fc66e98a2b07f70343cdd4acd62aa Author: Bram Moolenaar <Bram@vim.org> Date: Sat May 25 19:51:39 2019 +0200 patch 8.1.1391: no popup window support Problem: No popup window support. Solution: Add initial code for popup windows. Add the 'wincolor' option.
author Bram Moolenaar <Bram@vim.org>
date Sat, 25 May 2019 20:00:08 +0200
parents 978bcd70883d
children 12e3a3afdb6a
comparison
equal deleted inserted replaced
16777:20d51e99dd6a 16778:eda4d65f232c
161 */ 161 */
162 typedef struct 162 typedef struct
163 { 163 {
164 #ifdef FEAT_ARABIC 164 #ifdef FEAT_ARABIC
165 int wo_arab; 165 int wo_arab;
166 # define w_p_arab w_onebuf_opt.wo_arab /* 'arabic' */ 166 # define w_p_arab w_onebuf_opt.wo_arab // 'arabic'
167 #endif 167 #endif
168 #ifdef FEAT_LINEBREAK 168 #ifdef FEAT_LINEBREAK
169 int wo_bri; 169 int wo_bri;
170 # define w_p_bri w_onebuf_opt.wo_bri /* 'breakindent' */ 170 # define w_p_bri w_onebuf_opt.wo_bri // 'breakindent'
171 char_u *wo_briopt; 171 char_u *wo_briopt;
172 # define w_p_briopt w_onebuf_opt.wo_briopt /* 'breakindentopt' */ 172 # define w_p_briopt w_onebuf_opt.wo_briopt // 'breakindentopt'
173 #endif 173 #endif
174 char_u *wo_wcr;
175 # define w_p_wcr w_onebuf_opt.wo_wcr // 'wincolor'
174 #ifdef FEAT_DIFF 176 #ifdef FEAT_DIFF
175 int wo_diff; 177 int wo_diff;
176 # define w_p_diff w_onebuf_opt.wo_diff /* 'diff' */ 178 # define w_p_diff w_onebuf_opt.wo_diff // 'diff'
177 #endif 179 #endif
178 #ifdef FEAT_FOLDING 180 #ifdef FEAT_FOLDING
179 long wo_fdc; 181 long wo_fdc;
180 # define w_p_fdc w_onebuf_opt.wo_fdc /* 'foldcolumn' */ 182 # define w_p_fdc w_onebuf_opt.wo_fdc /* 'foldcolumn' */
181 int wo_fdc_save; 183 int wo_fdc_save;
2590 * compared against "topframe" to find the current tab page. 2592 * compared against "topframe" to find the current tab page.
2591 */ 2593 */
2592 typedef struct tabpage_S tabpage_T; 2594 typedef struct tabpage_S tabpage_T;
2593 struct tabpage_S 2595 struct tabpage_S
2594 { 2596 {
2595 tabpage_T *tp_next; /* next tabpage or NULL */ 2597 tabpage_T *tp_next; // next tabpage or NULL
2596 frame_T *tp_topframe; /* topframe for the windows */ 2598 frame_T *tp_topframe; // topframe for the windows
2597 win_T *tp_curwin; /* current window in this Tab page */ 2599 win_T *tp_curwin; // current window in this Tab page
2598 win_T *tp_prevwin; /* previous window in this Tab page */ 2600 win_T *tp_prevwin; // previous window in this Tab page
2599 win_T *tp_firstwin; /* first window in this Tab page */ 2601 win_T *tp_firstwin; // first window in this Tab page
2600 win_T *tp_lastwin; /* last window in this Tab page */ 2602 win_T *tp_lastwin; // last window in this Tab page
2601 long tp_old_Rows; /* Rows when Tab page was left */ 2603 #ifdef FEAT_TEXT_PROP
2602 long tp_old_Columns; /* Columns when Tab page was left */ 2604 win_T *tp_first_popupwin; // first popup window in this Tab page
2603 long tp_ch_used; /* value of 'cmdheight' when frame size 2605 #endif
2604 was set */ 2606 long tp_old_Rows; // Rows when Tab page was left
2607 long tp_old_Columns; // Columns when Tab page was left
2608 long tp_ch_used; // value of 'cmdheight' when frame size
2609 // was set
2605 #ifdef FEAT_GUI 2610 #ifdef FEAT_GUI
2606 int tp_prev_which_scrollbars[3]; 2611 int tp_prev_which_scrollbars[3];
2607 /* previous value of which_scrollbars */ 2612 // previous value of which_scrollbars
2608 #endif 2613 #endif
2609 2614
2610 char_u *tp_localdir; // absolute path of local directory or 2615 char_u *tp_localdir; // absolute path of local directory or
2611 // NULL 2616 // NULL
2612 #ifdef FEAT_DIFF 2617 #ifdef FEAT_DIFF
2613 diff_T *tp_first_diff; 2618 diff_T *tp_first_diff;
2614 buf_T *(tp_diffbuf[DB_COUNT]); 2619 buf_T *(tp_diffbuf[DB_COUNT]);
2615 int tp_diff_invalid; // list of diffs is outdated 2620 int tp_diff_invalid; // list of diffs is outdated
2616 int tp_diff_update; // update diffs before redrawing 2621 int tp_diff_update; // update diffs before redrawing
2617 #endif 2622 #endif
2618 frame_T *(tp_snapshot[SNAP_COUNT]); /* window layout snapshots */ 2623 frame_T *(tp_snapshot[SNAP_COUNT]); // window layout snapshots
2619 #ifdef FEAT_EVAL 2624 #ifdef FEAT_EVAL
2620 dictitem_T tp_winvar; /* variable for "t:" Dictionary */ 2625 dictitem_T tp_winvar; // variable for "t:" Dictionary
2621 dict_T *tp_vars; /* internal variables, local to tab page */ 2626 dict_T *tp_vars; // internal variables, local to tab page
2622 #endif 2627 #endif
2623 2628
2624 #ifdef FEAT_PYTHON 2629 #ifdef FEAT_PYTHON
2625 void *tp_python_ref; /* The Python value for this tab page */ 2630 void *tp_python_ref; // The Python value for this tab page
2626 #endif 2631 #endif
2627 2632
2628 #ifdef FEAT_PYTHON3 2633 #ifdef FEAT_PYTHON3
2629 void *tp_python3_ref; /* The Python value for this tab page */ 2634 void *tp_python3_ref; // The Python value for this tab page
2630 #endif 2635 #endif
2631 }; 2636 };
2632 2637
2633 /* 2638 /*
2634 * Structure to cache info for displayed lines in w_lines[]. 2639 * Structure to cache info for displayed lines in w_lines[].
2773 */ 2778 */
2774 struct window_S 2779 struct window_S
2775 { 2780 {
2776 int w_id; /* unique window ID */ 2781 int w_id; /* unique window ID */
2777 2782
2778 buf_T *w_buffer; /* buffer we are a window into (used 2783 buf_T *w_buffer; /* buffer we are a window into */
2779 often, keep it the first item!) */ 2784
2785 win_T *w_prev; /* link to previous window */
2786 win_T *w_next; /* link to next window */
2780 2787
2781 #if defined(FEAT_SYN_HL) || defined(FEAT_SPELL) 2788 #if defined(FEAT_SYN_HL) || defined(FEAT_SPELL)
2782 synblock_T *w_s; /* for :ownsyntax */ 2789 synblock_T *w_s; /* for :ownsyntax */
2783 #endif 2790 #endif
2784 2791
2785 win_T *w_prev; /* link to previous window */
2786 win_T *w_next; /* link to next window */
2787 int w_closing; /* window is being closed, don't let 2792 int w_closing; /* window is being closed, don't let
2788 autocommands close it too. */ 2793 autocommands close it too. */
2789 2794
2790 frame_T *w_frame; /* frame containing this window */ 2795 frame_T *w_frame; /* frame containing this window */
2791 2796
2845 int w_status_height; /* number of status lines (0 or 1) */ 2850 int w_status_height; /* number of status lines (0 or 1) */
2846 int w_wincol; /* Leftmost column of window in screen. */ 2851 int w_wincol; /* Leftmost column of window in screen. */
2847 int w_width; /* Width of window, excluding separation. */ 2852 int w_width; /* Width of window, excluding separation. */
2848 int w_vsep_width; /* Number of separator columns (0 or 1). */ 2853 int w_vsep_width; /* Number of separator columns (0 or 1). */
2849 pos_save_T w_save_cursor; /* backup of cursor pos and topline */ 2854 pos_save_T w_save_cursor; /* backup of cursor pos and topline */
2855 #ifdef FEAT_TEXT_PROP
2856 int w_zindex;
2857 int w_maxheight; // "maxheight" for popup window
2858 int w_maxwidth; // "maxwidth" for popup window
2859 #endif
2850 2860
2851 2861
2852 /* 2862 /*
2853 * === start of cached values ==== 2863 * === start of cached values ====
2854 */ 2864 */