1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-06-29 00:51:35 +02:00
Commit Graph

4438 Commits

Author SHA1 Message Date
f30e09856c Add bisect menu entry that lets you choose bisect terms
This can be useful if you want to find the commit that fixed a bug (you'd use
"broken/fixed" instead of "good/bad" in this case), or if you want to find the
commit that brought a big performance improvement (use "slow/fast"). It's pretty
mind-bending to have to use "good/bad" in these cases, and swap their meanings
in your head.

Thankfully, lazygit already had support for using custom terms during the bisect
(for the case that a bisect was started on the command-line, I suppose), so all
that's needed is adding a way to specify them in lazygit.
2023-07-29 11:59:58 +02:00
9b7f978e3e Fix the x/exp dependency (#2844) 2023-07-29 11:59:04 +02:00
f17417219a feat: add os.copyToClipboardCmd to allow for a custom command #1055 (#2784) 2023-07-29 19:35:52 +10:00
d7f84aed8a feat: add os.copyToClipboardCmd to allow for a custom command
Issue #1055

test: CopyPatchToClipboard (temporary commit for review)
2023-07-29 19:09:59 +10:00
deecbadda9 Fix the x/exp dependency
We started to use it directly in 429225da80.
2023-07-29 10:01:41 +02:00
1db1fee03a Updated README.md 2023-07-29 02:39:15 +00:00
2f0116170d Faster refresh (#2841) 2023-07-29 12:39:00 +10:00
429225da80 Support random order of command execution in unit tests
Now that we run code concurrently in our loaders, we need to handle that in our tests.
We could enforce a deterministic ordering by mocking waitgroup or something like that,
but I think it's fine to let our tests handle some randomness given that prod itself
will have that randomness.

I've removed the patch test file because it was clunky, not providing much value, and
it would have been hard to refactor to the new pattern
2023-07-29 12:36:17 +10:00
39b77c0fca Have staging refresh wait for files to refresh first 2023-07-29 10:20:15 +10:00
63e5790410 Speed up refresh using concurrency and wait groups
Previously our synchronous refreshes took far longer because nothing
was happening concurrently. We now run refresh functions concurrently
and use a wait group to ensure they're all done before returning
2023-07-29 10:04:11 +10:00
272e021c08 Refactor reflog commit loader
No functional changes
2023-07-29 10:04:11 +10:00
862ebd25cb Speed up remote loader
We're:
* using concurrency with wait groups
* avoiding regex
* processing lines of input as they come rather than storing everything in one string
* avoiding an inner loop by creating a mapping of remote names to branches
2023-07-29 10:04:11 +10:00
5d8a85f7e7 Use wait groups to speed up commit loading
The speedup is most noticeable on first load, when we haven't yet fetched out main branches.
I saw a speedup from 105ms to 60ms. On subsequent loads the gain is more modest;
54ms to 40ms
2023-07-29 10:04:11 +10:00
5f30ccfbc3 Log duration of post-refresh-update call
Notably, the reflog view is taking ages here because it's got a
few thousand lines to write to the view.

In future we should only populate the view's viewport.
2023-07-29 09:39:22 +10:00
71cab4fadc Log duration of commands
This will help us diagnose performance issues
2023-07-29 09:39:22 +10:00
09ce430240 Log duration of refresh 2023-07-29 09:39:10 +10:00
6be9109aaa Show error when trying to open patch menu with an empty patch (#2829) 2023-07-26 14:34:58 +02:00
67a7293e79 Show error when trying to open patch menu with an empty patch 2023-07-26 14:27:18 +02:00
decb055df9 Fix issue where using null to un-map a keybinding was ignored (#2832) 2023-07-26 20:26:51 +10:00
75674d819c bring back yaml library fork 2023-07-26 12:50:39 +03:00
35c430c8c9 Updated README.md v0.39.4 2023-07-24 11:15:05 +00:00
94426de533 Fix infinite wait on push/pull on windows (#2821) 2023-07-24 21:14:51 +10:00
c4e27bf96c Revert "Fix flakey pull_merge_conflict test"
This reverts commit 90613056ce, or the part that removed
a goroutine at least.

Reverting because this has caused an infinite wait for push/pull on windows.
We'll need to find out why that happens separately
2023-07-24 21:12:03 +10:00
57bb1aa698 Support typing special characters like '[' on non-english keyboards (#2818) 2023-07-24 10:47:15 +10:00
02270e9ccd README.md: Add Gentoo installation documentation (#2811) 2023-07-24 09:48:51 +10:00
1199c18b53 README.md: Add Gentoo installation documentation 2023-07-23 16:43:26 +02:00
4f807eeb19 Could not type special characters on non-english keyboards
On german/french/spanish keyboards, typing [ requires modifier
keys like AltGr, so the `mod==0` condition is wrong.

Fixes #2573

ch != 0 is useless because IsPrint is implemented this way:
	if uint32(r) <= MaxLatin1 {
		return properties[uint8(r)]&128 != 0
	}
with properties[0] set to 1 (so, bit 7 not set)
-> 0 is not printable.
2023-07-23 14:33:50 +02:00
7c44b76477 Prompt for commit message when moving a custom patch to a new commit (#2800) 2023-07-23 14:00:41 +02:00
c21633b1be Prompt for commit message when moving a custom patch to a new commit 2023-07-23 13:55:48 +02:00
1b05ba252c Fix crash caused by simultaneous read/write of scanner buffer (#2813) v0.39.3 2023-07-23 13:55:51 +10:00
28474b08ee Fix crash caused by simultaneous read/write of scanner buffer 2023-07-23 13:17:37 +10:00
6f13b42279 Better word wrap (#2812) 2023-07-23 11:46:52 +10:00
8637587b82 Better word wrap
Word wrapping has been pretty bad so far so let's fix that.
2023-07-23 11:43:10 +10:00
f581dc4a56 Update README.md 2023-07-22 15:31:03 +10:00
693e9fc152 Update README.md
Removing unneeded go docs tag
2023-07-22 15:14:18 +10:00
c595833883 Better tag creation UX (#2809) 2023-07-22 14:44:18 +10:00
7807b40322 Better tag creation UX
Previously we used a single-line prompt for a tag annotation. Now we're using the commit message
prompt.

I've had to update other uses of that prompt to allow the summary and description labels to
be passed in
2023-07-22 14:36:35 +10:00
b284970bac Use fuzzy search when filtering a view (#2808) 2023-07-22 13:17:46 +10:00
b46623ebef Use fuzzy search when filtering a view
This adds fuzzy filtering instead of exact match filtering, which is more forgiving of typos
and allows more efficiency.
2023-07-22 13:14:29 +10:00
084c0a19bc Include more commit authors in author suggestions (#2807) 2023-07-22 11:00:38 +10:00
3cee37388c Keep track of authors across local commits and branch commits for suggestions
Previously, we would only show the authors based on local commits, but sometimes you want to set a commit author
to that of a commit on another branch. Now, so long as you've viewed the branch's commits, the author will appear
as a suggestion.
2023-07-22 10:47:04 +10:00
a7969aef2c Fix rendering to main view on windows v0.39.2 2023-07-22 09:14:05 +10:00
39c900c7e7 Fix goreleaser v0.39.1 2023-07-21 09:03:47 +10:00
6e247c1583 Only apply right-alignment on first column of keybindings menu (#2801) v0.39.0 2023-07-20 21:27:01 +10:00
87bf1dbc7f Only apply right-alignment on first column of keybindings menu
Previously we applied a right-align on the first column of _all_ menus, even though we really
only intended for it to be on the first column of the keybindings menu (that you get from pressing
'?')
2023-07-20 21:23:46 +10:00
1f920ae6ba Fix crash on empty menu (#2799) 2023-07-20 21:17:14 +10:00
932e01b41a Add test for crashing on empty menu 2023-07-20 21:08:56 +10:00
373f24c80f Fix crash on empty menu
When a menu is empty (e.g. due to filtering) we shouldn't crash on focus or selection
2023-07-20 21:05:52 +10:00
a548b289ef Add missing label to label checker (#2798) 2023-07-20 17:33:10 +10:00
b168fc8cdd Add missing label to label checker 2023-07-20 17:31:40 +10:00