Commit graph

15 commits

Author SHA1 Message Date
Folke Lemaitre
835c4cbfc6
fix(explorer.git): don't propagate deletes to parent dirs that don't exist 2025-10-19 08:57:14 +02:00
Daniel Danner
e441c641eb
perf(git): invoke git status with --no-optional-locks (#2175)
## Description

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->
According to the Git docs, `git status` automatically refreshes the
index, meaning it recreates the `.git/index` file. In `watch.lua`, we
specifically watch for modifications of that file and (indirectly?) run
`git status` everytime it changes. This effectively forms an infinite
loop of refreshes whenever the explorer is open.

Passing `--no-optional-locks` to `git status` breaks this loop because
it stops it from refreshing the index. Doing this also happens to be the
official recommendation for scripts doing `git status` in the
background: https://git-scm.com/docs/git-status#_background_refresh

## Related Issue(s)

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->
2025-10-19 08:41:34 +02:00
Folke Lemaitre
5a2acf82b2
perf(explorer): only update tree if git status actually changed 2025-02-20 09:54:32 +01:00
Folke Lemaitre
f7a35b8214
fix(explorer.git): always at .git directory to ignored 2025-02-11 11:25:11 +01:00
Folke Lemaitre
93ad23a0ab
fix(picker.git): handle git status renames. Closes #1003 2025-02-08 10:45:17 +01:00
Folke Lemaitre
3b7021e7fd
fix(picker.proc): don't close stdout on proc exit, since it might still contain buffered output. Closes #966 2025-02-07 16:50:51 +01:00
Folke Lemaitre
a3b083b844
feat(explorer): allow disabling untracked git status. Closes #983 2025-02-07 10:26:33 +01:00
Folke Lemaitre
bc087d36d6
perf(explorer): no need to get git status with -uall. Closes #983 2025-02-07 09:54:04 +01:00
Folke Lemaitre
d1d55850ec
feat(explorer): added quick nav with [, ] with d/w/e for diagnostics 2025-02-07 08:59:37 +01:00
Folke Lemaitre
09349ecd44
fix(explorer.git): better git status watching 2025-02-05 14:39:46 +01:00
Folke Lemaitre
4c12475e80
feat(explorer): git index watcher 2025-02-05 11:10:03 +01:00
Folke Lemaitre
dfa79e0443
feat(explorer): show symlink target 2025-02-04 19:31:49 +01:00
Folke Lemaitre
8e0dfd2856
fix(git): use nul char as separator for git status 2025-02-04 19:08:38 +01:00
Folke Lemaitre
3aad761620
fix(explorer.git): vim.schedule git updates 2025-02-04 19:02:34 +01:00
Folke Lemaitre
6149a7babb
feat(explorer): rewrite that no longer depends on fd for exploring 2025-02-04 17:13:06 +01:00