mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-04 08:24:40 +01:00

### Motivation I noticed that when I type every letter in the prompt on the remote server the typing is lagging. I thought it's ssh but no. After inspection the commands cache code I found that on every key press there is reading all 2000+ files in PATH because the code for cache update has funny issue. ### Quiz ```xsh def f(): print(1) yield False print(2) yield True print(3) print(any(f())) ``` What will be in the output? Answer: <details> ``` 1 2 True ``` The execution of `print(3)` ignored because `any()` interrupts the execution of the function. If we call `print(list(f()))` the output will be `1 2 3 [False, True]`. </details> ### Before * Updating cache (read all files in PATH and list of aliases) two times after start. * Updating cache (read all files in PATH and list of aliases) on every key press in prompt. ### After * Update cache once at start. * Update cache only when we have real changes of paths or aliases. cc #4954 #3895 #5309 ## For community ⬇️ **Please click the 👍 reaction instead of leaving a `+1` or 👍 comment** --------- Co-authored-by: a <1@1.1> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
23 lines
238 B
ReStructuredText
23 lines
238 B
ReStructuredText
**Added:**
|
|
|
|
* <news item>
|
|
|
|
**Changed:**
|
|
|
|
* <news item>
|
|
|
|
**Deprecated:**
|
|
|
|
* <news item>
|
|
|
|
**Removed:**
|
|
|
|
* <news item>
|
|
|
|
**Fixed:**
|
|
|
|
* Commands Cache: Fixed cache update logic that lead to lagging during typing.
|
|
|
|
**Security:**
|
|
|
|
* <news item>
|