mirror of
https://github.com/vim/vim.git
synced 2025-10-18 07:54:29 -04:00
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Problem: All popup functionality is in functions, except :popupclear. Solution: Add popup_clear() for consistency. Also rename sound_stopall() to sound_clear().
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.1. Last change: 2019 Jun 06
|
||||
*eval.txt* For Vim version 8.1. Last change: 2019 Jun 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2623,12 +2623,12 @@ sin({expr}) Float sine of {expr}
|
||||
sinh({expr}) Float hyperbolic sine of {expr}
|
||||
sort({list} [, {func} [, {dict}]])
|
||||
List sort {list}, using {func} to compare
|
||||
sound_clear() none stop playing all sounds
|
||||
sound_playevent({name} [, {callback}])
|
||||
Number play an event sound
|
||||
sound_playfile({name} [, {callback}])
|
||||
Number play a sound file
|
||||
sound_playfile({path} [, {callback}])
|
||||
Number play sound file {path}
|
||||
sound_stop({id}) none stop playing sound {id}
|
||||
sound_stopall() none stop playing all sounds
|
||||
soundfold({word}) String sound-fold {word}
|
||||
spellbadword() String badly spelled word at cursor
|
||||
spellsuggest({word} [, {max} [, {capital}]])
|
||||
@@ -7360,7 +7360,7 @@ prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
not just the first one
|
||||
A property matches when either "id" or "type" matches.
|
||||
If buffer "bufnr" does not exist you get an error message.
|
||||
If buffer 'bufnr" is not loaded then nothing happens.
|
||||
If buffer "bufnr" is not loaded then nothing happens.
|
||||
|
||||
Returns the number of properties that were removed.
|
||||
|
||||
@@ -8852,6 +8852,10 @@ sort({list} [, {func} [, {dict}]]) *sort()* *E702*
|
||||
return a:i1 - a:i2
|
||||
endfunc
|
||||
<
|
||||
sound_clear() *sound_clear()*
|
||||
Stop playing all sounds.
|
||||
{only available when compiled with the +sound feature}
|
||||
|
||||
*sound_playevent()*
|
||||
sound_playevent({name} [, {callback}])
|
||||
Play a sound identified by {name}. Which event names are
|
||||
@@ -8877,22 +8881,17 @@ sound_playevent({name} [, {callback}])
|
||||
{only available when compiled with the +sound feature}
|
||||
|
||||
*sound_playfile()*
|
||||
sound_playfile({name} [, {callback}])
|
||||
Like `sound_playevent()` but play sound file {name}. {name}
|
||||
sound_playfile({path} [, {callback}])
|
||||
Like `sound_playevent()` but play sound file {path}. {path}
|
||||
must be a full path. On Ubuntu you may find files to play
|
||||
with this command: >
|
||||
:!find /usr/share/sounds -type f | grep -v index.theme
|
||||
|
||||
< {only available when compiled with the +sound feature}
|
||||
|
||||
|
||||
sound_stop({id}) *sound_stop()*
|
||||
Stop playing sound {id}. {id} must be previously returned by
|
||||
`sound_playevent()` or `sound_playfile()`.
|
||||
{only available when compiled with the +sound feature}
|
||||
|
||||
sound_stopall() *sound_stopall()*
|
||||
Stop playing all sounds.
|
||||
{only available when compiled with the +sound feature}
|
||||
|
||||
*soundfold()*
|
||||
@@ -13083,19 +13082,22 @@ Sometimes old syntax of functionality gets in the way of making Vim better.
|
||||
When support is taken away this will break older Vim scripts. To make this
|
||||
explicit the |:scriptversion| command can be used. When a Vim script is not
|
||||
compatible with older versions of Vim this will give an explicit error,
|
||||
instead of failing in mysterious ways. >
|
||||
instead of failing in mysterious ways.
|
||||
|
||||
*scriptversion-1* >
|
||||
:scriptversion 1
|
||||
< This is the original Vim script, same as not using a |:scriptversion|
|
||||
command. Can be used to go back to old syntax for a range of lines.
|
||||
Test for support with: >
|
||||
has('vimscript-1')
|
||||
|
||||
< *scriptversion-2* >
|
||||
:scriptversion 2
|
||||
< String concatenation with "." is not supported, use ".." instead.
|
||||
This avoids the ambiguity using "." for Dict member access and
|
||||
floating point numbers. Now ".5" means the number 0.5.
|
||||
>
|
||||
|
||||
*scriptversion-3* >
|
||||
:scriptversion 3
|
||||
< All |vim-variable|s must be prefixed by "v:". E.g. "version" doesn't
|
||||
work as |v:version| anymore, it can be used as a normal variable.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||
*popup.txt* For Vim version 8.1. Last change: 2019 Jun 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -89,15 +89,18 @@ Probably 2. is the best choice.
|
||||
|
||||
|
||||
IMPLEMENTATION:
|
||||
- Code is in popupwin.c
|
||||
- buffers remain after popup was deleted.
|
||||
- do not redraw whole window when popup was changed, mark affected lines for
|
||||
redraw.
|
||||
- Why does 'nrformats' leak from the popup window buffer???
|
||||
- Make redrawing more efficient and avoid flicker.
|
||||
First draw popups, creating a mask, use the mask in screen_line() when
|
||||
drawing other windows and stuff. Mask contains zindex of popups.
|
||||
Keep mask until next update_screen(), use when drawing status lines.
|
||||
Remove update_popup() calls after draw_tabline()/updating statusline
|
||||
Fix redrawing problem with completion.
|
||||
Fix redrawing problem when scrolling non-current window
|
||||
- Add 'balloonpopup': instead of showing text, let the callback open a balloon
|
||||
and return the window ID. The popup will then be closed when the mouse
|
||||
moves, except when it moves inside the popup.
|
||||
- For the "moved" property also include mouse movement?
|
||||
- Make redrawing more efficient and avoid flicker:
|
||||
- put popup menu also put in popup_mask?
|
||||
- Use changes in popup_mask to decide what windows and range of lines to
|
||||
redraw?
|
||||
- Disable commands, feedkeys(), CTRL-W, etc. in a popup window.
|
||||
Use NOT_IN_POPUP_WINDOW for more commands.
|
||||
- Invoke filter with character before mapping?
|
||||
@@ -115,6 +118,33 @@ THIS IS UNDER DESIGN - ANYTHING MAY STILL CHANGE
|
||||
|
||||
[functions to be moved to eval.txt later, keep overview of functions here]
|
||||
|
||||
popup_atcursor({text}, {options}) *popup_atcursor()*
|
||||
Show the {text} above the cursor, and close it when the cursor
|
||||
moves. This works like: >
|
||||
call popup_create({text}, {
|
||||
\ 'pos': 'botleft',
|
||||
\ 'line': 'cursor-1',
|
||||
\ 'col': 'cursor',
|
||||
\ 'moved': 'WORD',
|
||||
\ })
|
||||
< Use {options} to change the properties.
|
||||
|
||||
|
||||
*popup_clear()*
|
||||
popup_clear() Emergency solution to a misbehaving plugin: close all popup
|
||||
windows.
|
||||
|
||||
|
||||
popup_close({id} [, {result}]) *popup_close()*
|
||||
Close popup {id}. The window and the associated buffer will
|
||||
be deleted.
|
||||
|
||||
If the popup has a callback it will be called just before the
|
||||
popup window is deleted. If the optional {result} is present
|
||||
it will be passed as the second argument of the callback.
|
||||
Otherwise zero is passed to the callback.
|
||||
|
||||
|
||||
popup_create({text}, {options}) *popup_create()*
|
||||
Open a popup window showing {text}, which is either:
|
||||
- a string
|
||||
@@ -133,16 +163,6 @@ popup_create({text}, {options}) *popup_create()*
|
||||
< In case of failure zero is returned.
|
||||
|
||||
|
||||
popup_close({id} [, {result}]) *popup_close()*
|
||||
Close popup {id}. The window and the associated buffer will
|
||||
be deleted.
|
||||
|
||||
If the popup has a callback it will be called just before the
|
||||
popup window is deleted. If the optional {result} is present
|
||||
it will be passed as the second argument of the callback.
|
||||
Otherwise zero is passed to the callback.
|
||||
|
||||
|
||||
popup_dialog({text}, {options}) *popup_dialog()*
|
||||
{not implemented yet}
|
||||
Just like |popup_create()| but with these default options: >
|
||||
@@ -155,70 +175,6 @@ popup_dialog({text}, {options}) *popup_dialog()*
|
||||
< Use {options} to change the properties.
|
||||
|
||||
|
||||
popup_notification({text}, {options}) *popup_notification()*
|
||||
{not implemented yet}
|
||||
Show the {text} for 3 seconds at the top of the Vim window.
|
||||
This works like: >
|
||||
call popup_create({text}, {
|
||||
\ 'line': 1,
|
||||
\ 'col': 10,
|
||||
\ 'time': 3000,
|
||||
\ 'tab': -1,
|
||||
\ 'zindex': 200,
|
||||
\ 'highlight': 'WarningMsg',
|
||||
\ 'border': [],
|
||||
\ })
|
||||
< Use {options} to change the properties.
|
||||
|
||||
|
||||
popup_atcursor({text}, {options}) *popup_atcursor()*
|
||||
Show the {text} above the cursor, and close it when the cursor
|
||||
moves. This works like: >
|
||||
call popup_create({text}, {
|
||||
\ 'pos': 'botleft',
|
||||
\ 'line': 'cursor-1',
|
||||
\ 'col': 'cursor',
|
||||
\ 'moved': 'WORD',
|
||||
\ })
|
||||
< Use {options} to change the properties.
|
||||
|
||||
|
||||
popup_menu({text}, {options}) *popup_menu()*
|
||||
{not implemented yet}
|
||||
Show the {text} near the cursor, handle selecting one of the
|
||||
items with cursorkeys, and close it an item is selected with
|
||||
Space or Enter. {text} should have multiple lines to make this
|
||||
useful. This works like: >
|
||||
call popup_create({text}, {
|
||||
\ 'pos': 'center',
|
||||
\ 'zindex': 200,
|
||||
\ 'wrap': 0,
|
||||
\ 'border': [],
|
||||
\ 'filter': 'popup_filter_menu',
|
||||
\ })
|
||||
< Use {options} to change the properties. Should at least set
|
||||
"callback" to a function that handles the selected item.
|
||||
|
||||
|
||||
popup_hide({id}) *popup_hide()*
|
||||
If {id} is a displayed popup, hide it now. If the popup has a
|
||||
filter it will not be invoked for so long as the popup is
|
||||
hidden.
|
||||
If window {id} does not exist nothing happens. If window {id}
|
||||
exists but is not a popup window an error is given. *E993*
|
||||
|
||||
popup_show({id}) *popup_show()*
|
||||
If {id} is a hidden popup, show it now.
|
||||
For {id} see `popup_hide()`.
|
||||
|
||||
popup_move({id}, {options}) *popup_move()*
|
||||
Move popup {id} to the position speficied with {options}.
|
||||
{options} may contain the items from |popup_create()| that
|
||||
specify the popup position: "line", "col", "pos", "maxheight",
|
||||
"minheight", "maxwidth" and "minwidth".
|
||||
For {id} see `popup_hide()`.
|
||||
|
||||
|
||||
popup_filter_menu({id}, {key}) *popup_filter_menu()*
|
||||
{not implemented yet}
|
||||
Filter that can be used for a popup. It handles the cursor
|
||||
@@ -237,11 +193,6 @@ popup_filter_yesno({id}, {key}) *popup_filter_yesno()*
|
||||
pressing 'n'.
|
||||
|
||||
|
||||
popup_setoptions({id}, {options}) *popup_setoptions()*
|
||||
{not implemented yet}
|
||||
Override options in popup {id} with entries in {options}.
|
||||
|
||||
|
||||
popup_getoptions({id}) *popup_getoptions()*
|
||||
Return the {options} for popup {id} in a Dict.
|
||||
A zero value means the option was not set. For "zindex" the
|
||||
@@ -253,6 +204,7 @@ popup_getoptions({id}) *popup_getoptions()*
|
||||
|
||||
< If popup window {id} is not found an empty Dict is returned.
|
||||
|
||||
|
||||
popup_getpos({id}) *popup_getpos()*
|
||||
Return the position and size of popup {id}. Returns a Dict
|
||||
with these entries:
|
||||
@@ -274,9 +226,64 @@ popup_getpos({id}) *popup_getpos()*
|
||||
If popup window {id} is not found an empty Dict is returned.
|
||||
|
||||
|
||||
*:popupclear* *:popupc*
|
||||
:popupc[lear] Emergency solution to a misbehaving plugin: close all popup
|
||||
windows.
|
||||
popup_hide({id}) *popup_hide()*
|
||||
If {id} is a displayed popup, hide it now. If the popup has a
|
||||
filter it will not be invoked for so long as the popup is
|
||||
hidden.
|
||||
If window {id} does not exist nothing happens. If window {id}
|
||||
exists but is not a popup window an error is given. *E993*
|
||||
|
||||
|
||||
popup_menu({text}, {options}) *popup_menu()*
|
||||
{not implemented yet}
|
||||
Show the {text} near the cursor, handle selecting one of the
|
||||
items with cursorkeys, and close it an item is selected with
|
||||
Space or Enter. {text} should have multiple lines to make this
|
||||
useful. This works like: >
|
||||
call popup_create({text}, {
|
||||
\ 'pos': 'center',
|
||||
\ 'zindex': 200,
|
||||
\ 'wrap': 0,
|
||||
\ 'border': [],
|
||||
\ 'filter': 'popup_filter_menu',
|
||||
\ })
|
||||
< Use {options} to change the properties. Should at least set
|
||||
"callback" to a function that handles the selected item.
|
||||
|
||||
|
||||
popup_move({id}, {options}) *popup_move()*
|
||||
Move popup {id} to the position speficied with {options}.
|
||||
{options} may contain the items from |popup_create()| that
|
||||
specify the popup position: "line", "col", "pos", "maxheight",
|
||||
"minheight", "maxwidth" and "minwidth".
|
||||
For {id} see `popup_hide()`.
|
||||
|
||||
|
||||
popup_notification({text}, {options}) *popup_notification()*
|
||||
{not implemented yet}
|
||||
Show the {text} for 3 seconds at the top of the Vim window.
|
||||
This works like: >
|
||||
call popup_create({text}, {
|
||||
\ 'line': 1,
|
||||
\ 'col': 10,
|
||||
\ 'time': 3000,
|
||||
\ 'tab': -1,
|
||||
\ 'zindex': 200,
|
||||
\ 'highlight': 'WarningMsg',
|
||||
\ 'border': [],
|
||||
\ })
|
||||
< Use {options} to change the properties.
|
||||
|
||||
|
||||
popup_show({id}) *popup_show()*
|
||||
If {id} is a hidden popup, show it now.
|
||||
For {id} see `popup_hide()`.
|
||||
|
||||
|
||||
popup_setoptions({id}, {options}) *popup_setoptions()*
|
||||
{not implemented yet}
|
||||
Override options in popup {id} with entries in {options}.
|
||||
|
||||
|
||||
|
||||
POPUP BUFFER AND WINDOW *popup-buffer*
|
||||
@@ -405,7 +412,8 @@ The second argument of |popup_create()| is a dictionary with options:
|
||||
By default a double line is used all around when
|
||||
'encoding' is "utf-8", otherwise ASCII characters are
|
||||
used.
|
||||
zindex Priority for the popup, default 50.
|
||||
zindex Priority for the popup, default 50. Mininum value is
|
||||
1, maximum value is 32000.
|
||||
time Time in milliseconds after which the popup will close.
|
||||
When omitted |popup_close()| must be used.
|
||||
moved Specifies to close the popup if the cursor moved:
|
||||
@@ -496,7 +504,7 @@ Vim provides standard filters |popup_filter_menu()| and
|
||||
|
||||
Note that "x" is the normal way to close a popup. You may want to use Esc,
|
||||
but since many keys start with an Esc character, there may be a delay before
|
||||
Vim recognizes the Esc key. If you do use Esc, it is reecommended to set the
|
||||
Vim recognizes the Esc key. If you do use Esc, it is recommended to set the
|
||||
'ttimeoutlen' option to 100 and set 'timeout' and/or 'ttimeout'.
|
||||
|
||||
|
||||
|
@@ -812,6 +812,7 @@ static struct fst
|
||||
#endif
|
||||
#ifdef FEAT_TEXT_PROP
|
||||
{"popup_atcursor", 2, 2, f_popup_atcursor},
|
||||
{"popup_clear", 0, 0, f_popup_clear},
|
||||
{"popup_close", 1, 2, f_popup_close},
|
||||
{"popup_create", 2, 2, f_popup_create},
|
||||
{"popup_getoptions", 1, 1, f_popup_getoptions},
|
||||
@@ -928,10 +929,10 @@ static struct fst
|
||||
#endif
|
||||
{"sort", 1, 3, f_sort},
|
||||
#ifdef FEAT_SOUND
|
||||
{"sound_clear", 0, 0, f_sound_clear},
|
||||
{"sound_playevent", 1, 2, f_sound_playevent},
|
||||
{"sound_playfile", 1, 2, f_sound_playfile},
|
||||
{"sound_stop", 1, 1, f_sound_stop},
|
||||
{"sound_stopall", 0, 0, f_sound_stopall},
|
||||
#endif
|
||||
{"soundfold", 1, 1, f_soundfold},
|
||||
{"spellbadword", 0, 1, f_spellbadword},
|
||||
|
@@ -21,16 +21,16 @@ static const unsigned short cmdidxs1[26] =
|
||||
/* n */ 285,
|
||||
/* o */ 305,
|
||||
/* p */ 317,
|
||||
/* q */ 357,
|
||||
/* r */ 360,
|
||||
/* s */ 380,
|
||||
/* t */ 448,
|
||||
/* u */ 493,
|
||||
/* v */ 504,
|
||||
/* w */ 522,
|
||||
/* x */ 536,
|
||||
/* y */ 546,
|
||||
/* z */ 547
|
||||
/* q */ 356,
|
||||
/* r */ 359,
|
||||
/* s */ 379,
|
||||
/* t */ 447,
|
||||
/* u */ 492,
|
||||
/* v */ 503,
|
||||
/* w */ 521,
|
||||
/* x */ 535,
|
||||
/* y */ 545,
|
||||
/* z */ 546
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -56,7 +56,7 @@ static const unsigned char cmdidxs2[26][26] =
|
||||
/* m */ { 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 },
|
||||
/* n */ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 10, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0 },
|
||||
/* o */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 0, 9, 0, 11, 0, 0, 0 },
|
||||
/* p */ { 1, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 10, 0, 0, 17, 18, 27, 0, 28, 0, 29, 0 },
|
||||
/* p */ { 1, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 0, 0, 16, 17, 26, 0, 27, 0, 28, 0 },
|
||||
/* q */ { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
/* r */ { 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 19, 0, 0, 0, 0 },
|
||||
/* s */ { 2, 6, 15, 0, 19, 23, 0, 25, 26, 0, 0, 29, 31, 35, 39, 41, 0, 49, 0, 50, 0, 62, 63, 0, 64, 0 },
|
||||
@@ -69,4 +69,4 @@ static const unsigned char cmdidxs2[26][26] =
|
||||
/* z */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
static const int command_count = 560;
|
||||
static const int command_count = 559;
|
||||
|
@@ -1091,9 +1091,6 @@ EX(CMD_pop, "pop", ex_tag,
|
||||
EX(CMD_popup, "popup", ex_popup,
|
||||
NEEDARG|EXTRA|BANG|TRLBAR|NOTRLCOM|CMDWIN,
|
||||
ADDR_NONE),
|
||||
EX(CMD_popupclear, "popupclear", ex_popupclear,
|
||||
TRLBAR,
|
||||
ADDR_NONE),
|
||||
EX(CMD_ppop, "ppop", ex_ptag,
|
||||
RANGE|BANG|COUNT|TRLBAR|ZEROR,
|
||||
ADDR_OTHER),
|
||||
|
@@ -710,6 +710,15 @@ popup_create(typval_T *argvars, typval_T *rettv, create_type_T type)
|
||||
popup_mask_refresh = TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* popup_clear()
|
||||
*/
|
||||
void
|
||||
f_popup_clear(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
{
|
||||
close_all_popups();
|
||||
}
|
||||
|
||||
/*
|
||||
* popup_create({text}, {options})
|
||||
*/
|
||||
@@ -928,12 +937,6 @@ close_all_popups(void)
|
||||
popup_close(curtab->tp_first_popupwin->w_id);
|
||||
}
|
||||
|
||||
void
|
||||
ex_popupclear(exarg_T *eap UNUSED)
|
||||
{
|
||||
close_all_popups();
|
||||
}
|
||||
|
||||
/*
|
||||
* popup_move({id}, {options})
|
||||
*/
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/* popupwin.c */
|
||||
void popup_adjust_position(win_T *wp);
|
||||
void f_popup_clear(typval_T *argvars, typval_T *rettv);
|
||||
void f_popup_create(typval_T *argvars, typval_T *rettv);
|
||||
void f_popup_atcursor(typval_T *argvars, typval_T *rettv);
|
||||
int popup_any_visible(void);
|
||||
@@ -9,7 +10,6 @@ void f_popup_show(typval_T *argvars, typval_T *rettv);
|
||||
void popup_close(int id);
|
||||
void popup_close_tabpage(tabpage_T *tp, int id);
|
||||
void close_all_popups(void);
|
||||
void ex_popupclear(exarg_T *eap);
|
||||
void f_popup_move(typval_T *argvars, typval_T *rettv);
|
||||
void f_popup_getpos(typval_T *argvars, typval_T *rettv);
|
||||
void f_popup_getoptions(typval_T *argvars, typval_T *rettv);
|
||||
|
@@ -2,6 +2,6 @@
|
||||
void f_sound_playevent(typval_T *argvars, typval_T *rettv);
|
||||
void f_sound_playfile(typval_T *argvars, typval_T *rettv);
|
||||
void f_sound_stop(typval_T *argvars, typval_T *rettv);
|
||||
void f_sound_stopall(typval_T *argvars, typval_T *rettv);
|
||||
void f_sound_clear(typval_T *argvars, typval_T *rettv);
|
||||
void sound_free(void);
|
||||
/* vim: set ft=c : */
|
||||
|
11
src/sound.c
11
src/sound.c
@@ -156,12 +156,18 @@ f_sound_playevent(typval_T *argvars, typval_T *rettv)
|
||||
sound_play_common(argvars, rettv, FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
* implementation of sound_playfile({path} [, {callback}])
|
||||
*/
|
||||
void
|
||||
f_sound_playfile(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
sound_play_common(argvars, rettv, TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
* implementation of sound_stop({id})
|
||||
*/
|
||||
void
|
||||
f_sound_stop(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
{
|
||||
@@ -169,8 +175,11 @@ f_sound_stop(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
ca_context_cancel(context, tv_get_number(&argvars[0]));
|
||||
}
|
||||
|
||||
/*
|
||||
* implementation of sound_clear()
|
||||
*/
|
||||
void
|
||||
f_sound_stopall(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
f_sound_clear(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
{
|
||||
if (context != NULL)
|
||||
{
|
||||
|
@@ -61,7 +61,7 @@ func Test_simple_popup()
|
||||
call term_wait(buf)
|
||||
call term_sendkeys(buf, "0")
|
||||
call term_wait(buf)
|
||||
call term_sendkeys(buf, ":popupclear\<CR>")
|
||||
call term_sendkeys(buf, ":call popup_clear()\<CR>")
|
||||
call VerifyScreenDump(buf, 'Test_popupwin_08', {})
|
||||
|
||||
" clean up
|
||||
@@ -271,7 +271,7 @@ func Test_popup_in_tab()
|
||||
call assert_equal(0, popup_getpos(winid).visible)
|
||||
quit
|
||||
call assert_equal(1, popup_getpos(winid).visible)
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
" global popup is visible in any tab
|
||||
let winid = popup_create("text", {'tab': -1})
|
||||
@@ -280,7 +280,7 @@ func Test_popup_in_tab()
|
||||
call assert_equal(1, popup_getpos(winid).visible)
|
||||
quit
|
||||
call assert_equal(1, popup_getpos(winid).visible)
|
||||
popupclear
|
||||
call popup_clear()
|
||||
endfunc
|
||||
|
||||
func Test_popup_valid_arguments()
|
||||
@@ -288,13 +288,13 @@ func Test_popup_valid_arguments()
|
||||
let winid = popup_create("text", {"col": 0})
|
||||
let pos = popup_getpos(winid)
|
||||
call assert_inrange(&columns / 2 - 1, &columns / 2 + 1, pos.col)
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
" using cursor column has minimum value of 1
|
||||
let winid = popup_create("text", {"col": 'cursor-100'})
|
||||
let pos = popup_getpos(winid)
|
||||
call assert_equal(1, pos.col)
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
" center
|
||||
let winid = popup_create("text", {"pos": 'center'})
|
||||
@@ -303,57 +303,57 @@ func Test_popup_valid_arguments()
|
||||
call assert_inrange(around - 1, around + 1, pos.col)
|
||||
let around = (&lines - pos.height) / 2
|
||||
call assert_inrange(around - 1, around + 1, pos.line)
|
||||
popupclear
|
||||
call popup_clear()
|
||||
endfunc
|
||||
|
||||
func Test_popup_invalid_arguments()
|
||||
call assert_fails('call popup_create(666, {})', 'E714:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", "none")', 'E715:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
call assert_fails('call popup_create("text", {"col": "xxx"})', 'E475:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"col": "cursor8"})', 'E15:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"col": "cursor+x"})', 'E15:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"col": "cursor+8x"})', 'E15:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
call assert_fails('call popup_create("text", {"line": "xxx"})', 'E475:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"line": "cursor8"})', 'E15:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"line": "cursor+x"})', 'E15:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"line": "cursor+8x"})', 'E15:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
call assert_fails('call popup_create("text", {"pos": "there"})', 'E475:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"padding": "none"})', 'E714:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"border": "none"})', 'E714:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"borderhighlight": "none"})', 'E714:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create("text", {"borderchars": "none"})', 'E714:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
call assert_fails('call popup_create([{"text": "text"}, 666], {})', 'E715:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create([{"text": "text", "props": "none"}], {})', 'E714:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
call assert_fails('call popup_create([{"text": "text", "props": ["none"]}], {})', 'E715:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
endfunc
|
||||
|
||||
func Test_win_execute_closing_curwin()
|
||||
split
|
||||
let winid = popup_create('some text', {})
|
||||
call assert_fails('call win_execute(winid, winnr() .. "close")', 'E994')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
endfunc
|
||||
|
||||
func Test_win_execute_not_allowed()
|
||||
@@ -374,7 +374,7 @@ func Test_win_execute_not_allowed()
|
||||
call assert_fails('call win_execute(winid, "wincmd w")', 'E994:')
|
||||
call assert_fails('call win_execute(winid, "wincmd t")', 'E994:')
|
||||
call assert_fails('call win_execute(winid, "wincmd b")', 'E994:')
|
||||
popupclear
|
||||
call popup_clear()
|
||||
endfunc
|
||||
|
||||
func Test_popup_with_wrap()
|
||||
@@ -770,7 +770,7 @@ func Test_popup_filter()
|
||||
call assert_equal(-1, winbufnr(winid))
|
||||
|
||||
delfunc MyPopupFilter
|
||||
popupclear
|
||||
call popup_clear()
|
||||
endfunc
|
||||
|
||||
func Test_popup_close_callback()
|
||||
@@ -944,7 +944,7 @@ func Test_popup_position_adjust()
|
||||
endfor
|
||||
endfor
|
||||
|
||||
popupclear
|
||||
call popup_clear()
|
||||
%bwipe!
|
||||
endfunc
|
||||
|
||||
@@ -1010,7 +1010,7 @@ func Test_adjust_left_past_screen_width()
|
||||
call popup_close( p )
|
||||
redraw
|
||||
|
||||
popupclear
|
||||
call popup_clear()
|
||||
%bwipe!
|
||||
endfunc
|
||||
|
||||
@@ -1026,7 +1026,7 @@ func Test_popup_moved()
|
||||
" trigger the check for last_cursormoved by going into insert mode
|
||||
call feedkeys("li\<Esc>", 'xt')
|
||||
call assert_equal({}, popup_getpos(winid))
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
exe "normal gg0/word\<CR>"
|
||||
let winid = popup_atcursor('text', {'moved': 'word'})
|
||||
@@ -1034,7 +1034,7 @@ func Test_popup_moved()
|
||||
call assert_equal(1, popup_getpos(winid).visible)
|
||||
call feedkeys("hi\<Esc>", 'xt')
|
||||
call assert_equal({}, popup_getpos(winid))
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
exe "normal gg0/word\<CR>"
|
||||
let winid = popup_atcursor('text', {'moved': 'word'})
|
||||
@@ -1046,7 +1046,7 @@ func Test_popup_moved()
|
||||
call assert_equal(1, popup_getpos(winid).visible)
|
||||
call feedkeys("eli\<Esc>", 'xt')
|
||||
call assert_equal({}, popup_getpos(winid))
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
" WORD is the default
|
||||
exe "normal gg0/WORD\<CR>"
|
||||
@@ -1059,7 +1059,7 @@ func Test_popup_moved()
|
||||
call assert_equal(1, popup_getpos(winid).visible)
|
||||
call feedkeys("Eli\<Esc>", 'xt')
|
||||
call assert_equal({}, popup_getpos(winid))
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
exe "normal gg0/word\<CR>"
|
||||
let winid = popup_atcursor('text', {'moved': [5, 10]})
|
||||
@@ -1070,7 +1070,7 @@ func Test_popup_moved()
|
||||
call assert_equal(1, popup_getpos(winid).visible)
|
||||
call feedkeys("eli\<Esc>", 'xt')
|
||||
call assert_equal({}, popup_getpos(winid))
|
||||
popupclear
|
||||
call popup_clear()
|
||||
|
||||
bwipe!
|
||||
call test_override('ALL', 0)
|
||||
|
@@ -41,7 +41,7 @@ func Test_play_silent()
|
||||
let id2 = sound_playfile(fname, 'PlayCallback')
|
||||
call assert_true(id2 > 0)
|
||||
sleep 20m
|
||||
call sound_stopall()
|
||||
call sound_clear()
|
||||
call assert_equal(id2, g:id)
|
||||
call assert_equal(1, g:result)
|
||||
endfunc
|
||||
|
@@ -777,6 +777,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1513,
|
||||
/**/
|
||||
1512,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user