Mercurial > vim
comparison runtime/doc/popup.txt @ 16884:59e4148c0c73 v8.1.1443
patch 8.1.1443: popup window padding and border not implemented yet
commit https://github.com/vim/vim/commit/2fd8e35e16e502c98045c4b4e09a91eca840fb97
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 1 20:16:48 2019 +0200
patch 8.1.1443: popup window padding and border not implemented yet
Problem: Popup window padding and border not implemented yet.
Solution: Implement padding and border. Add core position and size to
popup_getpos().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Jun 2019 20:30:05 +0200 |
parents | 998603a243d7 |
children | ec61b6b79865 |
comparison
equal
deleted
inserted
replaced
16883:c7c1b4618acb | 16884:59e4148c0c73 |
---|---|
88 Probably 2. is the best choice. | 88 Probably 2. is the best choice. |
89 | 89 |
90 | 90 |
91 IMPLEMENTATION: | 91 IMPLEMENTATION: |
92 - Code is in popupwin.c | 92 - Code is in popupwin.c |
93 - Invoke filter with character before mapping? | |
94 - Handle screen resize in screenalloc(). (Ben Jackson, #4467) | |
95 - Why does 'nrformats' leak from the popup window buffer??? | 93 - Why does 'nrformats' leak from the popup window buffer??? |
96 - Implement padding | |
97 - Implement border | |
98 - Make redrawing more efficient and avoid flicker. | 94 - Make redrawing more efficient and avoid flicker. |
99 Store popup info in a mask, use the mask in screen_line() | 95 Store popup info in a mask, use the mask in screen_line() |
100 Keep mask until next update_screen(), find differences and redraw affected | 96 Keep mask until next update_screen(), find differences and redraw affected |
101 windows/lines | 97 windows/lines |
102 Fix redrawing problem with completion. | 98 Fix redrawing problem with completion. |
103 Fix redrawing problem when scrolling non-current window | 99 Fix redrawing problem when scrolling non-current window |
104 Fix redrawing the statusline on top of a popup | 100 Fix redrawing the statusline on top of a popup |
105 - Disable commands, feedkeys(), CTRL-W, etc. in a popup window. | 101 - Disable commands, feedkeys(), CTRL-W, etc. in a popup window. |
106 Use NOT_IN_POPUP_WINDOW. | 102 Use NOT_IN_POPUP_WINDOW for more commands. |
103 - Invoke filter with character before mapping? | |
107 - Figure out the size and position better. | 104 - Figure out the size and position better. |
108 if wrapping splits a double-wide character | 105 if wrapping splits a double-wide character |
109 if wrapping inserts indent | 106 if wrapping inserts indent |
110 - Can the buffer be re-used, to avoid using up lots of buffer numbers? | 107 - Can the buffer be re-used, to avoid using up lots of buffer numbers? |
111 - Implement all the unimplemented options and features. | 108 - Implement all the unimplemented options and features. |
253 popup_getpos({id}) *popup_getpos()* | 250 popup_getpos({id}) *popup_getpos()* |
254 Return the position and size of popup {id}. Returns a Dict | 251 Return the position and size of popup {id}. Returns a Dict |
255 with these entries: | 252 with these entries: |
256 col screen column of the popup, one-based | 253 col screen column of the popup, one-based |
257 line screen line of the popup, one-based | 254 line screen line of the popup, one-based |
258 width width of the popup in screen cells | 255 width width of the whole popup in screen cells |
259 height height of the popup in screen cells | 256 height height of the whole popup in screen cells |
257 core_col screen column of the text box | |
258 core_line screen line of the text box | |
259 core_width width of the text box in screen cells | |
260 core_height height of the text box in screen cells | |
260 visible one if the popup is displayed, zero if hidden | 261 visible one if the popup is displayed, zero if hidden |
261 Note that these are the actual screen positions. They differ | 262 Note that these are the actual screen positions. They differ |
262 from the values in `popup_getoptions()` for the sizing and | 263 from the values in `popup_getoptions()` for the sizing and |
263 positioning mechanism applied. | 264 positioning mechanism applied. |
265 | |
266 The "core_" values exclude the padding and border. | |
267 | |
264 If popup window {id} is not found an empty Dict is returned. | 268 If popup window {id} is not found an empty Dict is returned. |
265 | 269 |
266 | 270 |
267 *:popupclear* *:popupc* | 271 *:popupclear* *:popupc* |
268 :popupc[lear] Emergency solution to a misbehaving plugin: close all popup | 272 :popupc[lear] Emergency solution to a misbehaving plugin: close all popup |
359 an empty list uses a padding of 1 all around; the | 363 an empty list uses a padding of 1 all around; the |
360 padding goes around the text, inside any border; | 364 padding goes around the text, inside any border; |
361 padding uses the 'wincolor' highlight; Example: [1, 2, | 365 padding uses the 'wincolor' highlight; Example: [1, 2, |
362 1, 3] has 1 line of padding above, 2 columns on the | 366 1, 3] has 1 line of padding above, 2 columns on the |
363 right, 1 line below and 3 columns on the left | 367 right, 1 line below and 3 columns on the left |
364 {not implemented yet} | |
365 border list with numbers, defining the border thickness | 368 border list with numbers, defining the border thickness |
366 above/right/below/left of the popup (similar to CSS); | 369 above/right/below/left of the popup (similar to CSS); |
370 only values of zero and non-zero are recognized; | |
367 an empty list uses a border of 1 all around | 371 an empty list uses a border of 1 all around |
368 {not implemented yet} | |
369 borderhighlight highlight group name to use for the border | 372 borderhighlight highlight group name to use for the border |
370 {not implemented yet} | 373 {not implemented yet} |
371 borderchars list with characters, defining the character to use | 374 borderchars list with characters, defining the character to use |
372 for the top/right/bottom/left border; optionally | 375 for the top/right/bottom/left border; optionally |
373 followed by the character to use for the | 376 followed by the character to use for the |