diff options
author | Dongdong Zhou <dzhou121@gmail.com> | 2017-05-11 04:48:59 +0100 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2017-10-26 09:35:13 +0200 |
commit | e164ba41c8460d4e5b2e7e2b929d8479a0310738 (patch) | |
tree | 1ec9ca8c2807757b549385e9dfc965df4de50138 | |
parent | daec81ab5179c7ce8e3813af556b1e2f05fc59c6 (diff) | |
download | rneovim-e164ba41c8460d4e5b2e7e2b929d8479a0310738.tar.gz rneovim-e164ba41c8460d4e5b2e7e2b929d8479a0310738.tar.bz2 rneovim-e164ba41c8460d4e5b2e7e2b929d8479a0310738.zip |
ext_cmdline: fix firstc, change cmdline_leave to cmdline_hide
-rw-r--r-- | runtime/doc/msgpack_rpc.txt | 4 | ||||
-rw-r--r-- | src/nvim/ex_getln.c | 19 | ||||
-rw-r--r-- | test/functional/ui/cmdline_spec.lua | 2 |
3 files changed, 11 insertions, 14 deletions
diff --git a/runtime/doc/msgpack_rpc.txt b/runtime/doc/msgpack_rpc.txt index ef4a22db0b..77938fbd82 100644 --- a/runtime/doc/msgpack_rpc.txt +++ b/runtime/doc/msgpack_rpc.txt @@ -446,8 +446,8 @@ states might be represented as separate modes. ["cmdline_enter"] Enter the cmdline. -["cmdline_leave"] - Leave the cmdline. +["cmdline_hide"] + Hide the cmdline. ["cmdline_show", content, pos, firstc, prompt] content: List of [highlight group, string] diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 12f3f53c81..34547c59c9 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -1837,7 +1837,7 @@ getcmdline ( char_u *p = command_line_enter(firstc, count, indent); if (ui_is_external(kUICmdline)) { Array args = ARRAY_DICT_INIT; - ui_event("cmdline_leave", args); + ui_event("cmdline_hide", args); } return p; } @@ -2738,16 +2738,13 @@ void ui_ext_cmdline_show(void) ADD(content, ARRAY_OBJ(text)); ADD(args, ARRAY_OBJ(content)); ADD(args, INTEGER_OBJ(ccline.cmdpos)); - if (ccline.cmdfirstc != NUL) { - ADD(args, STRING_OBJ(cstr_to_string((char *)(&ccline.cmdfirstc)))); - } else { - ADD(args, STRING_OBJ(cstr_to_string(""))); - } - if (ccline.cmdprompt != NULL) { - ADD(args, STRING_OBJ(cstr_to_string((char *)(ccline.cmdprompt)))); - } else { - ADD(args, STRING_OBJ(cstr_to_string(""))); - } + char *firstc = (char []) { (char)ccline.cmdfirstc }; + String str = (String) { + .data = xmemdupz(firstc, 1), + .size = 1 + }; + ADD(args, STRING_OBJ(str)); + ADD(args, STRING_OBJ(cstr_to_string((char *)(ccline.cmdprompt)))); ui_event("cmdline_show", args); } diff --git a/test/functional/ui/cmdline_spec.lua b/test/functional/ui/cmdline_spec.lua index 523f7065d4..479f5c3b7d 100644 --- a/test/functional/ui/cmdline_spec.lua +++ b/test/functional/ui/cmdline_spec.lua @@ -16,7 +16,7 @@ describe('External command line completion', function() screen:set_on_event_handler(function(name, data) if name == "cmdline_enter" then shown = true - elseif name == "cmdline_leave" then + elseif name == "cmdline_hide" then shown = false elseif name == "cmdline_show" then content, pos, firstc, prompt = unpack(data) |