cmder: Really slow prompt inside large git repositories even after disabling git status.
Purpose of the issue
- Bug report (encountered problems/errors)
Version Information
Cmder v1.3.17.1082, ConEmu v191012
Description of the issue
Even after you disable git status with the instructions provided in the README file, prompts appear after much delay inside large git repos. Deleting vendor\clink-completions\git_prompt.lua does the trick, however.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 32 (26 by maintainers)
https://github.com/vladimir-kotikov/clink-completions/pull/141
One is part of the
clink-completionsvendor package, which is also used independently from Cmder.Since Cmder needs some different behaviors, it’s not as simple as just deleting one of them.
However, there are other options:
settings.addto create a Clink setting for opting out. And then both implementations could use the same setting. (Requires new Clink; won’t work with Clink 0.4.9). This would change how one opts out, but it would be possible to add code in vendor\clink.lua to automatically migrate the setting from git config.vendor\clink.luafile for checking whether git status is opted out. Could make the clink-completions version check whether the Cmder-specific bar/func exists, and respond accordingly. Then clink-completions could with with/without Cmder, without needing to change how you opt out in Cmder.My vote would be for option 2, so far.
Yes. But Cmder also includes a whole separate copy of the source control prompt filters, inside
vendor\clink-completions.The git prompt filter in
vendor\clink.luachecks git config. The git prompt filter invendor\clink-completions\git_prompt.luadoes not check git config.So, the instructions and mechanism for opting out of git status aren’t effective.
Apparently Cmder has two git prompt filters.
vendor\clink.luachecks thecmder.statusandcmder.cmdstatusgit config settings.vendor\clink-completions\git_prompt.luadoes not.clink-completionsrepo is not specific to Cmder, so when adding a check it will need a way to know that it’s embedded in Cmder and only check in that case.Also, having two separate git prompt filters (and mercurial, and etc) might additionally be doubling the delay by doing everything twice.