Commit Graph

856 Commits

Author SHA1 Message Date
Jongwook Choi 6e05045fb1 fix(manager): manager.update() never resolve when buf_check() fails
Problem: If `buf_check(...)` fails (mostly when cache is outdated), it
would abort updating gitsigns, but this actually leads to the coroutine
never resolving and stuck forever. It is because the asynchronous
callback `cb()` is never called.

As a result, gitsigns might be stuck forever and fail to update silently
(see #924), and manual reattach or refresh also doesn't work, because of
the unresolved coroutine that is recognized to be "still running", i.e.,
any subsequent calls to "throttled" `manager.update()` will not be
executed.

Solution: Make `buf_check()` always yield a value (true/false) to ensure
that `manager.update()` will resolve and finish its execution after all.
2023-12-10 22:28:54 +00:00
Jongwook Choi 017c924e20 test: use the classic vim colorscheme for nvim nightly 2023-12-10 17:40:37 +00:00
Lewis Russell 87640f5a87
Update README.md 2023-12-08 16:32:24 +00:00
Lewis Russell e93a158b87 feat: update issue templates 2023-12-07 11:15:45 +00:00
Lewis Russell 6ef8c54fb5 fix(preview): handle staged hunks 2023-11-29 12:07:41 +00:00
Dema 175e74f87d fix: prevent gitsigns from calling diffthis on fugitive status window 2023-11-28 08:32:47 +00:00
Lewis Russell 5fc573f2d2 feat: interleave attaches on startup 2023-11-23 10:54:06 +00:00
Maurice Wangleng Tan 59bd933faa fix: gitsigns not attached due to async not returning 2023-11-23 09:33:51 +00:00
Theo Fabi 0ccd5fb231 fix(cli): return silently if `ui.select` cancelled 2023-11-17 21:42:34 +00:00
Lewis Russell 37d26d718f fix(async): return correct values 2023-11-16 15:41:36 +00:00
Lewis Russell 30541b73e9 refactor: popup 2023-11-16 15:29:25 +00:00
rafascar af0f583cd3 fix(README): add default config.current_line_blame_opts.virt_text_priority 2023-10-26 12:06:58 +01:00
Apinant.u 5a9a6ac29a fix(README): correct default value Lspsaga integration. 2023-10-17 13:41:51 +01:00
Lewis Russell ff01d34daa test: more tidying 2023-10-06 09:04:46 +01:00
Lewis Russell 2929386210 chore: stylua test code 2023-10-05 16:25:10 +01:00
Lewis Russell fbc42056b4 feat: enable extmark signs by default 2023-10-05 16:25:10 +01:00
Lewis Russell d05a21795c chore: tidying 2023-10-05 14:14:33 +01:00
Lewis Russell 287f937015 refactor: rename variable 2023-10-05 10:41:30 +01:00
Lewis Russell 73a95e68f1 fix: refresh on set bomb/eol 2023-10-05 10:37:34 +01:00
Lewis Russell 7f6f1565ac refactor(preview): simplify linespec code 2023-10-04 14:45:59 +01:00
Lewis Russell 795e0bda58 fix(current_line_blame): fix window target 2023-10-04 14:08:20 +01:00
Lewis Russell 2272cf9f0c fix: issue #888
Fixes #888
2023-10-03 15:49:48 +01:00
Lewis Russell b14b9fba7d fix(blame): add line threshold for large files
Fixes #891
2023-10-02 16:20:37 +01:00
Lewis Russell 550e251986 fix: FILE with untracked 2023-10-02 15:10:39 +01:00
Lewis Russell 61e0130d4b fix(actions): set less lines when reseting hunks
Fixes #637
2023-10-02 13:02:37 +01:00
Lewis Russell 609fffa462 fix(git): respect env vars
Fixes #895
2023-10-02 12:20:57 +01:00
Lewis Russell 317c98d64c feat(diff): allow to diff against the working version
The `base` can now be set to `FILE` to diff against the working version.

Resolves #164
2023-10-02 12:14:20 +01:00
Lewis Russell 8aedc8b15a feat(diffopt): add support for whitespace flags in diffopt
Resolves #696
2023-10-02 11:22:42 +01:00
Lewis Russell e32efa6d6a refactor: more test stuff 2023-10-01 17:35:37 +01:00
Lewis Russell 19654d963e refactor: vendor vim.system 2023-10-01 16:54:55 +01:00
Lewis Russell badaef04f8 test: refactor 2023-10-01 16:43:30 +01:00
Lewis Russell 88be2b44d6 test: reduce delays 2023-10-01 16:43:30 +01:00
Lewis Russell e2ca739be7 test: speed up some tests 2023-10-01 11:47:47 +01:00
Lewis Russell bdeba1cec3 perf(blame): better cache invalidation
The blame cache is now maintained in the CacheEntry object
and invalidated incrementally on buffer updates.

In addition git-blame is bypassed if the cursor line is within a hunk.
2023-09-24 17:01:12 +01:00
Lewis Russell 9bec6e1ef5 fix(blame): convert CRLF to LF in commit info 2023-09-23 15:46:43 +01:00
Lewis Russell 04098791d2 fix(blame): mistakes in blame parsing 2023-09-23 15:34:03 +01:00
Lewis Russell dfac1062e4 fix: better bom handling 2023-09-23 15:18:14 +01:00
Lewis Russell ac922e1785 fix(dos): remove incorrect CR
Fixes #875
2023-09-23 15:18:14 +01:00
Lewis Russell 664da1fcf3 fix: inline2 fixes 2023-09-23 15:18:14 +01:00
AThePeanut4 ecc857f73b fix(cli): named args not working 2023-09-23 15:18:03 +01:00
Lewis Russell 7de01258ca chore: ignore stylua 2023-09-23 11:14:20 +01:00
Lewis Russell e308a4f5dd build: add doc and lint check 2023-09-23 11:13:14 +01:00
Lewis Russell bd0f4d518d fix: stylua 2023-09-23 10:13:35 +01:00
Lewis Russell 176ff6a833 docs: update CONTRIBUTING.md 2023-09-23 10:10:16 +01:00
Lewis Russell f0e9f5dd32 fix(blame): better error message when blame fails
Closes #776
2023-09-22 16:29:34 +01:00
Lewis Russell e2b8e61ce0 fix(blame): trim virt_text when using right_align
Fixes #870
2023-09-22 16:01:54 +01:00
Lewis Russell 94656269a3 fix(actions): CLI for setloclist and setqflist
Fixes #880
2023-09-22 12:40:08 +01:00
Lewis Russell 0828f7e4a7 test: cleanup setup 2023-09-22 12:40:08 +01:00
Lewis Russell b018a2b139 perf(blame): run blame for entire file instead of per line
Previously current_line_blame would run a git-blame process per line
(via the `-L` flag) in an attempt to be more efficient. However after
some investigation it seems that running git-blame for the entire file
rarely exceeds 2x the time it takes to run for a single line, even for
large files.

This change alters current_line_blame to run git-blame for the entire
file after each buffer edit and caches that in memory. This makes the
first git-blame after an edit ~2x slower, but makes any cursor movements
after that instant.

A follow-up to this would be for current_line_blame to track buffer
updates to avoid the cache needing to be invalidated on every edit.
2023-09-22 12:24:42 +01:00
Lewis Russell c4c5f7907c fix(blame): do not run concurrent processes
Fixes #877
2023-09-22 12:24:42 +01:00