kakoune/rc/tools
Qeole 5650bf33fa rc git: Batch flags when passing commit info for "git blame"
The wrapper for "git blame" creates flags for each line of the buffer.
It parses the output from git and would send a flag (or a series of
flags) each time the commit to blame for a line differs from the
previous one. For files that were touched by a large number of commits,
this results in a high number of kakoune processes being launched, and
may take some time. This is visible in the session through the flags for
the different commits appearing on the lines one by one, possibly during
several seconds.

To speed up the process, batch flags before passing them to the kak
session. One solution could be to send all flags at once, but this might
delay the appearance of commit info for too long if "git blame" really
takes a long time. The alternative solution retained for this commit
consists in grouping as many flags as we can during one second
(roughly), to pass them to kakoune, and then to move on to the next
flags. This way, a new batch of commit information flags appears every
second or so in the client, until all information is added. This should
be much faster than lauching a kakoune process for each commit
reported by "git blame": tests have shown that blaming a large file in
the Linux repository goes 4.5 times faster when batching flags.

Co-authored-by: Johannes Altmanninger <aclopte@gmail.com>
2022-01-27 23:15:32 +00:00
..
go gopls.kak: use nop for removing temp dir 2020-10-17 09:47:07 +02:00
python Fix jedi off-by-one and refactor jedi 2021-05-04 20:57:13 +02:00
rust simplify rust completion to match generic Kakoune completions 2019-05-17 20:00:40 +03:00
autorestore.asciidoc Update plugin docs to not duplicate docstring information. 2020-09-03 17:18:19 +10:00
autorestore.kak Reference content goes in docstrings, explanations go in prose docs. 2020-09-04 19:20:50 +10:00
autowrap.kak rc: Make docstrings more readable 2020-02-03 20:53:28 +01:00
clang.kak Replace write -atomic with write -method <method> 2020-10-27 20:20:18 +11:00
comment.kak Disable comment_line for ocaml/coq 2021-10-04 13:19:00 -04:00
ctags.kak Merge remote-tracking branch 'lenormf/patch-3' 2020-02-05 20:41:40 +11:00
doc.asciidoc Update plugin docs to not duplicate docstring information. 2020-09-03 17:18:19 +10:00
doc.kak rc doc: Don't spawn processes unecessarily 2021-09-16 11:47:44 +03:00
format.kak rc: Consistently use a dot as template separator 2020-11-30 14:24:06 +03:00
git.kak rc git: Batch flags when passing commit info for "git blame" 2022-01-27 23:15:32 +00:00
grep.kak Apply suggestions from code review 2020-09-06 10:56:37 +10:00
lint.asciidoc Reference content goes in docstrings, explanations go in prose docs. 2020-09-04 19:20:50 +10:00
lint.kak Fix #3957 2021-07-09 22:18:25 -03:00
make.kak rc/tools/make.kak: quote "${kak_opt_makecmd}" 2021-11-05 13:43:18 -03:00
man.kak rc man: Gracefully fail link search 2021-11-04 07:31:43 +03:00
spell.kak Add standard DiagnosticError and DiagnosticWarning faces. 2021-09-07 17:46:50 +10:00