Chris Antos 0fdcda98cf Fix https://github.com/cmderdev/cmder/issues/2789
Holding ^C made git.exe hang while cmd.exe (Clink) updated the prompt.

The prompt script had three problems:

1.  It invoked `git config` every time a prompt was displayed, to
    figure out where to skip invoking `git status`.  But it even did
    that if the current directory wasn't part of a git repo.
2.  It invoked `git config` two times for every single prompt, to
    attempt to improve performance if the user disables `git status`
    coloring.  But two times for every single prompt is expensive, so
    it has the opposite effect in the general case, and noticeably
    degrades performance.
3.  It invoked `git config` using a blocking call, instead of using the
    async prompt support in Clink.  That significantly reduced the
    benefit of having used async prompt filtering for `git status`.

Now the `git config` invocations use async prompt filtering, which lets
the prompt display instantaneously.  It also now uses a timer to avoid
invoking `git config` repeatedly when new prompts show up in rapid
succession.

Also, the `cmderGitStatusOptIn` variable is no longer leaked into the
Lua global namespace.

These changes resolve the issue: holding ^C is very fast and no longer
causes git.exe to hang.
2022-12-05 13:52:14 -08:00
..
2022-11-02 19:15:58 +03:30
2022-10-24 19:58:46 +03:30
2022-01-15 11:00:58 -05:00
2022-11-19 02:32:02 +00:00
2022-10-15 12:58:22 +03:30
2022-11-07 13:54:22 +00:00
2022-01-15 11:00:58 -05:00

Vendor

Third parties software & init script.