aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-21 17:09:31 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-08-21 17:16:10 +0800
commit0f48173ab531a9012321714bbc29ae4cd57b7ac7 (patch)
tree28bd9ef86d37fd8f7bafea3f3c90b37167e7cbeb /runtime/doc
parent8cd0ca1ce742a09df0b1b8201aaa13655d922b6c (diff)
downloadrneovim-0f48173ab531a9012321714bbc29ae4cd57b7ac7.tar.gz
rneovim-0f48173ab531a9012321714bbc29ae4cd57b7ac7.tar.bz2
rneovim-0f48173ab531a9012321714bbc29ae4cd57b7ac7.zip
vim-patch:589edb340454
Updte runtime files https://github.com/vim/vim/commit/589edb340454e7f1b19358f129287a636d53d0e1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'runtime/doc')
-rw-r--r--runtime/doc/builtin.txt33
1 files changed, 18 insertions, 15 deletions
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 2ce66d8cc2..af7bcf4392 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -7374,28 +7374,31 @@ state([{what}]) *state()*
current state. Mostly useful in callbacks that want to do
work that may not always be safe. Roughly this works like:
- callback uses state() to check if work is safe to do.
- If yes, then do it right away.
- Otherwise add to work queue and add SafeState autocommand.
- - When SafeState is triggered, check with state() if the work
- can be done now, and if yes remove it from the queue and
- execute.
+ Yes: then do it right away.
+ No: add to work queue and add a |SafeState| autocommand.
+ - When SafeState is triggered and executes your autocommand,
+ check with `state()` if the work can be done now, and if yes
+ remove it from the queue and execute.
+ Remove the autocommand if the queue is now empty.
Also see |mode()|.
When {what} is given only characters in this string will be
added. E.g, this checks if the screen has scrolled: >vim
- if state('s') != ''
+ if state('s') == ''
+ " screen has not scrolled
These characters indicate the state, generally indicating that
something is busy:
- m halfway a mapping, :normal command, feedkeys() or
- stuffed command
- o operator pending or waiting for a command argument
- a Insert mode autocomplete active
- x executing an autocommand
- S not triggering SafeState
- c callback invoked, including timer (repeats for
- recursiveness up to "ccc")
- s screen has scrolled for messages
+ m halfway a mapping, :normal command, feedkeys() or
+ stuffed command
+ o operator pending or waiting for a command argument,
+ e.g. after |f|
+ a Insert mode autocomplete active
+ x executing an autocommand
+ S not triggering SafeState
+ c callback invoked, including timer (repeats for
+ recursiveness up to "ccc")
+ s screen has scrolled for messages
stdioopen({opts}) *stdioopen()*
With |--headless| this opens stdin and stdout as a |channel|.