mirror of
https://github.com/neovim/neovim.git
synced 2025-09-27 05:28:33 +00:00
refactor(misc1): move way beep functions elsewhere
This commit is contained in:
@@ -325,54 +325,6 @@ int prompt_for_number(int *mouse_used)
|
||||
return i;
|
||||
}
|
||||
|
||||
/*
|
||||
* flush map and typeahead buffers and give a warning for an error
|
||||
*/
|
||||
void beep_flush(void)
|
||||
{
|
||||
if (emsg_silent == 0) {
|
||||
flush_buffers(FLUSH_MINIMAL);
|
||||
vim_beep(BO_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
// Give a warning for an error
|
||||
// val is one of the BO_ values, e.g., BO_OPER
|
||||
void vim_beep(unsigned val)
|
||||
{
|
||||
called_vim_beep = true;
|
||||
|
||||
if (emsg_silent == 0) {
|
||||
if (!((bo_flags & val) || (bo_flags & BO_ALL))) {
|
||||
static int beeps = 0;
|
||||
static uint64_t start_time = 0;
|
||||
|
||||
// Only beep up to three times per half a second,
|
||||
// otherwise a sequence of beeps would freeze Vim.
|
||||
if (start_time == 0 || os_hrtime() - start_time > 500000000u) {
|
||||
beeps = 0;
|
||||
start_time = os_hrtime();
|
||||
}
|
||||
beeps++;
|
||||
if (beeps <= 3) {
|
||||
if (p_vb) {
|
||||
ui_call_visual_bell();
|
||||
} else {
|
||||
ui_call_bell();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// When 'debug' contains "beep" produce a message. If we are sourcing
|
||||
// a script or executing a function give the user a hint where the beep
|
||||
// comes from.
|
||||
if (vim_strchr(p_debug, 'e') != NULL) {
|
||||
msg_source(HL_ATTR(HLF_W));
|
||||
msg_attr(_("Beep!"), HL_ATTR(HLF_W));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// os_call_shell() wrapper. Handles 'verbose', :profile, and v:shell_error.
|
||||
/// Invalidates cached tags.
|
||||
///
|
||||
|
Reference in New Issue
Block a user