Mercurial > vim
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 */ |