From 97204e1cef4f922cc1f8e67f8a1f2f695d7da826 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Fri, 30 Sep 2016 02:33:50 +0200 Subject: os/shell: Throttle :! output, pulse "..." message. Periodically skip :! spam. This is a "cheat" that works for all UIs and greatly improves responsiveness when :! spams MB or GB of output: :!yes :!while true; do date; done :!git grep '' :grep -r '' * After ~10KB of data is seen from a single :! invocation, output will be skipped for ~1s and three dots "..." will pulse in the bottom-left. Thereafter the behavior alternates at every: * 10KB received * ~1s throttled This also avoids out-of-memory which could happen with large :! outputs. Note: This commit does not change the behavior of execute(':!foo'). execute(':!foo') returns the string ':!foo^M', it captures *only* Vim messages, *not* shell command output. Vim behaves the same way. Use system('foo') for capturing shell command output. Closes #1234 Helped-by: oni-link --- src/nvim/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/nvim/main.c') diff --git a/src/nvim/main.c b/src/nvim/main.c index 9b9976ac0a..12227565f3 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -534,7 +534,7 @@ int main(int argc, char **argv) } TIME_MSG("before starting main loop"); - ILOG("Starting Neovim main loop."); + ILOG("starting main loop"); /* * Call the main command loop. This never returns. -- cgit