summaryrefslogtreecommitdiffstats
path: root/pkg
AgeCommit message (Collapse)Author
2023-08-19Fix the blue sha color of todo commits while rebasingStefan Haller
This broke with 5d8a85f7e78.
2023-08-15Add emacs-keybinds for word navigationChing Pei Yang
2023-08-15Add ScrollOffMargin user configStefan Haller
When set to a non-zero value, views will scroll when the selection gets this close to the top or bottom of the view.
2023-08-15Stop cycling hunks when reaching the endStefan Haller
Previously, when pressing right-arrow when the cursor is already in the last hunk, it would jump back to the beginning of that hunk. This can be confusing if the hunk is long, maybe the start of the hunk is already scrolled off the top of the window, and then pressing right-arrow actually scrolls *backwards*, which is counter-intuitive. It's better to do nothing in this case. Same for left-arrow when the cursor is already in the first hunk, although here the problem is not so severe (unless diff context was increased by a huge amount, and the start of the first hunk is scrolled off the bottom of the window).
2023-08-15If selected line is outside, move it to the middle of the viewStefan Haller
Previously, the current line was only moved as much as necessary so that it's in view again. This had the problem that when jumping downwards from hunk to hunk with the right-arrow key, only the first line of the new hunk was shown at the bottom of the window. I prefer to put the selected line in the middle of the view in this case, so that I can see more of the newly selected hunk. This has the consequence that when scrolling through the view line by line using down-arrow, the view jumps by half a screen whenever I reach the bottom. I can see how some users might be opposed to this change, but I happen to like it too, because it allows me to see more context of what's ahead.
2023-08-15Fix typo in commentStefan Haller
2023-08-12Add demo for diffing two commitsJesse Duffield
2023-08-12Factor out common config setup functions in demo packageJesse Duffield
2023-08-12Show commit mark before showing extra infoJesse Duffield
The 'YOU ARE HERE' marking should be shown before we show things like the current tag, otherwise it could be missed
2023-08-12Add commit graph demoJesse Duffield
2023-08-12Add rebase from marked base commit testJesse Duffield
This also fixes a bug where after the rebase each commit in the commits view had a tick against it because we hadn't refreshed the view since the base commit was no longer marked
2023-08-12Add undo demoJesse Duffield
2023-08-10Allow deleting remote tags/branches from local tag/branch views (#2738)Federico
2023-08-10Support editing files in existing neovim instance (#2916)Jesse Duffield
2023-08-10Fix bug in LineNumberOfLineStefan Haller
This fixes a regression that was introduced in 73c7dc9c5d00.
2023-08-10Add test case for LineNumberOfLine()Stefan Haller
There's a bug in LineNumberOfLine, but the existing test coverage doesn't catch it, as the only test case for this was one where oldStart and newStart were the same for all hunks. Add a test case where newStart is different for one of the hunks; this demonstrates a bug, where all expected results from index 12 on are off by one.
2023-08-09If OpenLink errors, show a dialog insteadSimon Whitaker
If the command used by OSCommand.OpenLink fails, lazygit crashes. With this change, if the OpenLink command fails, lazygit just shows a dialog inviting the user to visit the relevant URL. Fixes #2882
2023-08-09use 'suspend' instead of 'editInTerminal' internallyJesse Duffield
'suspend' is a more appropriate name, especially now that you can choose not to suspend despite still being in a terminal
2023-08-09Add nvim-remote editor presetJesse Duffield
This allows us to jump back to the parent neovim process when we want to edit a file, rather than opening a new neovim process within lazygit. Arguably this should be the default, but I'm not familiar with the various ways people use lazygit with neovim.
2023-08-09Honour editInTerminal value when opening a worktree folderJesse Duffield
There was no good reason not to do this in the first place.
2023-08-08Reset origin when clearing viewJesse Duffield
2023-08-08Add Click() to GuiDriver (#2898)Jesse Duffield
2023-08-07Add a Click() primitive to the integration test librarySimon Whitaker
2023-08-07Fix seg-fault when opening submodule in nested folderJesse Duffield
2023-08-07Support bare worktrees where worktree does not have its own .git fileJesse Duffield
This was on oversight on my part: I assumed that the --work-tree arg was always intended for use with linked worktrees which have a .git file pointing back to the repo. I'm honestly confused now: seems like there are three kinds of worktrees: * the main worktree of a non-bare repo * a linked worktree (with its own gitdir in the repo's worktrees/ dir) * a random folder which you specify as a worktree with the --work-tree arg I'm pretty sure the --work-tree arg is only intended to be used with this third kind or workree
2023-08-07Test bare repos with dotfile setupJesse Duffield
2023-08-07Use nerdfont version 3Jesse Duffield
Turns out I was on version 2 when recording these. I've switched to v3 now.
2023-08-07update worktree icons for NerdFont V3 (#2895)keybinding-menu-headingsStefan Haller
2023-08-07👽️ update worktree icons for NerdFont V3Saafo
2023-08-06added svelte and mdxHarshit Tomar
2023-08-06Bump gocuiStefan Haller
... and import stefanhaller's tcell fork for real rather than just replacing it This solves the problem that people trying to "go install github.com/jesseduffield/lazygit@latest" would get the error go: github.com/jesseduffield/lazygit@latest (in github.com/jesseduffield/lazygit@v0.40.0): The go.mod file for the module providing named packages contains one or more replace directives. It must not contain directives that would cause it to be interpreted differently than if it were the main module.
2023-08-05Fix confirmation view sizingJesse Duffield
The proper fix is to actually have these two functions share code, or for views to be able to manage their own heights based on their contents. But I want to get this out for the sake of a Lazygit Anniversary release.
2023-08-04Add custom patch demoJesse Duffield
2023-08-04Add worktree demoJesse Duffield
2023-08-04Add custom command demoJesse Duffield
2023-08-03Add undo/redo demoJesse Duffield
2023-08-02Add demo for staging linesJesse Duffield
2023-08-02Add demo for amending old commitJesse Duffield
2023-08-02Add demo for filtering branchesJesse Duffield
2023-08-02Remove file watcher codeJesse Duffield
Now that we refresh upon focus, we can scrap this file watching code. Stefan says few git UIs use file watching, and I understand why: the reason this code was problematic in the first place is that watching files is expensive and if you have too many open file handles that can cause problems. Importantly: this code that's being removed was _already_ dead.
2023-08-02Refresh when the terminal window gets the focusStefan Haller
2023-08-02Appease linterJesse Duffield
2023-08-02Fix focus issueJesse Duffield
When opening lazygit with `lazygit log` the worktrees view was appearing in front of the files view. This is because it had higher precedence than the files view in the ordered view mapping, and that was because it originally was in the branches window so it was further down the list. The reason this didn't cause issues on typical startup is that the files context is activated at the start so it is brought to the front.
2023-08-01Wait in demo after setting captionJesse Duffield
This looks nicer than waiting a second and then showing the caption as the action begins
2023-08-01Add explosion animation when nuking working treeJesse Duffield
I've been thinking about this for a while: I think it looks really cool if nuking your working tree actually results in a nuke animation. So I've added an opt-out config for it
2023-08-01Start in fullscreen when passing a git argJesse Duffield
Often we just want to see the desired view in fullscreen so I'm making that the default
2023-08-01Internationalise logging of commands (#2852)Jesse Duffield
2023-07-31Adds EditRebaseFromBaseCommit log message to i18nKarl Heitmann
2023-07-31Wraps rebase func with WithWaitingStatus to show loader when rebasingKarl Heitmann
2023-07-31Moves log related translations into its own Tr.Log. namespaceKarl Heitmann