annotate runtime/doc/popup.txt @ 16809:5ff14f96f1c9 v8.1.1406

patch 8.1.1406: popup_hide() and popup_show() not implemented yet commit https://github.com/vim/vim/commit/2cd0dce898995a2b05f7285a70efec3f67f579f5 Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 26 22:17:52 2019 +0200 patch 8.1.1406: popup_hide() and popup_show() not implemented yet Problem: popup_hide() and popup_show() not implemented yet. Solution: Implement the functions.
author Bram Moolenaar <Bram@vim.org>
date Sun, 26 May 2019 22:30:05 +0200
parents c002c4899529
children 0457d49eb2d9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16808
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
1 *popup.txt* For Vim version 8.1. Last change: 2019 May 26
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
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
16 {not available if the |+eval| feature was disabled at compile time}
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
17 {not able to use text properties if the |+textprop| feature was disabled at
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
18 compile time}
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20 ==============================================================================
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
21 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
22
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
23 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
24 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
25 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
26
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
27 A popup window can be used for such things as:
16808
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
28 - 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
29 - 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
30 - 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
31 - 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
32
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
33 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
34 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
35
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
36 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
37 "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
38 hi MyPopupColor ctermbg=lightblue guibg=lightblue
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
39 call setwinvar(winid, '&wincolor', 'MyPopupColor')
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
40
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
41 '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
42
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
43 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
44 The size can be up to the whole Vim window and it overlaps other windows.
16808
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
45 Popup windows can also overlap each other.
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
46
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
47 The popup window contains a buffer, and that buffer is always associated with
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
48 the popup window. The window cannot be used in Normal, Visual or Insert mode,
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
49 it does not get keyboard focus. You can use functions like `setbufline()` to
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
50 change the text in the buffer. There are more differences from how this
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
51 window and buffer behave compared to regular windows and buffers, see
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
52 |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
53
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
54 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
55 - 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
56 - 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
57
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
58
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
59 WINDOW POSITION AND SIZE *popup-position*
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
60
16808
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
61 The height of the window is normally equal to the number of, possibly
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
62 wrapping, lines in the buffer. It can be limited with the "maxheight"
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
63 property. You can use empty lines to increase the height.
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
64
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
65 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
66 It can be limited with the "maxwidth" property. You can use spaces to
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
67 increase the width.
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
68
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
69 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
70 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
71
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
72
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
73 TODO:
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
74
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
75 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
76
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
77 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
78 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
79 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
80 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
81 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
82 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
83
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
84
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
85 IMPLEMENTATION:
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
86 - Code is in popupwin.c
16808
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
87 - Implement list of lines with text properties
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
88 - Implement filter.
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
89 - Handle screen resize in screenalloc().
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
90 - Make redrawing more efficient and avoid flicker.
16808
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
91 - Properly figure out the size and position.
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
92 - 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
93
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
94
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
95 ==============================================================================
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
96 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
97
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
98 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
99
16808
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
100 [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
101
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
102 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
103 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
104 - a string
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
105 - 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
106 - a list of text lines with text properties
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
107 {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
108 {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
109 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
110
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
111 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
112 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
113 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
114 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
115 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
116 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
117 < 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
118
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
119
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
120 popup_close({id}) *popup_close()*
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
121 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
122 be deleted.
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
123
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
124
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
125 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
126 {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
127 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
128 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
129 \ 'pos': 'center',
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
130 \ 'zindex': 200,
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
131 \ 'border': [],
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
132 \})
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
133 < 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
134
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
135
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
136 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
137 {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
138 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
139 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
140 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
141 \ 'line': 1,
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
142 \ 'col': 10,
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
143 \ '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
144 \ 'tab': -1,
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
145 \ 'zindex': 200,
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
146 \ 'highlight': 'WarningMsg',
16800
12e3a3afdb6a patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents: 16778
diff changeset
147 \ 'border': [],
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
148 \ })
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
149 < 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
150
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
151
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
152 popup_atcursor({text}, {options}) *popup_atcursor()*
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} 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
155 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
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': 'cursor-1',
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
158 \ 'col': 'cursor',
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
159 \ 'moved': 'WORD',
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
160 \ })
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
161 < 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
162
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
163
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
164 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
165 {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
166 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
167 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
168 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
169 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
170 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
171 \ 'pos': 'center',
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
172 \ 'zindex': 200,
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
173 \ 'wrap': 0,
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
174 \ 'border': [],
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
175 \ '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
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. 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
178 "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
179
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
180
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
181 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
182 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
183 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
184 hidden.
16809
5ff14f96f1c9 patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
185 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
186 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
187
5ff14f96f1c9 patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
188 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
189 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
190 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
191
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
192 popup_move({id}, {options}) *popup_move()*
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
193 {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
194 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
195 {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
196 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
197 "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
198 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
199
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
200
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
201 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
202 {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
203 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
204 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
205 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
206 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
207 argument.
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
208
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
209
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
210 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
211 {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
212 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
213 '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
214 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
215 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
216 pressing 'n'.
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
217
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
218
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
219 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
220 {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
221 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
222
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 popup_getoptions({id}) *popup_getoptions()*
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
225 {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
226 Return the {options} for popup {id}.
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
227
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
228 popup_getposition({id}) *popup_getposition()*
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
229 {not implemented yet}
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
230 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
231 with these entries:
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
232 col screen column of the popup, one-based
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
233 line screen line of the popup, one-based
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
234 width width of the popup in screen cells
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
235 height height of the popup in screen cells
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
236
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
237 win_execute({id}, {command})
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
238 {not implemented yet}
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
239 Like `execute()` but in the context of window {id}.
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
240 The window will temporarily be made the current window,
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
241 without triggering autocommands.
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
242 Example: >
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
243 call win_execute(winid, 'syntax enable')
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
244 <
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
245
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
246 *:popupclear* *:popupc*
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
247 :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
248 windows.
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
249
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
250
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
251 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
252
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
253 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
254 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
255 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
256 - 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
257 - '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
258 - '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
259 - '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
260 - 'buflisted' is off
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
261 - 'undolevels' is -1: no undo at all
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
262 TODO: more
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
263
16808
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
264 It is possible to change these options, but anything might break then, so
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
265 better leave them alone.
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16806
diff changeset
266
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
267 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
268
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
269 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
270 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
271 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
272 call setbufvar(winbufnr(winid), '&filetype', 'java')
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
273
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
274
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
275 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
276
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
277 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
278 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
279 - a string
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
280 - 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
281 - a list of dictionaries, where each dictionary has these entries:
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
282 {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
283 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
284 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
285 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
286 |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
287 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
288 |popup-props|.
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
289
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
290 The second argument of |popup_create()| is a dictionary with options:
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
291 line screen line where to position the popup; can use
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
292 "cursor", "cursor+1" or "cursor-1" to use the line of
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
293 the cursor and add or subtract a number of lines;
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
294 default is "cursor-1".
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
295 {only number is implemented}
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
296 col screen column where to position the popup; can use
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
297 "cursor" to use the column of the cursor, "cursor+99"
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
298 and "cursor-99" to add or subtract a number of
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
299 columns; default is "cursor"
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
300 {only number is implemented}
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
301 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
302 defines what corner of the popup "line" and "col" are
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
303 used for. Default is "botleft". Alternatively
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
304 "center" can be used to position the popup in the
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
305 center of the Vim window.
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
306 {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
307 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
308 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
309 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
310 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
311 {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
312 maxheight maximum height
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
313 minheight minimum height
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
314 {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
315 maxwidth maximum width
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
316 minwidth minimum width
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
317 {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
318 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
319 `popup_show()` to unhide it.
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
320 {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
321 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
322 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
323 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
324 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
325 {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
326 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
327 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
328 {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
329 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
330 {not implemented yet}
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
331 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
332 the 'wincolor' option
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
333 border list with numbers, defining the border thickness
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
334 above/right/below/left of the popup; an empty list
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
335 uses a border of 1 all around
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
336 {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
337 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
338 {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
339 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
340 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
341 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
342 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
343 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
344 {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
345 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
346 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
347 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
348 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
349 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
350 |<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
351 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
352 column
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
353 {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
354 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
355 |popup-filter|
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
356 {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
357 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
358 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
359 {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
360
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
361 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
362 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
363 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
364
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
365 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
366 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
367 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
368
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
369
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
370 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
371
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
372 {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
373 These are similar to the third argument of |prop_add()|, but not exactly the
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
374 same, since they only apply to one line.
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
375 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
376 first column.
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
377 length length of text in bytes; can be zero
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
378 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
379 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
380 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
381 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
382 used
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
383 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
384 |prop_type_add()|
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
385 transparent do not show these characters, show the text under it;
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
386 if there is an border character to the right or below
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
387 it will be made transparent as well
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
388
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
389
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
390 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
391
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
392 {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
393 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
394 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
395
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
396 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
397 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
398 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
399 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
400 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
401
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
402 The filter function is called with two arguments: the ID of the popup and the
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
403 key.
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
404
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
405 Some common key actions:
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
406 Esc close the popup
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
407 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
408 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
409
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
410 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
411 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
412 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
413
16654
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
414 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
415 |popup_filter_yesno()|.
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
416
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
417
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
418 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
419
16778
eda4d65f232c patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents: 16724
diff changeset
420 {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
421 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
422 |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
423 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
424 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
425
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
426 ==============================================================================
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
427 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
428
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
429 TODO
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
430
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
431 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
432
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
433 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
434 if a:result
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
435 " ... '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
436 endif
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
437 endfunc
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
438
16724
6030631a1541 patch 8.1.1364: design for popup window support needs more details
Bram Moolenaar <Bram@vim.org>
parents: 16654
diff changeset
439 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
440 \ '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
441 \ 'callback': 'MyDialogHandler',
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
442 \ })
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
443 <
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
444
7d54a66c95d7 patch 8.1.1329: plans for popup window support are spread out
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
445 vim:tw=78:ts=8:noet:ft=help:norl: