mirror of
https://github.com/neovim/neovim.git
synced 2025-09-15 07:48:18 +00:00
refactor(misc1): move way beep functions elsewhere
This commit is contained in:
@@ -300,6 +300,44 @@ void ui_busy_stop(void)
|
||||
}
|
||||
}
|
||||
|
||||
/// Emit a bell or visualbell as a warning
|
||||
///
|
||||
/// 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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ui_attach_impl(UI *ui, uint64_t chanid)
|
||||
{
|
||||
if (ui_count == MAX_UI_COUNT) {
|
||||
|
Reference in New Issue
Block a user