diff options
-rw-r--r-- | src/nvim/diff.c | 1 | ||||
-rw-r--r-- | src/nvim/getchar.c | 9 | ||||
-rw-r--r-- | src/nvim/mbyte.c | 1 | ||||
-rw-r--r-- | src/nvim/misc1.c | 48 | ||||
-rw-r--r-- | src/nvim/move.c | 1 | ||||
-rw-r--r-- | src/nvim/ui.c | 38 | ||||
-rw-r--r-- | src/nvim/undo.c | 1 |
7 files changed, 51 insertions, 48 deletions
diff --git a/src/nvim/diff.c b/src/nvim/diff.c index 1f8acd8c79..4bc458c658 100644 --- a/src/nvim/diff.c +++ b/src/nvim/diff.c @@ -39,6 +39,7 @@ #include "nvim/screen.h" #include "nvim/strings.h" #include "nvim/undo.h" +#include "nvim/ui.h" #include "nvim/vim.h" #include "nvim/window.h" #include "xdiff/xdiff.h" diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index 27e8cb36af..3385c12fac 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -458,6 +458,15 @@ void flush_buffers(flush_buffers_T flush_typeahead) } } +/// 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); + } +} + /* * The previous contents of the redo buffer is kept in old_redobuffer. * This is used for the CTRL-O <.> command in insert mode. diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c index 42117bc762..bbb54fa1e7 100644 --- a/src/nvim/mbyte.c +++ b/src/nvim/mbyte.c @@ -42,6 +42,7 @@ #include "nvim/eval.h" #include "nvim/fileio.h" #include "nvim/func_attr.h" +#include "nvim/getchar.h" #include "nvim/iconv.h" #include "nvim/mark.h" #include "nvim/mbyte.h" diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c index 334c98b6fe..7a53775cbc 100644 --- a/src/nvim/misc1.c +++ b/src/nvim/misc1.c @@ -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. /// diff --git a/src/nvim/move.c b/src/nvim/move.c index d80e63e79d..ff3f744eff 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -23,6 +23,7 @@ #include "nvim/diff.h" #include "nvim/edit.h" #include "nvim/fold.h" +#include "nvim/getchar.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/misc1.h" diff --git a/src/nvim/ui.c b/src/nvim/ui.c index aad72af025..6006a8f957 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -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) { diff --git a/src/nvim/undo.c b/src/nvim/undo.c index 3e7eb6d01e..a9d2323c3f 100644 --- a/src/nvim/undo.c +++ b/src/nvim/undo.c @@ -93,6 +93,7 @@ #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/garray.h" +#include "nvim/getchar.h" #include "nvim/lib/kvec.h" #include "nvim/mark.h" #include "nvim/memline.h" |