diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2025-02-05 23:09:29 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2025-02-05 23:09:29 +0000 |
commit | d5f194ce780c95821a855aca3c19426576d28ae0 (patch) | |
tree | d45f461b19f9118ad2bb1f440a7a08973ad18832 /src/nvim/digraph.c | |
parent | c5d770d311841ea5230426cc4c868e8db27300a8 (diff) | |
parent | 44740e561fc93afe3ebecfd3618bda2d2abeafb0 (diff) | |
download | rneovim-d5f194ce780c95821a855aca3c19426576d28ae0.tar.gz rneovim-d5f194ce780c95821a855aca3c19426576d28ae0.tar.bz2 rneovim-d5f194ce780c95821a855aca3c19426576d28ae0.zip |
Diffstat (limited to 'src/nvim/digraph.c')
-rw-r--r-- | src/nvim/digraph.c | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/src/nvim/digraph.c b/src/nvim/digraph.c index ea0d1ba708..f32123e686 100644 --- a/src/nvim/digraph.c +++ b/src/nvim/digraph.c @@ -22,7 +22,6 @@ #include "nvim/getchar.h" #include "nvim/gettext_defs.h" #include "nvim/globals.h" -#include "nvim/highlight.h" #include "nvim/highlight_defs.h" #include "nvim/keycodes.h" #include "nvim/mapping.h" @@ -1024,6 +1023,7 @@ static digr_T digraphdefault[] = { '?', '=', 0x2245 }, { '?', '2', 0x2248 }, { '=', '?', 0x224c }, + { '.', '=', 0x2250 }, { 'H', 'I', 0x2253 }, { '!', '=', 0x2260 }, { '=', '3', 0x2261 }, @@ -1715,6 +1715,7 @@ void listdigraphs(bool use_headers) { result_T previous = 0; + msg_ext_set_kind("list_cmd"); msg_putchar('\n'); const digr_T *dp = digraphdefault; @@ -1954,16 +1955,16 @@ void f_digraph_get(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) /// "digraph_getlist()" function void f_digraph_getlist(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) { + if (tv_check_for_opt_bool_arg(argvars, 0) == FAIL) { + return; + } + bool flag_list_all; if (argvars[0].v_type == VAR_UNKNOWN) { flag_list_all = false; } else { - bool error = false; - varnumber_T flag = tv_get_number_chk(&argvars[0], &error); - if (error) { - return; - } + varnumber_T flag = tv_get_bool(&argvars[0]); flag_list_all = flag != 0; } @@ -2183,22 +2184,22 @@ static void keymap_unload(void) /// @param fmt format string containing one %s item /// @param buf buffer for the result /// @param len length of buffer -bool get_keymap_str(win_T *wp, char *fmt, char *buf, int len) +int get_keymap_str(win_T *wp, char *fmt, char *buf, int len) { char *p; if (wp->w_buffer->b_p_iminsert != B_IMODE_LMAP) { - return false; + return 0; } buf_T *old_curbuf = curbuf; win_T *old_curwin = curwin; + char to_evaluate[] = "b:keymap_name"; curbuf = wp->w_buffer; curwin = wp; - STRCPY(buf, "b:keymap_name"); // must be writable emsg_skip++; - char *s = p = eval_to_string(buf, false, false); + char *s = p = eval_to_string(to_evaluate, false, false); emsg_skip--; curbuf = old_curbuf; curwin = old_curwin; @@ -2209,9 +2210,12 @@ bool get_keymap_str(win_T *wp, char *fmt, char *buf, int len) p = "lang"; } } - if (vim_snprintf(buf, (size_t)len, fmt, p) > len - 1) { + int plen = vim_snprintf(buf, (size_t)len, fmt, p); + xfree(s); + if (plen < 0 || plen > len - 1) { buf[0] = NUL; + plen = 0; } - xfree(s); - return buf[0] != NUL; + + return plen; } |