summaryrefslogtreecommitdiffstats
path: root/docs
AgeCommit message (Collapse)Author
2024-06-01Update user docStefan Haller
2024-06-01Add design document for "Find base commit for fixup"Stefan Haller
This document explains why we made certain decisions about the behavior of the command. This is too detailed for users, but could be useful in the future if we want to discuss further improvements.
2024-06-01Add user config `expandedSidePanelWeight`Stefan Haller
2024-05-31Fix boolean config keys not appearing in the generated Config.mdStefan Haller
The reason why they didn't appear is that they didn't get a default value in the generated schema; this commit fixes that.
2024-05-26Fix tooltip of fixup commandfix-tooltip-for-fixupStefan Haller
2024-05-20Add property outputTitle to CustomCommandStefan Haller
It can optionally be used to set the title of the panel that shows the output of a command (when showOutput is true). If left unset, the command string is used as the title.
2024-05-19Make Keybindings definition in UserConfig struct lastKarim Khaleel
This makes the generated default config in Config.md match the original order.
2024-05-19Add default lazygit config generator for Config.md from JSON schemaKarim Khaleel
2024-05-19Create shims for all model classes in SessionStateLoaderStefan Haller
This guards against accidentally renaming a model field and thereby breaking user's custom commands. With this change we'll get a build failure when we do that.
2024-05-01Add commitPrefix for defining a prefix for any projectJonathan Duck
2024-04-28chore: fix some comments and typosknowmost
Signed-off-by: knowmost <knowmost@outlook.com>
2024-04-27Add config option for length of commit hash displayed in commits viewOlivia Bahr
- Add config option `commitHashLength` to to pkg/config/user_config.go - Changed the hash display in pkg/gui/presentation/commits.go
2024-04-12improve korean translationShin-JaeHeon
2024-04-12rename sha to hash 7, language translatepikomonde
2024-04-12rename sha to hashpikomonde
2024-04-12standardize 'Commit Sha' to 'Commit Hash'pikomonde
2024-04-10Add StatusPanelView configoakio
2024-04-06Add `SpinnerConfig`Artem Belyakov
This new config section allows to customize frames and rate of thespinner
2024-03-28Fix schema link in Config.mdStefan Haller
2024-03-26Update Busy.mdIkko Eltociear Ashimine
enqueing -> enqueueing
2024-03-22Add config to truncate commit hashes when copying them to the clipboardStefan Haller
I often copy hashes in the commits panel in order to paste them into Github comments (or other places), and I can't stand it when they have the full length. I picked a default of 12 for this; I find this to be a good middle ground between being reliable in large repos (12 still works in the linux kernel repo today, but it might not be enough in really huge repos) and not being too ugly (many smaller repos can probably get away with less). We deliberately don't change this for the "Copy to clipboard" menu, since this gives users a way to copy the unabbreviated sha if they need this occasionally.
2024-03-22Make it easy to create "amend!" commitsStefan Haller
To support this, we turn the confirmation prompt of the "Create fixup commit" command into a menu; creating a fixup commit is the first entry, so that "shift-F, enter" behaves the same as before. But there are additional entries for creating "amend!" commits, either with or without file changes. These make it easy to reword commit messages of existing commits.
2024-03-22Remove CreateFixupCommitDescription as it's identical to CreateFixupCommitStefan Haller
2024-03-19Improve translations for zh_TWStefan Haller
Authored-by: Oliver Tzeng <olivertzeng@proton.me>
2024-03-17Add missing translations for polishundg
2024-03-17Default to substring filtering, add option to go back to fuzzy filteringStefan Haller
By default we now search for substrings; you can search for multiple substrings by separating them with spaces. Add a config option gui.filterMode that can be set to 'fuzzy' to switch back to the previous behavior.
2024-03-17Show the same menu when pressing space on a remote branchStefan Haller
The old behavior of showing a prompt to choose a name for the new local branch is still available via the 'n' keybinding.
2024-03-11Add a commit menu to the commit message panelAbhishek Keshri
And move the "switch to editor" command into this menu. So far this is the only entry, but we'll add another one in the next commit.
2024-03-11Make keybindings for the "Amend attribute" menu configurableAbhishek Keshri
2024-03-11Add forgotten keybindings to Config.mdAbhishek Keshri
2024-03-09Add config for soft-wrapping the commit message bodyStefan Haller
2024-03-02Make ctrl-f available in staging viewStefan Haller
A common workflow for me is to create a fixup commit from only some of my current changes; to do that, I enter a file, stage a few hunks, and then want to invoke ctrl-f to find the base commit for these changes. Currently I need to esc back to the files panel in order to do that; it's more convenient to be able to do this right from the staging panel.
2024-02-21Add author filtering to commit viewTristan Déplantes
This commit introduces a new feature to the commit view, allowing users to filter commits based on the author's name or email address. Similar to the existing path filtering functionality, accessible through <c-s>, this feature allows users to filter the commit history by the currently selected commit's author if the commit view is focused, or by typing in the author's name or email address. This feature adds an entry to the filtering menu, to provide users with a familiar and intuitive experience
2024-02-18Update Config.mdStefan Haller
2024-02-16Deprecate git.log.showGraph and git.log.order configAlex March
Added identical properties to AppState that should eventually have their defaults set.
2024-02-13Change default of git.log.showGraph to 'always'Stefan Haller
Most people seem to prefer it to be on.
2024-01-29Add command to squash all fixups in the current branchStefan Haller
To do that, change the "Apply fixup commits" command to show a menu with the two choices "in current branch" and "above the selected commit"; we make "in current branch" the default, as it's the more useful one most of the time, even though it is a breaking change for those who are used to "shift-S enter" meaning "squash above selected".
2024-01-28Improve keybinding descriptionsJesse Duffield
This adds a bunch of tooltips to keybindings and updates some keybinding descriptions (i.e. labels). It's in preparation for displaying more keybindings on-screen (in the bottom right of the screen), and so due in part to laziness it shortens some descriptions so that we don't need to manage both a short and long description (for on-screen vs in-menu). Nonetheless I've added a ShortDescription field for when we do want to have both a short and long description. You'll notice that some keybindings I deemed unworthy of the options view have longer descriptions, because I could get away with it.
2024-01-28Render keybinding cheatsheet as markdown tableJesse Duffield
We're going to be adding tooltips to the cheatsheet to better explain what each actions does. As such, we're switching to a table format rather than a list. I'm also changing how the keys are represented, using a markdown approach rather than an html approach
2024-01-25Support range select for staging/discarding filesJesse Duffield
As part of this, you must now press enter on a merge conflict file to focus the merge view; you can no longer press space and if you do it will raise an error.
2024-01-22Add config setting to suppress showing file iconsStefan Haller
2024-01-19Support select range for cherry pickJesse Duffield
This requires us to change the 'v' keybinding for paste to something else, now that 'v' is used globally for toggling range select. So I'm using 'shift+v' and I'm likewise changing 'c' to 'shift+c' for copying, so that they're consistent. We will need to clearly communicate this change in keybindings.
2024-01-19Clear range select upon pressing 'escape'Jesse Duffield
This is the highest priority of the escape actions because it's the thing you're most likely to want to do upon hitting escape if you have a range selected. Applying this to the staging/patch-building views is tricky: if we want this logic for when a range of lines is selected, we'll also need to apply it when a hunk is selected too. I still think it's worth it though: I've often accidentally escaped from the staging view when trying to cancel a range selection.
2024-01-19Standardise display of range selection across viewsJesse Duffield
We're not fully standardising here: different contexts can store their range state however they like. What we are standardising on is that now the view is always responsible for highlighting the selected lines, meaning the context/controller needs to tell the view where the range start is. Two convenient benefits from this change: 1) we no longer need bespoke code in integration tests for asserting on selected lines because we can just ask the view 2) line selection in staging/patch-building/merge-conflicts views now look the same as in list views i.e. the highlight applies to the whole line (including trailing space) I also noticed a bug with merge conflicts not rendering the selection on focus though I suspect it wasn't a bug with any real consequences when the view wasn't displaying the selection. I'm going to scrap the selectedRangeBgColor config and just let it use the single line background color. Hopefully nobody cares, but there's really no need for an extra config.
2024-01-19Add range selection ability on list contextsJesse Duffield
This adds range select ability in two ways: 1) Sticky: like what we already have with the staging view i.e. press v then use arrow keys 2) Non-sticky: where you just use shift+up/down to expand the range The state machine works like this: (no range, press 'v') -> sticky range (no range, press arrow) -> no range (no range, press shift+arrow) -> nonsticky range (sticky range, press 'v') -> no range (sticky range, press arrow) -> sticky range (sticky range, press shift+arrow) -> nonsticky range (nonsticky range, press 'v') -> no range (nonsticky range, press arrow) -> no range (nonsticky range, press shift+arrow) -> nonsticky range
2024-01-13Update codebase guideJesse Duffield
I'm adding a couple more terms: Keybinding and Action, to keep things standardised
2024-01-13Add ability to start an interactive rebase onto an appropriate baseJesse Duffield
A common issue I have is that I want to move a commit from the top of my branch all the way down to the first commit on the branch. To do that, I need to navigate down to the first commit on my branch, press 'e' to start an interactive rebase, then navigate back up to the top of the branch, then move my commit back down to the base. This is annoying. Similarly annoying is moving the commit one-by-one without explicitly starting an interactive rebase, because then each individual step is its own rebase which takes a while in aggregate. This PR allows you to press 'i' from the commits view to start an interactive rebase from an 'appropriate' base. By appropriate, we mean that we want to start from the HEAD and stop when we reach the first merge commit or commit on the main branch. This may end up including more commits than you need, but it doesn't make a difference.
2024-01-11Update codebase guideJesse Duffield
fixes a line that used an incorrect path
2024-01-11Add codebase guideJesse Duffield
2024-01-10Add command to find base commit for creating a fixupStefan Haller