summaryrefslogtreecommitdiffstats
path: root/pkg
AgeCommit message (Collapse)Author
2023-06-01Add integration test for commit highlighting on focusJesse Duffield
A better refactor would be to allow matchers to assert against either a string or a slice of cells, so that I could have the same ergonomics that I have elsewhere, but this is a start.
2023-06-01Apply correct styling to root commit in graphJesse Duffield
The root commit is special in that it has no parents. So we need to add a pipe that's headed for a commit that doesn't actually exist i.e. the mythical empty tree commit. We're using the actual hash of that pseudo-commit, but it's not being read anywhere.
2023-06-01Refresh commits viewport on focus lostJesse Duffield
We don't want the highlighted selection sticking around after the context loses focus.
2023-06-01show commits against branchesJesse Duffield
2023-06-01Set defaults colours to 'default', not 'white'Jesse Duffield
'white' is great on dark themes, and terrible on light themes.
2023-06-01Merge pull request #2695 from jesseduffield/fix-time-ago-functionJesse Duffield
2023-06-01Merge pull request #2694 from stefanhaller/conflict-handling-menuStefan Haller
Show menu instead of prompt when there are conflicts in a rebase or merge
2023-06-01Show menu instead of prompt when there are conflicts in a rebase or mergeStefan Haller
This solves the issue that previously you could too easily abort a rebase accidentally by hitting escape.
2023-06-01update seconds ago function and add testsJesse Duffield
2023-06-01Add --all to "git fetch" command when not fetching a specific remoteStefan Haller
2023-05-31Add tests for FetchStefan Haller
2023-05-31Extract a FetchCmdObj function so that we can test itStefan Haller
No change in behavior.
2023-05-31Remove unused fetch options RemoteName and BranchNameStefan Haller
These were never used, since there are separate functions for fetching a remote and for fast-forwarding a branch.
2023-05-31Merge pull request #2688 from tzengyuxio/masterJesse Duffield
2023-05-30Merge pull request #2508 from Ryooooooga/remove-jesseduffield-yamlJesse Duffield
2023-05-30Add Traditional Chinese supportTzeng Yuxio
2023-05-29Support using command output directly in menuFromCommand custom command promptJesse Duffield
The menuFromCommand option is a little complicated, so I'm adding an easy way to just use the command output directly, where each line becomes a suggestion, as-is. Now that we support suggestions in the input prompt, there's less of a need for menuFromCommand, but it probably still serves some purpose. In future I want to support this filter/valueFormat/labelFormat thing for suggestions too. I would like to think a little more about the interface though: is using a regex like we currently do really the simplest approach?
2023-05-29Support suggestions generated from command in custom commandsJesse Duffield
This changes the interface a bit but it was only added earlier today so I doubt anybody is dependent on it yet. I'm also updating the docs.
2023-05-29Add suggestionsPreset to custom commands systemJesse Duffield
2023-05-26More compact and flexible date formatJesse Duffield
You can now configure both a time format and a short time format, where the short format kicks in when the time is within the last day
2023-05-26Merge pull request #2672 from jesseduffield/sentence-caseJesse Duffield
2023-05-26Merge pull request #2670 from jesseduffield/better-list-context-traitJesse Duffield
2023-05-26Clean up helix editor presetJesse Duffield
2023-05-25Use sentence case everywhereJesse Duffield
We have not been good at consistent casing so far. Now we use 'Sentence case' everywhere. EVERYWHERE. Also Removing 'Lc' prefix from i18n field names: the 'Lc' stood for lowercase but now that everything is in 'Sentence case' there's no need for the distinction. I've got a couple lower case things I've kept: namely, things that show up in parentheses.
2023-05-25Merge pull request #2668 from dvic/add-helix-supportJesse Duffield
2023-05-25Allow global logging when developingJesse Duffield
I'll be honest, for all I know logging should be global in general: it is a pain to pass a logger to any struct that needs it. But smart people on the internet tell me otherwise, and I do like the idea of not having any global variables lying around. Nonetheless, I often need to log things when locally debugging and that's a different kind of logging than the kind you would include in the actual released binary. For example if I want to log something from gocui, I would rather not have gocui depend on lazygit's logging setup.
2023-05-25Use boolean field to control whether viewport is refreshed on line focusJesse Duffield
Go really doesn't like us doing anything inheritance-y: it does not support open recursion meaning it's really hard to re-use code. As such, here we're falling back to conditional logic. This fixes an issue where our ListContextTrait was calling FocusLine which was intended to be overridden by ViewportListContextTrait, but the subclassed function wasn't being called. I'm not actually sure how this went wrong given that it was working fine in the past, but at any rate, the new code is easy to follow.
2023-05-24Add helix editor presetdvic
2023-05-23Merge pull request #2656 from mazharz/gitlab-merge-request-urlJesse Duffield
Update gitlab merge request URL to match new routing
2023-05-23Fix discard logicJesse Duffield
Missed a spot a couple PR's ago. We had an integration test which caught this but which was skipped due to index.lock file issues. The test was also broken for other reasons due to it not having been running for a while, so I've fixed that up too.
2023-05-23Construct arg vector manually rather than parse stringJesse Duffield
By constructing an arg vector manually, we no longer need to quote arguments Mandate that args must be passed when building a command Now you need to provide an args array when building a command. There are a handful of places where we need to deal with a string, such as with user-defined custom commands, and for those we now require that at the callsite they use str.ToArgv to do that. I don't want to provide a method out of the box for it because I want to discourage its use. For some reason we were invoking a command through a shell when amending a commit, and I don't believe we needed to do that as there was nothing user- supplied about the command. So I've switched to using a regular command out- side the shell there
2023-05-23Merge pull request #2661 from jesseduffield/cache-binary-pathsJesse Duffield
Cache binary paths
2023-05-23Cache binary pathsJesse Duffield
Turns out that with our secureexec package (which we only use on windows due to a windows security thing),
2023-05-22Update gitlab commit URL to match new routingMazhar Zandsalimi
2023-05-21Update gitlab merge request URL to match new routingMazhar Zandsalimi
2023-05-21Merge pull request #2644 from ↵Stefan Haller
stefanhaller/remove-empty=keep-option-when-rebasing Don't keep commits that become empty during a rebase
2023-05-21Right-align key labels in menuJesse Duffield
I find this makes it look a little nicer
2023-05-21Update cheatsheetJesse Duffield
Now that we're using the angle-bracket syntax everywhere for consistency, we need to escape the angle brackets in the markdown of the cheatsheets.
2023-05-21Apply strikethrough style to reserved keybindings in menusJesse Duffield
If a given menu item has an associated keybinding of 'enter', hitting enter won't actually execute that item unless your cursor is on it. This creates confusion, and so we're going to use a strikethrough style to communicate that the keybinding is reserved for something else.
2023-05-21Stop displaying navigation keybinding at bottom of screenJesse Duffield
The reason for this is that now our labels for navigation keybindings are larger so they take up more realestate. It's not the kind of thing a user needs to be told anyway, anybody is going to try out hjkl and the arrow keys when a TUI opens up. We could map from <up> to the single character up unicode rune but given you can rebind this stuff I'd rather keep it simple
2023-05-21Use same labels for keys that we use in the configJesse Duffield
Previously we were displaying keys in a different format than we expected them in the config. This was certain to cause confusion.
2023-05-21Support strikethrough text styleJesse Duffield
2023-05-20Don't keep commits that become empty during a rebaseStefan Haller
The only exception is when moving a custom patch for an entire commit to an earlier commit; in this case the source commit becomes empty, but we want to keep it, mainly for consistency with moving the patch to a later commit, which behaves the same. In all other cases where we rebase, it's confusing when empty commits are kept; the most common example is rebasing a branch onto master, where master already contains some of the commits of our branch. In this case we simply want to drop these.
2023-05-20Show correct keybinding in tipJesse Duffield
2023-05-20Refactor interface for ApplyPatchJesse Duffield
2023-05-20Add convenience builder for git commandsJesse Duffield
2023-05-20Increase test coverageJesse Duffield
2023-05-20Remove the toast when toggling "ignore whitespace"Stefan Haller
Now that we visualize the state, the toast is no longer needed.
2023-05-20Visualize the "ignore whitespace" state in the subtitle of the diff viewStefan Haller
2023-05-20Don't toggle "ignore whitespace" in the staging and patch building panelsStefan Haller
The option doesn't have any affect in these views, so we don't need to toggle it here. But the problem was the HandleFocus call at the end: this would activate the wrong view, so we need to avoid it here. Show an error if the user tries to turn the option on, to let them know that it doesn't work here.