aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc')
-rw-r--r--runtime/doc/eval.txt31
-rw-r--r--runtime/doc/vim_diff.txt13
2 files changed, 42 insertions, 2 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index dd8aec895d..29e254b0b3 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -4703,6 +4703,7 @@ input({opts})
cancelreturn "" Same as {cancelreturn} from
|inputdialog()|. Also works with
input().
+ highlight nothing Highlight handler: |Funcref|.
The highlighting set with |:echohl| is used for the prompt.
The input is entered just like a command-line, with the same
@@ -4725,7 +4726,35 @@ input({opts})
"-complete=" argument. Refer to |:command-completion| for
more information. Example: >
let fname = input("File: ", "", "file")
-<
+< *E5400* *E5402*
+ The optional `highlight` key allows specifying function which
+ will be used for highlighting user input. This function
+ receives user input as its only argument and must return
+ a list of 3-tuples [hl_start_col, hl_end_col + 1, hl_group]
+ where
+ hl_start_col is the first highlighted column,
+ hl_end_col is the last highlighted column (+ 1!),
+ hl_group is |:hl| group used for highlighting.
+ *E5403* *E5404* *E5405* *E5406*
+ Both hl_start_col and hl_end_col + 1 must point to the start
+ of the multibyte character (highlighting must not break
+ multibyte characters), hl_end_col + 1 may be equal to the
+ input length. Start column must be in range [0, len(input)),
+ end column must be in range (hl_start_col, len(input)],
+ sections must be ordered so that next hl_start_col is greater
+ then or equal to previous hl_end_col.
+
+ Highlight function is called at least once for each new
+ displayed input string, before command-line is redrawn. It is
+ expected that function is pure for the duration of one input()
+ call, i.e. it produces the same output for the same input, so
+ output may be memoized. Function is run like under |:silent|
+ modifier. If the function causes any errors, it will be
+ skipped for the duration of the current input() call.
+
+ Currently coloring is disabled when command-line contains
+ arabic characters.
+
NOTE: This function must not be used in a startup file, for
the versions that only run in GUI mode (e.g., the Win32 GUI).
Note: When input() is called from within a mapping it will
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index 7f1e5ce543..2f031c0b1f 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -129,7 +129,6 @@ Commands:
Functions:
|dictwatcheradd()| notifies a callback whenever a |Dict| is modified
|dictwatcherdel()|
- |execute()| works with |:redir|
|menu_get()|
|msgpackdump()|, |msgpackparse()| provide msgpack de/serialization
@@ -147,6 +146,14 @@ Highlight groups:
|hl-TermCursorNC|
|hl-Whitespace| highlights 'listchars' whitespace
+UI:
+ *E5408* *E5409* *g:Nvim_color_expr* *g:Nvim_color_cmdline*
+ Command-line coloring is supported. Only |input()| and |inputdialog()| may
+ be colored. For testing purposes expressions (e.g. |i_CTRL-R_=|) and regular
+ command-line (|:|) are colored by callbacks defined in `g:Nvim_color_expr`
+ and `g:Nvim_color_cmdline` respectively (these callbacks are for testing
+ only, and will be removed in a future version).
+
==============================================================================
4. Changed features *nvim-features-changed*
@@ -174,6 +181,8 @@ one. It does not attempt to mix data from the two.
|system()| does not support writing/reading "backgrounded" commands. |E5677|
+|:redir| nested in |execute()| works.
+
Nvim may throttle (skip) messages from shell commands (|:!|, |:grep|, |:make|)
if there is too much output. No data is lost, this only affects display and
makes things faster. |:terminal| output is never throttled.
@@ -265,6 +274,8 @@ Lua interface (|if_lua.txt|):
on cancel and completion respectively) via dictionary argument (replaces all
other arguments if used).
+|input()| and |inputdialog()| now support user-defined cmdline highlighting.
+
==============================================================================
5. Missing legacy features *nvim-features-missing*