Mercurial > vim
annotate 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 |
rev | line source |
---|---|
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
1 *popup.txt* For Vim version 8.1. Last change: 2019 Jun 01 |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 VIM REFERENCE MANUAL by Bram Moolenaar |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
7 Displaying text in floating window. *popup* *popup-window* |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 THIS IS UNDER DESIGN - ANYTHING MAY STILL CHANGE |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 1. Introduction |popup-intro| |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 2. Functions |popup-functions| |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 3. Examples |popup-examples| |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 |
16871 | 16 {not available if the |+textprop| feature was disabled at compile time} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 ============================================================================== |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 1. Introduction *popup-intro* |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
21 We are talking about popup windows here, text that goes on top of the regular |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
22 windows and is under control of a plugin. You cannot edit the text in the |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
23 popup window like with regular windows. |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
24 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
25 A popup window can be used for such things as: |
16808 | 26 - briefly show a message without overwriting the command line |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
27 - prompt the user with a dialog |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
28 - display contextual information while typing |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
29 - give extra information for auto-completion |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
30 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
31 The text in the popup window can be colored with |text-properties|. It is |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
32 also possible to use syntax highlighting. |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
33 |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
34 The default color used is "Pmenu". If you prefer something else use the |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
35 "highlight" argument or the 'wincolor' option, e.g.: > |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
36 hi MyPopupColor ctermbg=lightblue guibg=lightblue |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
37 call setwinvar(winid, '&wincolor', 'MyPopupColor') |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
38 |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
39 'hlsearch' and match highlighting are not displayed in a popup window. |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
40 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
41 A popup window has a window-ID like other windows, but behaves differently. |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
42 The size can be up to the whole Vim window and it overlaps other windows. |
16808 | 43 Popup windows can also overlap each other. |
44 | |
45 The popup window contains a buffer, and that buffer is always associated with | |
46 the popup window. The window cannot be used in Normal, Visual or Insert mode, | |
47 it does not get keyboard focus. You can use functions like `setbufline()` to | |
48 change the text in the buffer. There are more differences from how this | |
49 window and buffer behave compared to regular windows and buffers, see | |
50 |popup-buffer|. | |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
51 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
52 If this is not what you are looking for, check out other popup functionality: |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
53 - popup menu, see |popup-menu| |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
54 - balloon, see |balloon-eval| |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
55 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
56 |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
57 WINDOW POSITION AND SIZE *popup-position* |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
58 |
16808 | 59 The height of the window is normally equal to the number of, possibly |
60 wrapping, lines in the buffer. It can be limited with the "maxheight" | |
16871 | 61 property. You can use empty lines to increase the height or the "minheight" |
62 property. | |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
63 |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
64 The width of the window is normally equal to the longest line in the buffer. |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
65 It can be limited with the "maxwidth" property. You can use spaces to |
16871 | 66 increase the width or the "minwidth" property. |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
67 |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
68 By default the 'wrap' option is set, so that no text disappears. However, if |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
69 there is not enough space, some text may be invisible. |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
70 |
16871 | 71 Vim tries to show the popup in the location you specify. In some cases, e.g. |
72 when the popup would go outside of the Vim window, it will show it somewhere | |
73 else. E.g. if you use `popup_atcursor()` the popup normally shows just above | |
74 the current cursor position, but if the cursor is close to the top of the Vim | |
75 window it will be placed below the cursor position. | |
76 | |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
77 |
16833
6699c03347d2
patch 8.1.1418: win_execute() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
78 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
79 TODO: |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
80 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
81 Example how to use syntax highlighting of a code snippet. |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
82 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
83 Scrolling: When the screen scrolls up for output of an Ex command, what |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
84 happens with popups? |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
85 1. Stay where they are. Problem: listed text may go behind and can't be read. |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
86 2. Scroll with the page. What if they get updated? Either postpone, or take |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
87 the scroll offset into account. |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
88 Probably 2. is the best choice. |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
89 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
90 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
91 IMPLEMENTATION: |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
92 - Code is in popupwin.c |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
93 - Why does 'nrformats' leak from the popup window buffer??? |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
94 - Make redrawing more efficient and avoid flicker. |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
95 Store popup info in a mask, use the mask in screen_line() |
16871 | 96 Keep mask until next update_screen(), find differences and redraw affected |
97 windows/lines | |
16829
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
98 Fix redrawing problem with completion. |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
99 Fix redrawing problem when scrolling non-current window |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
100 Fix redrawing the statusline on top of a popup |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
101 - Disable commands, feedkeys(), CTRL-W, etc. in a popup window. |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
102 Use NOT_IN_POPUP_WINDOW for more commands. |
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
103 - Invoke filter with character before mapping? |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
104 - Figure out the size and position better. |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
105 if wrapping splits a double-wide character |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
106 if wrapping inserts indent |
16829
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
107 - Can the buffer be re-used, to avoid using up lots of buffer numbers? |
16808 | 108 - Implement all the unimplemented options and features. |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
109 |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
110 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
111 ============================================================================== |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
112 2. Functions *popup-functions* |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
113 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
114 THIS IS UNDER DESIGN - ANYTHING MAY STILL CHANGE |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
115 |
16808 | 116 [functions to be moved to eval.txt later, keep overview of functions here] |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
117 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
118 popup_create({text}, {options}) *popup_create()* |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
119 Open a popup window showing {text}, which is either: |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
120 - a string |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
121 - a list of strings |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
122 - a list of text lines with text properties |
16871 | 123 |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
124 {options} is a dictionary with many possible entries. |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
125 See |popup_create-usage| for details. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
126 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
127 Returns a window-ID, which can be used with other popup |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
128 functions. Use `winbufnr()` to get the number of the buffer |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
129 in the window: > |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
130 let winid = popup_create('hello', {}) |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
131 let bufnr = winbufnr(winid) |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
132 call setbufline(bufnr, 2, 'second line') |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
133 < In case of failure zero is returned. |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
134 |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
135 |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
136 popup_close({id}) *popup_close()* |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
137 Close popup {id}. The window and the associated buffer will |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
138 be deleted. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
139 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
140 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
141 popup_dialog({text}, {options}) *popup_dialog()* |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
142 {not implemented yet} |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
143 Just like |popup_create()| but with these default options: > |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
144 call popup_create({text}, { |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
145 \ 'pos': 'center', |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
146 \ 'zindex': 200, |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
147 \ 'border': [], |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
148 \}) |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
149 < Use {options} to change the properties. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
150 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
151 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
152 popup_notification({text}, {options}) *popup_notification()* |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
153 {not implemented yet} |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
154 Show the {text} for 3 seconds at the top of the Vim window. |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
155 This works like: > |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
156 call popup_create({text}, { |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
157 \ 'line': 1, |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
158 \ 'col': 10, |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
159 \ 'time': 3000, |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
160 \ 'tab': -1, |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
161 \ 'zindex': 200, |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
162 \ 'highlight': 'WarningMsg', |
16800
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
163 \ 'border': [], |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
164 \ }) |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
165 < Use {options} to change the properties. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
166 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
167 |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
168 popup_atcursor({text}, {options}) *popup_atcursor()* |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
169 Show the {text} above the cursor, and close it when the cursor |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
170 moves. This works like: > |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
171 call popup_create({text}, { |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
172 \ 'pos': 'botleft', |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
173 \ 'line': 'cursor-1', |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
174 \ 'col': 'cursor', |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
175 \ 'moved': 'WORD', |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
176 \ }) |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
177 < Use {options} to change the properties. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
178 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
179 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
180 popup_menu({text}, {options}) *popup_menu()* |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
181 {not implemented yet} |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
182 Show the {text} near the cursor, handle selecting one of the |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
183 items with cursorkeys, and close it an item is selected with |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
184 Space or Enter. {text} should have multiple lines to make this |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
185 useful. This works like: > |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
186 call popup_create({text}, { |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
187 \ 'pos': 'center', |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
188 \ 'zindex': 200, |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
189 \ 'wrap': 0, |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
190 \ 'border': [], |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
191 \ 'filter': 'popup_filter_menu', |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
192 \ }) |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
193 < Use {options} to change the properties. Should at least set |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
194 "callback" to a function that handles the selected item. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
195 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
196 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
197 popup_hide({id}) *popup_hide()* |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
198 If {id} is a displayed popup, hide it now. If the popup has a |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
199 filter it will not be invoked for so long as the popup is |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
200 hidden. |
16809
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16808
diff
changeset
|
201 If window {id} does not exist nothing happens. If window {id} |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16808
diff
changeset
|
202 exists but is not a popup window an error is given. *E993* |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16808
diff
changeset
|
203 |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16808
diff
changeset
|
204 popup_show({id}) *popup_show()* |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16808
diff
changeset
|
205 If {id} is a hidden popup, show it now. |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16808
diff
changeset
|
206 For {id} see `popup_hide()`. |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
207 |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
208 popup_move({id}, {options}) *popup_move()* |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
209 Move popup {id} to the position speficied with {options}. |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
210 {options} may contain the items from |popup_create()| that |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
211 specify the popup position: "line", "col", "pos", "maxheight", |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
212 "minheight", "maxwidth" and "minwidth". |
16809
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16808
diff
changeset
|
213 For {id} see `popup_hide()`. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
214 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
215 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
216 popup_filter_menu({id}, {key}) *popup_filter_menu()* |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
217 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
218 Filter that can be used for a popup. It handles the cursor |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
219 keys to move the selected index in the popup. Space and Enter |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
220 can be used to select an item. Invokes the "callback" of the |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
221 popup menu with the index of the selected line as the second |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
222 argument. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
223 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
224 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
225 popup_filter_yesno({id}, {key}) *popup_filter_yesno()* |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
226 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
227 Filter that can be used for a popup. It handles only the keys |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
228 'y', 'Y' and 'n' or 'N'. Invokes the "callback" of the |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
229 popup menu with the 1 for 'y' or 'Y' and zero for 'n' or 'N' |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
230 as the second argument. Pressing Esc and CTRL-C works like |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
231 pressing 'n'. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
232 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
233 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
234 popup_setoptions({id}, {options}) *popup_setoptions()* |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
235 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
236 Override options in popup {id} with entries in {options}. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
237 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
238 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
239 popup_getoptions({id}) *popup_getoptions()* |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
240 Return the {options} for popup {id} in a Dict. |
16855
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
241 A zero value means the option was not set. For "zindex" the |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
242 default value is returned, not zero. |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
243 |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
244 The "highlight" entry is omitted, use the 'wincolor' option |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
245 for that: > |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
246 let hl = getwinvar(winid, '&wincolor') |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
247 |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
248 < If popup window {id} is not found an empty Dict is returned. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
249 |
16855
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
250 popup_getpos({id}) *popup_getpos()* |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
251 Return the position and size of popup {id}. Returns a Dict |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
252 with these entries: |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
253 col screen column of the popup, one-based |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
254 line screen line of the popup, one-based |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
255 width width of the whole popup in screen cells |
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
256 height height of the whole popup in screen cells |
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
257 core_col screen column of the text box |
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
258 core_line screen line of the text box |
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
259 core_width width of the text box in screen cells |
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
260 core_height height of the text box in screen cells |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
261 visible one if the popup is displayed, zero if hidden |
16829
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
262 Note that these are the actual screen positions. They differ |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
263 from the values in `popup_getoptions()` for the sizing and |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
264 positioning mechanism applied. |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
265 |
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
266 The "core_" values exclude the padding and border. |
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
267 |
16829
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
268 If popup window {id} is not found an empty Dict is returned. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
269 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
270 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
271 *:popupclear* *:popupc* |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
272 :popupc[lear] Emergency solution to a misbehaving plugin: close all popup |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
273 windows. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
274 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
275 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
276 POPUP BUFFER AND WINDOW *popup-buffer* |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
277 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
278 A new buffer is created to hold the text and text properties of the popup |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
279 window. The buffer is always associated with the popup window and |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
280 manipulation is restricted: |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
281 - the buffer has no name |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
282 - 'buftype' is "popup" |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
283 - 'swapfile' is off |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
284 - 'bufhidden' is "hide" |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
285 - 'buflisted' is off |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
286 - 'undolevels' is -1: no undo at all |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
287 - all other buffer-local and window_local options are set to their Vim default |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
288 value. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
289 |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
290 It is possible to change the specifically mentioned options, but anything |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
291 might break then, so better leave them alone. |
16808 | 292 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
293 The window does have a cursor position, but the cursor is not displayed. |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
294 |
16833
6699c03347d2
patch 8.1.1418: win_execute() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
295 To execute a command in the context of the popup window and buffer use |
6699c03347d2
patch 8.1.1418: win_execute() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
296 `win_execute()`. Example: > |
6699c03347d2
patch 8.1.1418: win_execute() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
297 call win_execute(winid, 'syntax enable') |
6699c03347d2
patch 8.1.1418: win_execute() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
298 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
299 Options can be set on the window with `setwinvar()`, e.g.: > |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
300 call setwinvar(winid, '&wrap', 0) |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
301 And options can be set on the buffer with `setbufvar()`, e.g.: > |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
302 call setbufvar(winbufnr(winid), '&filetype', 'java') |
16859
0154363d3b98
patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents:
16855
diff
changeset
|
303 Note that this does not trigger autocommands. Use `win_execute()` if you do |
0154363d3b98
patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents:
16855
diff
changeset
|
304 need them. |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
305 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
306 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
307 POPUP_CREATE() ARGUMENTS *popup_create-usage* |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
308 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
309 The first argument of |popup_create()| specifies the text to be displayed, and |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
310 optionally text properties. It is in one of three forms: |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
311 - a string |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
312 - a list of strings |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
313 - a list of dictionaries, where each dictionary has these entries: |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
314 text String with the text to display. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
315 props A list of text properties. Optional. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
316 Each entry is a dictionary, like the third argument of |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
317 |prop_add()|, but specifying the column in the |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
318 dictionary with a "col" entry, see below: |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
319 |popup-props|. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
320 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
321 The second argument of |popup_create()| is a dictionary with options: |
16855
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
322 line screen line where to position the popup; can use a |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
323 number or "cursor", "cursor+1" or "cursor-1" to use |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
324 the line of the cursor and add or subtract a number of |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
325 lines; if omitted the popup is vertically centered, |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
326 otherwise "pos" is used. |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
327 col screen column where to position the popup; can use a |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
328 number or "cursor" to use the column of the cursor, |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
329 "cursor+99" and "cursor-99" to add or subtract a |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
330 number of columns; if omitted the popup is |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
331 horizontally centered, otherwise "pos" is used |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
332 pos "topleft", "topright", "botleft" or "botright": |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
333 defines what corner of the popup "line" and "col" are |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
334 used for. When not set "topleft" is used. |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16833
diff
changeset
|
335 Alternatively "center" can be used to position the |
16855
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
336 popup in the center of the Vim window, in which case |
19162ff4eacd
patch 8.1.1429: "pos" option of popup window not supported yet
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
337 "line" and "col" are ignored. |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
338 flip when TRUE (the default) and the position is relative |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
339 to the cursor, flip to below or above the cursor to |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
340 avoid overlap with the |popupmenu-completion| or |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
341 another popup with a higher "zindex" |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
342 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
343 maxheight maximum height |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
344 minheight minimum height |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
345 maxwidth maximum width |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
346 minwidth minimum width |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
347 hidden when TRUE the popup exists but is not displayed; use |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
348 `popup_show()` to unhide it. |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
349 {not implemented yet} |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
350 tab when -1: display the popup on all tabs; when 0 (the |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
351 default): display the popup on the current tab; |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
352 otherwise the number of the tab page the popup is |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
353 displayed on; when invalid the current tab is used |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
354 {only -1 and 0 are implemented} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
355 title text to be displayed above the first item in the |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
356 popup, on top of any border |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
357 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
358 wrap TRUE to make the lines wrap (default TRUE) |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
359 highlight highlight group name to use for the text, stored in |
16806
306766ed0f70
patch 8.1.1405: "highlight" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16800
diff
changeset
|
360 the 'wincolor' option |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
361 padding list with numbers, defining the padding |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
362 above/right/below/left of the popup (similar to CSS); |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
363 an empty list uses a padding of 1 all around; the |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
364 padding goes around the text, inside any border; |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
365 padding uses the 'wincolor' highlight; Example: [1, 2, |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
366 1, 3] has 1 line of padding above, 2 columns on the |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
367 right, 1 line below and 3 columns on the left |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
368 border list with numbers, defining the border thickness |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
369 above/right/below/left of the popup (similar to CSS); |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
370 only values of zero and non-zero are recognized; |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
371 an empty list uses a border of 1 all around |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
372 borderhighlight highlight group name to use for the border |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
373 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
374 borderchars list with characters, defining the character to use |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
375 for the top/right/bottom/left border; optionally |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
376 followed by the character to use for the |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
377 topright/botright/botleft/topleft corner; an empty |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
378 list can be used to show a double line all around |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
379 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
380 zindex priority for the popup, default 50 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
381 time time in milliseconds after which the popup will close; |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
382 when omitted |popup_close()| must be used. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
383 moved "cell": close the popup if the cursor moved at least |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
384 one screen cell; "word" allows for moving within |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
385 |<cword>|, "WORD" allows for moving within |<cWORD>|, |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
386 a list with two numbers specifies the start and end |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
387 column |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
388 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
389 filter a callback that can filter typed characters, see |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
390 |popup-filter| |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
391 callback a callback to be used when the popup closes, e.g. when |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
392 using |popup_filter_menu()|, see |popup-callback|. |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
393 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
394 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
395 Depending on the "zindex" the popup goes under or above other popups. The |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
396 completion menu (|popup-menu|) has zindex 100. For messages that occur for a |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
397 short time the suggestion is to use zindex 1000. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
398 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
399 By default text wraps, which causes a line in {lines} to occupy more than one |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
400 screen line. When "wrap" is FALSE then the text outside of the popup or |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
401 outside of the Vim window will not be displayed, thus truncated. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
402 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
403 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
404 POPUP TEXT PROPERTIES *popup-props* |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
405 |
16811
0457d49eb2d9
patch 8.1.1407: popup_create() does not support text properties
Bram Moolenaar <Bram@vim.org>
parents:
16809
diff
changeset
|
406 These are similar to the third argument of |prop_add()| except: |
0457d49eb2d9
patch 8.1.1407: popup_create() does not support text properties
Bram Moolenaar <Bram@vim.org>
parents:
16809
diff
changeset
|
407 - "lnum" is always the current line in the list |
0457d49eb2d9
patch 8.1.1407: popup_create() does not support text properties
Bram Moolenaar <Bram@vim.org>
parents:
16809
diff
changeset
|
408 - "bufnr" is always the buffer of the popup |
0457d49eb2d9
patch 8.1.1407: popup_create() does not support text properties
Bram Moolenaar <Bram@vim.org>
parents:
16809
diff
changeset
|
409 - "col" is in the Dict instead of a separate argument |
0457d49eb2d9
patch 8.1.1407: popup_create() does not support text properties
Bram Moolenaar <Bram@vim.org>
parents:
16809
diff
changeset
|
410 - "transparent" is extra |
0457d49eb2d9
patch 8.1.1407: popup_create() does not support text properties
Bram Moolenaar <Bram@vim.org>
parents:
16809
diff
changeset
|
411 So we get: |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
412 col starting column, counted in bytes, use one for the |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
413 first column. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
414 length length of text in bytes; can be zero |
16811
0457d49eb2d9
patch 8.1.1407: popup_create() does not support text properties
Bram Moolenaar <Bram@vim.org>
parents:
16809
diff
changeset
|
415 end_lnum line number for the end of the text |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
416 end_col column just after the text; not used when "length" is |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
417 present; when {col} and "end_col" are equal, this is a |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
418 zero-width text property |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
419 id user defined ID for the property; when omitted zero is |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
420 used |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
421 type name of the text property type, as added with |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
422 |prop_type_add()| |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
423 transparent do not show these characters, show the text under it; |
16871 | 424 if there is a border character to the right or below |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
425 it will be made transparent as well |
16811
0457d49eb2d9
patch 8.1.1407: popup_create() does not support text properties
Bram Moolenaar <Bram@vim.org>
parents:
16809
diff
changeset
|
426 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
427 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
428 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
429 POPUP FILTER *popup-filter* |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
430 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
431 A callback that gets any typed keys while a popup is displayed. The filter is |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
432 not invoked when the popup is hidden. |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
433 |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
434 The filter can return TRUE to indicate the key has been handled and is to be |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
435 discarded, or FALSE to let Vim handle the key as usual in the current state. |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
436 In case it returns FALSE and there is another popup window visible, that |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
437 filter is also called. The filter of the popup window with the highest zindex |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
438 is called first. |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
439 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
440 The filter function is called with two arguments: the ID of the popup and the |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
441 key, e.g.: > |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
442 func MyFilter(winid, key) |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
443 if a:key == "\<F2>" |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
444 " do something |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
445 return 1 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
446 endif |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
447 if a:key == 'x' |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
448 call popup_close(a:winid) |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
449 return 1 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
450 endif |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
451 return 0 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
452 endfunc |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
453 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
454 Currently the key is what results after any mapping. This may change... |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
455 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
456 Some common key actions: |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
457 x close the popup (see note below) |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
458 cursor keys select another entry |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
459 Tab accept current suggestion |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
460 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
461 A mouse click arrives as <LeftMouse>. The coordinates are in |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
462 v:mouse_popup_col and v:mouse_popup_row. The top-left screen cell of the |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
463 popup is col 1, row 1 (not counting the border). |
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
464 |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
465 Vim provides standard filters |popup_filter_menu()| and |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
466 |popup_filter_yesno()|. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
467 |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
468 Note that "x" is the normal way to close a popup. You may want to use Esc, |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
469 but since many keys start with an Esc character, there may be a delay before |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
470 Vim recognizes the Esc key. If you do use Esc, it is reecommended to set the |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
471 'ttimeoutlen' option to 100 and set 'timeout' and/or 'ttimeout'. |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16871
diff
changeset
|
472 |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
473 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
474 POPUP CALLBACK *popup-callback* |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
475 |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
16724
diff
changeset
|
476 {not implemented yet} |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
477 A callback that is invoked when the popup closes. Used by |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
478 |popup_filter_menu()|. Invoked with two arguments: the ID of the popup and |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
479 the result, which would usually be an index in the popup lines, or whatever |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
480 the filter wants to pass. |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
481 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
482 ============================================================================== |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
483 3. Examples *popup-examples* |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
484 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
485 TODO |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
486 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
487 Prompt the user to press y/Y or n/N: > |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
488 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
489 func MyDialogHandler(id, result) |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
490 if a:result |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
491 " ... 'y' or 'Y' was pressed |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
492 endif |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
493 endfunc |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
494 |
16724
6030631a1541
patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents:
16654
diff
changeset
|
495 call popup_create(['Continue? y/n'], { |
16654
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
496 \ 'filter': 'popup_filter_yesno', |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
497 \ 'callback': 'MyDialogHandler', |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
498 \ }) |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
499 < |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
500 |
7d54a66c95d7
patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
501 vim:tw=78:ts=8:noet:ft=help:norl: |