Justin M. Keyes
b67f58b284
Merge #7454 'ui: ext_wildmenu'
...
closes #6168
ref #5686
2017-10-31 10:45:06 +01:00
Justin M. Keyes
241fe704a5
pvs/V575: false positive ( #7462 )
...
./src/nvim/ex_getln.c:2787:1: error: V575 The 'memcpy' function doesn't
copy the whole string. Use 'strcpy / strcpy_s' function to preserve
terminal null.
We could instead "trick" PVS like this:
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c
index e79476ab532a..295630693b27 100644
--- a/src/nvim/ex_getln.c
+++ b/src/nvim/ex_getln.c
@@ -2782,9 +2782,10 @@ static void ui_ext_cmdline_show(CmdlineInfo *line)
void ui_ext_cmdline_block_append(int indent, const char *line)
{
- char *buf = xmallocz(indent + strlen(line));
+ size_t linelen = strlen(line);
+ char *buf = xmallocz(indent + linelen);
memset(buf, ' ', indent);
- memcpy(buf+indent, line, strlen(line));
+ memcpy(buf + indent, line, linelen);
Array item = ARRAY_DICT_INIT;
ADD(item, DICTIONARY_OBJ((Dictionary)ARRAY_DICT_INIT));
2017-10-30 23:29:47 +01:00
ZyX
0356dbbb36
ex_getln: Fix variable name which is wrong after the merge
2017-10-30 01:38:02 +03:00
ZyX
b29a776550
Merge branch 'master' into expression-parser
2017-10-30 00:49:12 +03:00
ZyX
b935a12dab
ex_getln: Make use of new parser to color expressions
...
Retires g:Nvim_color_expr callback.
2017-10-29 16:32:13 +03:00
Dongdong Zhou
39e83fa7cb
ui: allow external ui to draw wildmenu
...
Co-authored-by: Björn Linse <bjorn.linse@gmail.com >
Updated docs and tests.
2017-10-29 08:18:03 +01:00
Björn Linse
445f25998c
ext_cmdline: fix inputsecret()
2017-10-26 20:29:10 +02:00
Björn Linse
91d8e26bc7
ext_cmdline: interact with cmdline window
2017-10-26 20:29:10 +02:00
Björn Linse
bed0a3a842
ext_cmdline: implement redraw!
2017-10-26 20:29:08 +02:00
Björn Linse
2050e66046
ext_cmdline: turn nested cmdlines into a linked list
2017-10-26 20:28:49 +02:00
Björn Linse
f2aaa4ae8b
ext_cmdline: rename cmdline_char to cmdline_special_char
2017-10-26 20:28:49 +02:00
Björn Linse
a68817f565
ext_cmdline: extend "function" to generic "block" mechanism
2017-10-26 20:28:49 +02:00
Björn Linse
ddfc077da4
ext_cmdline: disable some redraws
2017-10-26 20:28:49 +02:00
Björn Linse
22402fb99d
ext_cmdline: add support for highlighting
2017-10-26 20:28:47 +02:00
Dongdong Zhou
5ad591ef2d
ext_cmdline: lint
2017-10-26 09:35:13 +02:00
Dongdong Zhou
fb389a6b4b
ext_cmdline: added indent
2017-10-26 09:35:13 +02:00
Dongdong Zhou
866dadaf75
ext_cmdline: added cmdline level
...
add cchar_to_string
2017-10-26 09:35:13 +02:00
Dongdong Zhou
ab85999eb7
ext_cmdline: change to use ui_call
2017-10-26 09:35:13 +02:00
Dongdong Zhou
e164ba41c8
ext_cmdline: fix firstc, change cmdline_leave to cmdline_hide
2017-10-26 09:35:13 +02:00
Dongdong Zhou
daec81ab51
ext_cmdline: change the content format
2017-10-26 09:35:13 +02:00
Dongdong Zhou
550651c130
ext_cmdline: use standard external ui functions
2017-10-26 09:35:12 +02:00
Dongdong Zhou
b7a8a76f6e
ext_cmdline: lint
2017-10-26 09:35:12 +02:00
Dongdong Zhou
26fd70bd18
ext_cmdline: add tests
2017-10-26 09:35:12 +02:00
Dongdong Zhou
6e90bc7200
ext_cmdline: Added cmdline prompt
2017-10-26 09:35:12 +02:00
Dongdong Zhou
439c39a2cf
ext_cmdline: allow external ui to draw cmdline
2017-10-26 09:35:12 +02:00
Björn Linse
4b3e51d4ee
ops: save and restore clipboard batch status when entering cmdline window
2017-10-15 16:36:00 +02:00
James McCoy
dc513f7618
getcmdline_prompt: Temporarily disable msg_silent so prompt is displayed
...
vim-patch:7.4.1636
Closes #7378
2017-10-14 14:32:27 -04:00
Justin M. Keyes
6c53c3ee55
eventloop: restore redraw in cmdline K_EVENT handler
...
Restores behavior from commit: 02e86ef04cc1
2017-09-05 15:01:06 +02:00
Justin M. Keyes
d47b538f39
eventloop: do not redraw in cmdline K_EVENT handler
...
If :echo is done by an timer or event (such as FocusGained/FocusLost),
redrawcmdline() clobbers it.
2017-09-05 15:01:06 +02:00
Justin M. Keyes
b6b6e4a96f
eventloop: FocusGained: schedule event instead of pseudokey
...
closes #4840
closes #6164
2017-09-05 15:01:06 +02:00
ZyX
19a28352a9
ex_getln: Make error messages look better
2017-08-14 01:56:48 +03:00
ZyX
474aa823dc
Merge branch 'master' into colored-cmdline
2017-08-06 15:25:17 +03:00
Justin M. Keyes
50c8f19d61
build: silence maybe-uninitialized warning
...
False positive. From C:\msys64\mingw64\bin\gcc.exe (appveyor CI)
2017-08-06 02:51:49 +02:00
Justin M. Keyes
a31482db4d
terminal: block redraw during c_CTRL-D
...
Unlike the normal wildmenu, the CTRL-D wild-list is not restored by
statusline redraw. (Semantics: ^D is controlled by 'wildoptions' option,
so it's in the "wild..." family.)
TODO: externalize the c_CTRL-D wild-list.
2017-08-05 21:32:34 +02:00
ZyX
fbe60af538
Merge branch 'master' into colored-cmdline
2017-07-31 02:05:02 +03:00
ZyX
c5857e3f38
ex_getln: Cache highlight callback calling results
2017-07-26 22:56:48 +03:00
Jurica Bradaric
811c45163c
vim-patch:8.0.0034
...
Problem: No completion for ":messages".
Solution: Complete "clear" argument. (Hirohito Higashi)
9e507ca8a3
2017-07-25 18:41:14 +02:00
ZyX
740dcaef0d
ex_getln: Avoid GCC “unused variable” warning from QB
...
17:25:45,363 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/ex_getln.c: In function ‘color_cmdline’:
17:25:45,363 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/ex_getln.c:2335:8: error: variable ‘printed_errmsg’ set but not used [-Werror=unused-but-set-variable]
17:25:45,363 WARN - bool printed_errmsg = false;
17:25:45,363 WARN - ^
17:25:45,399 WARN - cc1: all warnings being treated as errors
2017-07-18 01:25:55 +03:00
ZyX
25c6ac1af6
*: Fix clint errors
2017-07-18 01:21:23 +03:00
ZyX
8a581b918b
ex_getln: Check prev_prompt_errors before running redrawcmdline
...
Otherwise there will be infinite recursion and shortly a crash. Running
redrawcmdline recursively occurs under color_cmdline_error label.
2017-07-18 00:20:21 +03:00
ZyX
3a923ad2db
ex_getln: Replace global with entry in save_ccline
2017-07-17 02:33:18 +03:00
ZyX
dc0a496d41
ex_getln: Do not do useless try_enter/try_leave calls
...
These are actually needed for two modes only. And even for these modes they
should eventually go away.
2017-07-17 01:57:27 +03:00
ZyX
f4744e1821
ex_getln: Do not goto color_cmdline_end without first cleaning up
...
The issue with debug mode was actually not cleaning up after `try_enter`:
location `&tstate` was pointing to got invalidated and received some “garbage”
(actually, values that got stored on the stack afterwards). But pointer to that
garbage was still stored in `msg_list`, so next attempt to check it resulted in
a crash.
2017-07-17 01:55:10 +03:00
ZyX
2a6423eba7
api helpers: Save/restore more values in try_enter/try_leave
...
This fixes memory leak reported by ASAN. This also somehow fixes test40, though
I have no idea why except that that test yields memory leak report.
2017-07-16 22:03:31 +03:00
ZyX
69719e658c
Merge branch 'master' into colored-cmdline
2017-07-15 18:56:45 +03:00
ZyX
1f05ec95c0
ex_getln: Silent V519: value is assigned twice successively
...
This is usual “passing data via global” false positive.
2017-07-04 16:24:48 +03:00
ZyX
7ab152aaa5
ex_getln: Save and restore try state
...
Problem: when processing cycle such as
:for pat in [' \ze*', ' \zs*']
: try
: let l = matchlist('x x', pat)
: $put ='E888 NOT detected for ' . pat
: catch
: $put ='E888 detected for ' . pat
: endtry
:endfor
`:let l = …` throwing an error causes this error to be caught after
color_cmdline attempts to get callback for highlighting next line (the one with
`$put = 'E888 NOT…`). Saving/restoring state prevents this from happening.
2017-07-01 15:34:25 +03:00
ZyX
ea75966e42
ex_getln: Do not make <C-c> interrupt input() after interrupting hl cb
2017-06-28 22:54:13 +03:00
ZyX
564d5f921c
ex_getln: Fix indent
2017-06-28 22:21:37 +03:00
ZyX
99079a164d
ex_getln: Make sure standard error reporting facility is not used
2017-06-28 22:20:47 +03:00