1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2024-12-14 11:23:09 +02:00
Commit Graph

1876 Commits

Author SHA1 Message Date
Luka Markušić
767ef31661 Use filepath.Join instead of manual concat 2022-07-31 08:43:31 +02:00
Jesse Duffield
c81c046615
Merge pull request #2059 from sportshead/master 2022-07-31 16:19:59 +10:00
Jesse Duffield
7077ea428f add optimistic rendering for staging and unstaging files 2022-07-31 14:34:57 +10:00
sportshead
f2880ecb46 Add empty output message and refreshing to showOutput 2022-07-31 12:04:40 +08:00
Luka Markušić
966733240c Refactor a bit, enable worktrees 2022-07-30 19:02:19 +02:00
Luka Markušić
25ddac0d8f Gotta go fast 2022-07-30 17:42:15 +02:00
Luka Markušić
7c09ce3871 Parallelize fetching current branch 2022-07-30 17:05:17 +02:00
Luka Markušić
e6e4513f45 Show active branch for recent repo
Split recent repo menu into three columns
2022-07-30 17:05:17 +02:00
Luka Markušić
9c6239df3d Worktrees should not be filtered out
But non-git directories should
2022-07-30 17:03:30 +02:00
Jesse Duffield
ab5a8091f5 add better support for OpensMenu option when creating a menu 2022-07-30 20:27:51 +10:00
Jesse Duffield
95678b1b43
Merge pull request #2065 from jesseduffield/fix-rewording-merge-commit-with-editor
Fix rewording a merge commit with editor
2022-07-30 19:51:59 +10:00
Luka Markušić
cc377b5c49 Fix rewording a merge commit with editor 2022-07-30 08:43:42 +02:00
Luka Markušić
1f482e585e Fix github linter errors 2022-07-30 08:10:29 +02:00
sportshead
e1f41b653c Add showOutput option to custom commands (#1163) 2022-07-28 18:40:30 +08:00
Jesse Duffield
c087dca60a
Merge pull request #2027 from jesseduffield/gozes-jesse
Attempt at fixing CI
2022-07-05 19:37:09 +10:00
Juan Sanchez Montalvo
11d766053e Allow adding a file to the .git/info/exclude file 2022-07-05 19:33:44 +10:00
Michael Mead
9d304098bb feat: add confirm prompt for custom keybindings
- Supports configuring a custom confirmation prompt via `config.yml` for
  custom keybindings. A new `CustomCommandPrompt.Body` field is
  used to store the immutable body text of the confirmation popup.
- Adds a sample 'confirm' prompt to the example `config.yml`.
- Updates the `Prompts` section of the documentation to include
  'confirm' prompt type and also describe which fields pertain to it
  (i.e. `initialValue`).

Closes: https://github.com/jesseduffield/lazygit/issues/1858

Signed-off-by: Michael Mead <mmead.developer@gmail.com>
2022-07-04 11:36:13 -07:00
Jesse Duffield
02c5559704 run integration tests in parallel and properly cache windows build 2022-06-11 13:06:29 +10:00
Jesse Duffield
32c0b39dbd
Merge pull request #1950 from HiromasaNojima/add_subcommand_into_specific_layout_directly 2022-06-11 11:51:14 +10:00
Jesse Duffield
b1e4968d0b allow opening lazygit to a specific panel 2022-06-11 11:23:56 +10:00
Luka Markušić
a955dbcfd7 Validate recent repo before blindly opening it 2022-06-11 09:42:51 +10:00
Jesse Duffield
de3114edc3
Merge pull request #1972 from lei4519/feature/display-whole-graph-by-default 2022-06-09 20:17:25 +10:00
Jesse Duffield
cdec70cc06
Merge pull request #1975 from mark2185/fix-unmatching-remote-branch-name 2022-06-09 20:12:56 +10:00
Jesse Duffield
9591cc381a support setting the author of a commit
update copy
2022-06-09 19:12:20 +10:00
Luka Markušić
55a941d5dc Fetch the correct remote branch 2022-06-01 20:35:09 +02:00
Lay
684ea284af fix: lint error 2022-05-30 23:19:48 +08:00
Lay
666180cfd0 Add config param that displays the whole git graph by default 2022-05-30 13:52:39 +08:00
Jesse Duffield
8fd9dea641
Merge pull request #1936 from Ryooooooga/feature/tab-i18n 2022-05-18 22:24:45 +10:00
Jesse Duffield
e1e16a34da
Merge pull request #1948 from Ryooooooga/feature/time-format 2022-05-18 22:20:51 +10:00
Ryooooooga
bfefef92a6
chore(i18n): move InitialViewTabContextMap to gui package 2022-05-18 21:09:48 +09:00
Ryooooooga
5275161a88
chore(i18n): localize panel titles 2022-05-18 20:55:42 +09:00
Ryooooooga
e57931f56d
test: fix timezone for time format tests 2022-05-18 20:55:29 +09:00
Ryooooooga
1f1d871837
feat: add ability to customize time format 2022-05-18 20:55:27 +09:00
Ryooooooga
9693afd671
fix: fix lint error 2022-05-18 20:34:35 +09:00
Jesse Duffield
f31dcd3091
Merge pull request #1930 from mark2185/feature/discard-staged-only 2022-05-15 20:33:25 +10:00
Luka Markušić
241d182da7 Make tooltip i18n-able 2022-05-15 12:16:20 +02:00
Jesse Duffield
8e7f6822fc
Merge pull request #1944 from Ryooooooga/feature/fix-ambiguous-refname 2022-05-15 19:45:30 +10:00
Jesse Duffield
73491fed25
Merge pull request #1927 from HiromasaNojima/option_always_show_unstaged_staged_panels 2022-05-15 19:24:56 +10:00
Jesse Duffield
d72ffdc4a7 refactor 2022-05-15 19:10:04 +10:00
Ryooooooga
61970a4439
fix: fix ambiguous refname 2022-05-13 21:05:51 +09:00
Luka Markušić
ca191159f5 Discard staged changes only 2022-05-08 14:24:28 +02:00
HiromasaNojima
1ef585969f add option to always show unstaged/staged panels 2022-05-08 17:24:55 +09:00
Jesse Duffield
e67fef776b add author email to commits 2022-05-08 14:26:18 +10:00
Jesse Duffield
6f8063217d rename displayString to label for menu items 2022-05-08 14:26:18 +10:00
Jens Pfeifle
7c573a5bea Add command to reset the commit author from the commits panel. 2022-05-08 13:29:56 +10:00
Jesse Duffield
22d98249fe better popup resizing logic 2022-05-08 13:24:36 +10:00
Jesse Duffield
f257740ea7 add tooltip view for showing menu item descriptions 2022-05-08 13:24:36 +10:00
Jesse Duffield
517e9445df refactor view definitions 2022-05-08 11:41:13 +10:00
Ryooooooga
540d2e379a
fix: fix collision of Donate and Ask Question 2022-05-07 18:02:09 +09:00
Ryooooooga
04babdfb82
fix: fix the appStatus width calculation 2022-05-07 17:37:53 +09:00
Ryooooooga
265e6d8360
fix: fix the prompt height calculation 2022-05-07 16:36:20 +09:00
Jesse Duffield
3bf0c9ef44 more documentation 2022-05-07 16:02:04 +10:00
Ryooooooga
b07e0ea032
fix: fix context of edit hunk 2022-05-06 21:58:40 +09:00
Ryooooooga
d458e78d95
feat: add ability to edit hunk 2022-05-06 21:53:00 +09:00
Jesse Duffield
0940e0182b
Merge pull request #1870 from mark2185/feature/stash-unstaged 2022-05-06 20:17:33 +10:00
Jesse Duffield
f7fae0b82e
Merge pull request #1869 from mark2185/feature/unset-upstream 2022-05-06 20:14:13 +10:00
Ryooooooga
2eb866fc62
fix: fix a crash when pressing enter in empty commits, reflog, or stash panel 2022-05-05 21:41:44 +09:00
Jesse Duffield
4dd09ee0d5 allow copying commit author to clipboard 2022-05-01 14:14:29 +10:00
Ryooooooga
db3568e4f2
chore(gui): remove todo 2022-04-29 17:53:43 +09:00
Ryooooooga
86af186683
feat(file_icons.go): add Cargo.toml icons 2022-04-24 18:23:14 +09:00
Ryooooooga
f972d6ae68
feat(gui): show remote icons 2022-04-23 12:25:42 +09:00
Ryooooooga
11d0e7e17d
feat(gui): show branch icons 2022-04-23 12:25:41 +09:00
Ryooooooga
cb13fe7f46
feat(gui): show commit icons 2022-04-23 12:25:41 +09:00
Ryooooooga
b07aeda5a6
feat(gui): show file icons 2022-04-23 12:25:40 +09:00
Jesse Duffield
dfb293c985 better upstream changes presentation 2022-04-18 11:03:28 +10:00
Jesse Duffield
9b947b74a2 allow hiding bottom line 2022-04-18 09:58:36 +10:00
Jesse Duffield
3477cbc81f better weight distribution in window arrangement 2022-04-17 12:48:04 +10:00
Jesse Duffield
2fa6d8037c always show list counts 2022-04-16 17:29:17 +10:00
Jesse Duffield
d3b6acf096 restore highlighting of popup messages 2022-04-16 17:29:17 +10:00
Jesse Duffield
e68093fe99 add scrollbars 2022-04-16 17:29:17 +10:00
Jesse Duffield
b838b74801 do not highlight line if there are no items to display 2022-04-16 15:19:32 +10:00
Jesse Duffield
00afa30ebf better appearance for reverse attribute 2022-04-16 15:19:32 +10:00
Mukhlis Akbarrudin
21336d3aa2 refactor: explicitly add alternative keybinding 2022-04-15 08:23:27 +10:00
Luka Markušić
1ae2dc9941 The four horsemen of stashing 2022-04-14 21:45:55 +02:00
Luka Markušić
e114b5b5e8 Refresh BRANCHES and COMMITS after (un)staging upstream 2022-04-13 15:54:32 +02:00
Luka Markušić
c4b958e3fd There's gotta be a better way for initial content 2022-04-13 15:21:01 +02:00
Luka Markušić
f83308c8df Add option to (un)set upstream for a local branch 2022-04-11 14:04:06 +02:00
Luka Markušić
6f7038c827 Add option to stash only unstaged files 2022-04-10 09:35:59 +02:00
casswedson
b7928042f0 chore: typo hunting ft. codespell 2022-04-06 08:52:41 +10:00
Ryooooooga
3b5a019e1a feat(merge_panel): Add open/edit files in merge conflict panel 2022-04-06 08:27:03 +10:00
Ryooooooga
53257db99d fix: fix diff of renamed files 2022-04-06 08:26:13 +10:00
Ryooooooga
954d1a8147 fix commit description 2022-04-02 17:04:42 +11:00
Ryooooooga
09d24ebd1d fix test 2022-04-02 17:04:42 +11:00
Ryooooooga
4835fc00b8 introduce Ref interface 2022-04-02 17:04:42 +11:00
Ryooooooga
86c259623c feat: fix permission problem of temp dirs 2022-04-02 08:48:38 +11:00
Moritz Haase
e35ab3c5fe pkg/gui: Use 'alert' popups instead of 'confirm' popups where appropriate
Invocations of 'IPopupHandler::Confirm()' that use neither 'HandleConfirm' nor
'HandleClose' can be replaced by 'Alert()'.
2022-03-30 20:13:43 +11:00
Moritz Haase
8fb2acc224 pkg/gui: Rename IPopupHandler::Ask() to Confirm()
Follow the JavaScript naming scheme for user interaction (alert, prompt,
confirm) as discussed in #1832.
2022-03-30 20:13:43 +11:00
Moritz Haase
f2fb6453a1 pkg/gui: Show notification popup when update was successful
Show a proper notification popup once an update has been installed successfully
so the user knows we're done (so far a popup is only shown if an error occurred).
The popup also reminds him to restart lazygit for the changes to take effect.
2022-03-28 09:13:34 +11:00
Moritz Haase
b7079634ee i18n: Make user-facing strings in the updater translatable
Convert a number of static (english) user-facing string in the updater code to
translatable ones.
2022-03-28 09:13:34 +11:00
Moritz Haase
9bccc20888 pkg/gui: Add support for 'notification' popups
Add a new 'Notification()' method to 'IPopupHandler' that makes it easier to
show a modal info message to the user. This is simply a convenience wrapper
around 'Ask()', so the popup can be closed using both 'Enter' and 'ESC'.
2022-03-28 09:13:34 +11:00
Jesse Duffield
b3636a537b reduce glitchiness of patch building mode 2022-03-27 19:18:07 +11:00
Jesse Duffield
7c3d14ee19 allow amending and reverting commits when filtering by file 2022-03-27 18:50:29 +11:00
Jesse Duffield
897c4402a4 better colour 2022-03-27 18:16:16 +11:00
Jesse Duffield
860d1e0145 fix copy for merge confirmation 2022-03-27 18:16:16 +11:00
Jesse Duffield
e011acbab2 better logging for stash flow 2022-03-27 18:16:16 +11:00
Jesse Duffield
3e5d4b2c74 add menu keybindings for various things 2022-03-27 18:16:16 +11:00
Jesse Duffield
e94312b664 use colour 2022-03-27 18:16:16 +11:00
Jesse Duffield
9c226eed37 allow menu to store keybindings for quick menu navigation 2022-03-27 18:16:16 +11:00
Jesse Duffield
e43ce23642 require hitting escape to exit menu panel 2022-03-27 18:16:16 +11:00
Jesse Duffield
0dfb7c08b7 remove controllers struct 2022-03-27 18:16:16 +11:00
Jesse Duffield
f0a4dcfdc3 refactor menu context 2022-03-27 18:16:16 +11:00
Jesse Duffield
98e7ec0905 add type alias for Key 2022-03-27 18:16:16 +11:00
Jesse Duffield
2b3d457aa4 honour push.default matching config value 2022-03-27 14:58:20 +11:00
Moritz Haase
4abd80e2c4 pkg/gui: Fix crash if auto-fetch interval is non-positive
Check whether the auto-fetch interval configured is actually positive before
starting the background fetcher. If it is not, an error is logged. Also improve
the config option documentation a bit to make it easier to understand how to
disable auto-fetch.
2022-03-27 10:14:33 +11:00
Moritz Haase
240483953f config: Add option 'git.autoRefresh' to en-/disable auto-refresh
Adds a new 'autoRefresh' option to the 'git' config section that allows user to
disable auto-refresh (defaults to on). If auto-refresh is enabled, the
refreshInterval is now checked before starting the timer to prevent crashes when
it is non-positive.

Fixes #1417
2022-03-27 10:14:33 +11:00
Jesse Duffield
51baa8c17d update cheatsheet 2022-03-26 18:00:46 +11:00
Jesse Duffield
102c33433b remove dead code 2022-03-26 18:00:46 +11:00
Jesse Duffield
fe87114074 don't hide transient views upon losing focus 2022-03-26 18:00:46 +11:00
Jesse Duffield
ad7703df65 show namesake for child views 2022-03-26 18:00:46 +11:00
Jesse Duffield
13b90ac37f support viewing commits of reflog entry and show better view title 2022-03-26 18:00:46 +11:00
Jesse Duffield
e039429885 better wording again 2022-03-26 17:22:42 +11:00
Jesse Duffield
e0b05f4464 fix cherry picking bug 2022-03-26 17:22:42 +11:00
Jesse Duffield
077b6eb8a3 refactor to make code clearer 2022-03-26 17:22:42 +11:00
Jesse Duffield
45dab51214 add basic commits controller for handling actions that apply to all commit contexts 2022-03-26 17:22:42 +11:00
Luka Markušić
540edb0bf4 Add copy commit attributes option 2022-03-26 17:22:42 +11:00
Jesse Duffield
cb26c7a1f2 more things 2022-03-24 20:14:41 +11:00
Jesse Duffield
e392b9f86a no more filterThenMap 2022-03-24 20:14:41 +11:00
Jesse Duffield
67a76523fb rename 2022-03-24 20:14:41 +11:00
Jesse Duffield
94a53484a1 would you believe that I'm adding even more generics 2022-03-24 20:14:41 +11:00
Jesse Duffield
1b75ed3740 many more generics 2022-03-24 20:14:41 +11:00
Jesse Duffield
bf4f06ab4e more generics 2022-03-24 20:14:41 +11:00
Jesse Duffield
eda8f4a5d4 lots more generics 2022-03-24 20:14:41 +11:00
Jesse Duffield
c7a629c440 make more use of generics 2022-03-24 20:14:41 +11:00
Jesse Duffield
dde30fa104 add gone branches status 2022-03-24 17:50:25 +11:00
Jesse Duffield
f113ff21bf add confirmation before performing undo or redo action 2022-03-24 09:45:27 +11:00
Jesse Duffield
12ecd665c8 safe reword 2022-03-23 23:43:21 +11:00
Jesse Duffield
cc5d13c833 allow adding whole diff to patch
this was causing a panic

add integration test for toggling all commit files
2022-03-23 23:36:58 +11:00
Jesse Duffield
5ded030a88 diff colour for reflog commits 2022-03-23 18:53:29 +11:00
Jesse Duffield
a34bdf1a04 update linters 2022-03-19 12:12:57 +11:00
Jesse Duffield
d93fef4c61 use generics to DRY up context code 2022-03-19 12:12:57 +11:00
Jesse Duffield
31ab43d0c5 add host helper 2022-03-17 19:13:40 +11:00
Jesse Duffield
fb3752c11f clean up keybindings menu 2022-03-17 19:13:40 +11:00
Jesse Duffield
36c149836a softcode keybinding 2022-03-17 19:13:40 +11:00
Jesse Duffield
ea503633aa move keybindings 2022-03-17 19:13:40 +11:00
Jesse Duffield
59d4df2a44 fix click handling 2022-03-17 19:13:40 +11:00
Jesse Duffield
cf00949b85 fix integration tests 2022-03-17 19:13:40 +11:00
Jesse Duffield
c7b03bd3c2 rename handlers 2022-03-17 19:13:40 +11:00
Jesse Duffield
8fd6338527 move workspace reset menu into controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
ee1337b931 add remote branches controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
d59c0e2725 remove dead code 2022-03-17 19:13:40 +11:00
Jesse Duffield
675510ba53 fix integration test 2022-03-17 19:13:40 +11:00
Jesse Duffield
4805db7d97 use correct context 2022-03-17 19:13:40 +11:00
Jesse Duffield
ef7c4c9ca9 refactor custom commands
more custom command refactoring
2022-03-17 19:13:40 +11:00
Jesse Duffield
952a4f3f23 prevent interrupting confirmation panel 2022-03-17 19:13:40 +11:00
Jesse Duffield
46e9946854 refactor credential handling 2022-03-17 19:13:40 +11:00
Jesse Duffield
d0805616e4 move function 2022-03-17 19:13:40 +11:00
Jesse Duffield
bff5351ab3 better naming 2022-03-17 19:13:40 +11:00
Jesse Duffield
d991d74b06 add commit message controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
120078f011 use PopContext 2022-03-17 19:13:40 +11:00
Jesse Duffield
ecaff7fc6c add commit files controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
85f2319897 refactor custom commands panel 2022-03-17 19:13:40 +11:00
Jesse Duffield
c685a413c9 stash controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
a643957f89 include stash in commitish controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
e842d1bc9e move git flow 2022-03-17 19:13:40 +11:00
Jesse Duffield
8a555dd62e refactor 2022-03-17 19:13:40 +11:00
Jesse Duffield
bef26b9634 add common commit controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
574c5ca0de add subcommits controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
1253100431 cleanup 2022-03-17 19:13:40 +11:00
Jesse Duffield
eab00de273 reflog controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
371b8d638b more consistent naming 2022-03-17 19:13:40 +11:00
Jesse Duffield
55af07a1bb fix CI 2022-03-17 19:13:40 +11:00
Jesse Duffield
33a223e981 remove dead code 2022-03-17 19:13:40 +11:00
Jesse Duffield
943a8e83da ensure we retain state when returning to submodule parent 2022-03-17 19:13:40 +11:00
Jesse Duffield
94d66b267d defend against view not yet having a context defined against it 2022-03-17 19:13:40 +11:00
Jesse Duffield
41527270ed appease linter 2022-03-17 19:13:40 +11:00
Jesse Duffield
3188526ecb fix cheatsheet crash 2022-03-17 19:13:40 +11:00
Jesse Duffield
722410aded refactor controllers 2022-03-17 19:13:40 +11:00
Jesse Duffield
b93b8cc00a controller for viewing sub commits 2022-03-17 19:13:40 +11:00
Jesse Duffield
cd31a762b9 rename OSCommand field to os 2022-03-17 19:13:40 +11:00
Jesse Duffield
d82f175e79 refactor contexts 2022-03-17 19:13:40 +11:00
Jesse Duffield
145c69d9ae working again 2022-03-17 19:13:40 +11:00
Jesse Duffield
482bdc4f1e more refactoring 2022-03-17 19:13:40 +11:00
Jesse Duffield
8e3484d8e9 add global controller 2022-03-17 19:13:40 +11:00
Jesse Duffield
226985bf76 refactor keybindings 2022-03-17 19:13:40 +11:00
Jesse Duffield
2db4636815 no more indirection 2022-03-17 19:13:40 +11:00
Jesse Duffield
2a1e3faa0c resetting controllers on new repo 2022-03-17 19:13:40 +11:00
Jesse Duffield
c703cd8f88 fix suggestions panel 2022-03-17 19:13:40 +11:00
Jesse Duffield
0a8cff6ab6 some more refactoring 2022-03-17 19:13:40 +11:00
Jesse Duffield
e2f5fe1016 pretty sure we can rely on our views existing before our contexts do 2022-03-17 19:13:40 +11:00
Jesse Duffield
182c999ee0 fix linting 2022-03-17 19:13:40 +11:00
Jesse Duffield
b5515da00b move commit files context into new structure 2022-03-17 19:13:40 +11:00
Jesse Duffield
c084abb378 move more view model logic into the files view model 2022-03-17 19:13:40 +11:00
Jesse Duffield
8ea7b7a62e migrate files context to new structure 2022-03-17 19:13:40 +11:00
Jesse Duffield
09dc160da9 cleaning up 2022-03-17 19:13:40 +11:00
Jesse Duffield
e187293456 moving more into controllers package 2022-03-17 19:13:40 +11:00
Jesse Duffield
b04038d08f no need to invoke sync controller here 2022-03-17 19:13:40 +11:00
Jesse Duffield
55b393c929 always fast forward 2022-03-17 19:13:40 +11:00
Jesse Duffield
f0c81ea6dc remove redundant popup checks 2022-03-17 19:13:40 +11:00
Jesse Duffield
f97de692e3 move helpers into their own struct 2022-03-17 19:13:40 +11:00
Jesse Duffield
2692637fbe standardise naming 2022-03-17 19:13:40 +11:00
Jesse Duffield
77d0732fa8 add actions abstraction 2022-03-17 19:13:40 +11:00
Jesse Duffield
51547e3822 move all refresh code into the one file 2022-03-17 19:13:40 +11:00
Jesse Duffield
e363606fb6 move context keys into context package 2022-03-17 19:13:40 +11:00
Jesse Duffield
138be04e65 refactor contexts code 2022-03-17 19:13:40 +11:00
Jesse Duffield
1a74ed3214 avoid deadlock 2022-03-17 19:13:40 +11:00
Jesse Duffield
cb0d3a480a use type switch instead of type key 2022-03-17 19:13:40 +11:00
Jesse Duffield
a2318d75b5 fix some things 2022-03-17 19:13:40 +11:00
Jesse Duffield
1dd7307fde start moving commit panel handlers into controller
more

and more

move rebase commit refreshing into existing abstraction

and more

and more

WIP

and more

handling clicks

properly fix merge conflicts

update cheatsheet

lots more preparation to start moving things into controllers

WIP

better typing

expand on remotes controller

moving more code into controllers
2022-03-17 19:13:40 +11:00
Jesse Duffield
a90b6efded start refactoring gui 2022-03-17 19:13:40 +11:00
Jesse Duffield
fa8571e1f4 rename field 2022-03-17 19:01:28 +11:00
David Roman
d8d0d4686d Only read env once when recording dirs 2022-03-17 19:01:28 +11:00
David Roman
b8fc829f86 Record current directory on switch 2022-03-17 19:01:28 +11:00
Ram Bhosale
7be25a105d allow skipping confirmation prompt after opening subprocess 2022-03-17 17:52:31 +11:00
Francisco Miamoto
ca8180e1b7 Use editFileAtLine method for line by line panel 2022-03-16 20:43:53 +11:00
Daniel Kiss
f5a5b7f966 Add unstagedChangesColor config option 2022-03-16 19:21:39 +11:00
Matt Cles
9adf4a1908 Add shared function for loading map of custom colors 2022-02-01 18:55:45 +11:00
Matt Cles
4df7646654 Add configurable colors for branch prefixes
Branches can now be colored based on their prefix, if it matches
a user defined prefix in the config file. If no user defined
prefix matches, then it will fallback to the defaults: green for
'feature', yellow for 'bugfix', and red for 'hotfix'. All
remaining branches will be set to the default text color.
2022-02-01 18:55:45 +11:00
Jesse Duffield
1b09674ce8 simplify submodule remove 2022-01-29 00:17:32 +11:00
Jesse Duffield
d13a648132 ensure stash panel refreshes 2022-01-28 20:07:30 +11:00
Jesse Duffield
84a1992055 better locking of merge panel state 2022-01-27 21:25:04 +11:00
Jesse Duffield
fa2e7ae1e7 show only merge conflict files when there are merge conflicts 2022-01-26 20:28:32 +11:00
Jesse Duffield
5a3f81d1f7 select current bisect commit even if bisect was started on another branch 2022-01-26 19:29:17 +11:00
Jesse Duffield
ebbdf829e7 fix panic on rebase 2022-01-26 17:20:58 +11:00
Jesse Duffield
5e9cfab283 better rendering of bisect markets in commits panel 2022-01-26 16:52:20 +11:00
Jesse Duffield
ca7cfc3232 only show commits from start ref if bad commit is reachable from there 2022-01-26 16:52:20 +11:00
Jesse Duffield
c8cc18920f improve merge conflict flow 2022-01-26 14:50:47 +11:00
glendsoza
eb57e3ead0 Fixed the issue with linting 2022-01-26 09:04:12 +11:00
glendsoza
0caa391c4d Changes as per review 2022-01-26 09:04:12 +11:00
glendsoza
0c6bdac2f7 Changes as per review 2022-01-26 09:04:12 +11:00
glendsoza
257e222f8d ISSUE 1706: Ask confirmation before reverting a commit 2022-01-26 09:04:12 +11:00
Jesse Duffield
58bdcbf1dd always refresh after stash action 2022-01-24 19:18:09 +11:00
Jesse Duffield
61ccc1efd2 exclude interactive rebase TODO commits from commit graph 2022-01-22 15:12:24 +11:00
Jesse Duffield
5b7dd9e43c properly resolve cyclic dependency 2022-01-22 10:48:51 +11:00
Jesse Duffield
4ab5e54139 add support for git bisect 2022-01-22 10:48:51 +11:00
Birger Skogeng Pedersen
ab84410b41 check returned error (if any) from UpdateWindowTitle 2022-01-21 23:13:39 +11:00
Birger Skogeng Pedersen
62a7d9bbcc invoke title-setting shell command appropriately 2022-01-21 23:13:39 +11:00
Birger Skogeng Pedersen
555d8bbc96 set repo name as window title when loading repo, fix #1691 2022-01-21 23:13:39 +11:00
Jesse Duffield
b6fb7f1365 fix integration test 2022-01-18 21:25:52 +11:00
Jesse Duffield
d019626342 do not show branch graph when in filtering mode 2022-01-17 22:00:53 +11:00
Jesse Duffield
595aca2a4b make integration test pass 2022-01-17 19:14:59 +11:00
Jesse Duffield
2691477aff allow sandbox mode with integration tests 2022-01-17 19:14:59 +11:00
Jesse Duffield
99035959a1 fix merge scroll bug 2022-01-16 23:16:05 +11:00
Jesse Duffield
0092c9d08d fix bug with subprocess 2022-01-16 03:32:09 +00:00
Jesse Duffield
befa35645e fix bug which prevented quitting with confirm 2022-01-15 20:35:25 +11:00
Jesse Duffield
1c84f77319 always specify upstream when pushing/pulling 2022-01-15 15:34:01 +11:00
Jesse Duffield
8d8bdb948b avoid deadlock in merge panel 2022-01-15 14:15:41 +11:00
Jesse Duffield
cdcfeb396f stop refreshing the screen so much 2022-01-15 14:15:41 +11:00
Jesse Duffield
8263d15b03 fix issue where custom command would not open a menu 2022-01-15 10:14:19 +11:00
Jesse Duffield
2436ff197a fewer panics 2022-01-09 14:14:47 +11:00
Jesse Duffield
e5096e71ab add integration test for discarding old files 2022-01-09 14:14:47 +11:00
Jesse Duffield
ceb927fec0 fix formatting 2022-01-09 14:14:47 +11:00
Jesse Duffield
0dfd02c42d allow rewording old commits 2022-01-09 14:14:47 +11:00
Jesse Duffield
ee15202207 add newline after message because it looks like the message doesn't appear otherwise for some reason 2022-01-09 14:09:53 +11:00
Jesse Duffield
18f48a43d5 add some more linters 2022-01-09 14:09:53 +11:00
Jesse Duffield
fdf79fdeee fix bug that caused credentials popup to be raised unexpectedly 2022-01-09 14:09:53 +11:00
Jesse Duffield
0dd1c12e2f fix format issue 2022-01-09 14:09:53 +11:00
Jesse Duffield
364c5db19c shorten name 2022-01-09 14:09:53 +11:00
Jesse Duffield
c9a0cc6b30 refactor 2022-01-09 14:09:53 +11:00
Jesse Duffield
3621854dc7 fix tests 2022-01-09 14:09:53 +11:00
Jesse Duffield
ee8ff6512f trim down gitcommand struct some more 2022-01-09 14:09:53 +11:00
Jesse Duffield
610e503296 refactor git flow 2022-01-09 14:09:53 +11:00
Jesse Duffield
e92076d2c2 start removing direct calls to cmd.New from gui 2022-01-09 14:09:53 +11:00
Jesse Duffield
3f44eac95b remove repo field 2022-01-09 14:09:53 +11:00
Jesse Duffield
946a35b59d remove OSCommand field 2022-01-09 14:09:53 +11:00
Jesse Duffield
f503ff1ecb start breaking up git struct 2022-01-09 14:09:53 +11:00
Jesse Duffield
48a4565d1f remove log of error now that we're returning it normally 2022-01-07 11:01:42 +11:00
Jakob Kogler
ee7a6391a8 remove redundant commit 2022-01-07 11:01:42 +11:00
Jakob Kogler
68fc6059d3 rename variable to failedCommitMessage 2022-01-07 11:01:42 +11:00
Jakob Kogler
f981255a5b don't ignore error when commit with subprocess fails
If signing by GPG is enabled, the git commit command will be executed in
a subprocess, differently from when it is executed without GPG signing.
In case of an error, e.g. a failing pre-commit hook, the error needs to
be passed along, and not just ignored.
2022-01-07 11:01:42 +11:00
Jakob Kogler
beedc2553d remember the message if commit fails
In case a commit fails, e.g. because a pre-commit hook returns an error,
lazygit will now remember the commit message and will suggest it during
the next commit (e.g. after fixing the error of the pre-commit hook).
2022-01-07 11:01:42 +11:00
Jesse Duffield
0d3e5e6a1d simplify fetch 2022-01-07 10:52:51 +11:00
Jesse Duffield
93729ba61b fix some things 2022-01-07 10:52:51 +11:00
Jesse Duffield
91fe68576c refactor 2022-01-07 10:52:51 +11:00
Jesse Duffield
05fa483f48 simplify how we log commands 2022-01-07 10:52:51 +11:00
Jesse Duffield
6da6c1f2f2 small copy changes 2022-01-04 09:07:15 +11:00
Jesse Duffield
c82606a92a fix broken format call 2022-01-04 09:07:15 +11:00
Jesse Duffield
194ff1630c do dependency injection up front and in one place 2022-01-04 09:07:15 +11:00
Jesse Duffield
9c4a819683 refactor sync test 2022-01-04 09:07:15 +11:00
Jesse Duffield
547e0153ec stash and tags loaders 2022-01-04 09:07:15 +11:00
Jesse Duffield
44b6d26b10 move remotes loader into loaders package 2022-01-04 09:07:15 +11:00
Jesse Duffield
d69ce7a529 move reflog commit loader into loaders package 2022-01-04 09:07:15 +11:00
Jesse Duffield
9b2b0fc122 WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield
96c2887fd0 WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield
66e840bc3f more refactoring 2022-01-04 09:07:15 +11:00
Jesse Duffield
b028f37ba8 updating specs 2022-01-04 09:07:15 +11:00
Jesse Duffield
1fc0d786ae better typing for rebase mode 2022-01-04 09:07:15 +11:00
Jesse Duffield
43a4fa970d WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield
192a548c99 refactoring the config struct 2022-01-04 09:07:15 +11:00
Jesse Duffield
01ea5813a8 align Gui struct with GitCommand 2022-01-04 09:07:15 +11:00
Jesse Duffield
18ab086126 introduce Common struct for passing around common stuff 2022-01-04 09:07:15 +11:00
Jesse Duffield
b4c078d565 WIP 2022-01-04 09:07:15 +11:00
Jesse Duffield
9ef65574db refactor to rename pull_request to hosting_service and apply SRP 2021-12-29 09:01:06 +11:00
Jesse Duffield
f89747451a allow opening a commit in the browser 2021-12-29 09:01:06 +11:00
Francisco Miamoto
8a76b5a4ee use custom handler only for branch commits context 2021-12-28 15:54:19 +11:00
Francisco Miamoto
1a7d0cd7ae add binding to go to bottom on lists
Related to #1584
2021-12-28 15:54:19 +11:00
Francisco Miamoto
8c8b925b3a set tag index directly
We can do this since they are already sorted by date created.
2021-12-26 17:08:31 +11:00
Francisco Miamoto
eff6c4283b change formatting for menu items 2021-12-26 17:08:31 +11:00
Francisco Miamoto
7888ff6cb9 set show cancel as true for tag menu 2021-12-26 17:08:31 +11:00
Francisco Miamoto
e7a005f44d update translations to match conventions 2021-12-26 17:08:31 +11:00
Francisco Miamoto
3e58797096 show tag menu for creation on tags tab 2021-12-26 17:08:31 +11:00
Francisco Miamoto
b1d6ccddfb support creating annotated tags 2021-12-26 17:08:31 +11:00
Marius Bergmann
38743ec99f Suggest existing remote for non-tracking branch
Currently, when pushing or pulling a branch that has no tracking remote,
lazygit suggests the (hard-coded) remote named 'origin'. However, a
repository might not have a remote with this name, in which case the
suggestion makes no sense. This happens to me quite regularly when I
choose a more meaningful name than 'origin' for a remote.

This change keeps the current behavior by suggesting 'origin' when there
is either a remote with that name or no remote at all. However, when
'origin' does not exist, the name of the first remote is suggested.

Suggest existing remote for non-tracking branch

Currently, when pushing or pulling a branch that has no tracking remote,
lazygit suggests the (hard-coded) remote named 'origin'. However, a
repository might not have a remote with this name, in which case the
suggestion makes no sense. This happens to me quite regularly when I
choose a more meaningful name than 'origin' for a remote.

This change keeps the current behavior by suggesting 'origin' when there
is either a remote with that name or no remote at all. However, when
'origin' does not exist, the name of the first existing remote is
suggested.
2021-12-26 15:47:58 +11:00
Mark Sagi-Kazar
fdf0d4a2c3 implement signoff
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
2021-12-25 12:01:55 +11:00
Cokile
76e6745526 fix typo 2021-12-25 11:54:27 +11:00
Cokile
3771f9c98b support config unified color for commit authors 2021-12-25 11:54:27 +11:00
Jesse Duffield
18283ad41b add popup handler for easier testing 2021-12-06 22:37:28 +11:00
Jesse Duffield
1996eddd91 more efficient context diff size changing 2021-12-06 22:37:28 +11:00
DerTeta
de0e885c65 Refresh staging- or patch building panel when rendering their respective context 2021-12-06 22:37:28 +11:00
DerTeta
f7ffbbd72a Add a menu entry and keybinding to { for decreasing the context size 2021-12-06 22:37:28 +11:00
DerTeta
0fbde05928 Add a menu item and keybinding to } to increase the context size 2021-12-06 22:37:28 +11:00
DerTeta
ba844c18a5 Add the DecreaseContextInDiffView function 2021-12-06 22:37:28 +11:00
DerTeta
e1cf6912db Add the IncreaseContextInDiffView function 2021-12-06 22:37:28 +11:00
DerTeta
3e3151f86a Fix: Don't access a view if it's nil
The way the `if` expression in `deactivateContext` was composed,
it was possible to have it to evaluate to `true` even though the
`view` variable was `nil`.

As far as I can tell, this seems to be only possible during tests.
Nonetheless, I think the expression looks more "correct" this way.
2021-12-06 22:37:28 +11:00
Jesse Duffield
02bf6a5c17 fix delta again 2021-11-22 21:07:04 +11:00
Jesse Duffield
2f45db8f7c fix scrolling in sub commits panel 2021-11-10 08:54:14 +11:00
Jesse Duffield
1d40d03bb2 refactor 2021-11-05 07:58:21 +11:00
Jesse Duffield
9a9e3d506d more consistent rendering 2021-11-05 07:58:21 +11:00
Jesse Duffield
06ca71e955 fix bug 2021-11-05 07:58:21 +11:00
Jesse Duffield
ccd80a0e4b add menu options for log stuff 2021-11-05 07:58:21 +11:00
Jesse Duffield
37be9dbea1 support scrolling left and right 2021-11-05 07:58:21 +11:00
Jesse Duffield
f6ec7babf5 add some config 2021-11-05 07:58:21 +11:00
Jesse Duffield
802cfb1a04 render commit graph 2021-11-05 07:58:21 +11:00
Jesse Duffield
2fc1498517 some refactoring in anticipation of the graph feature 2021-11-01 10:03:49 +11:00
Jesse Duffield
7a464ae5b7 add graph algorithm 2021-11-01 10:03:49 +11:00
Jesse Duffield
927ee63106 support aborting a merge or rebase with esc 2021-11-01 09:18:30 +11:00
Jesse Duffield
c47c539e12 support user-configurable author colours 2021-10-30 18:26:06 +11:00
Jesse Duffield
7561703e8d move author name colouring code into its own file 2021-10-30 18:26:06 +11:00
Jesse Duffield
e122f421e6 only use a single initial for double sized runes 2021-10-30 18:26:06 +11:00
Ryooooooga
6171690b00 Fix multibyte initial characters 2021-10-30 18:26:06 +11:00
Jesse Duffield
253504a094 associate random colours with authors 2021-10-30 18:26:06 +11:00
Jesse Duffield
f704707d29 stream output from certain git commands in command log panel 2021-10-30 18:26:06 +11:00
Jesse Duffield
01d82749b1 fix commit message prefix thingo 2021-10-25 22:40:15 +00:00
Jesse Duffield
3eb124c732 easier hiding of command log 2021-10-23 12:54:57 +11:00
Jesse Duffield
ef544e6ce9 add more suggestions 2021-10-23 12:29:52 +11:00
Jesse Duffield
629494144f show suggestions when typing in an origin 2021-10-23 12:29:52 +11:00
Jesse Duffield
b6a5e9d615 use cached git config 2021-10-23 10:26:47 +11:00
Sam Burville
5df0475612 Add variable to simplify JumpToBlock keybinding
This removes the magic '5' and instead uses the number of windows.
2021-10-22 22:38:26 +11:00
Sam Burville
f6e316dfe5 Improve JumpToBlock keybinding functionality
Improve experience when yaml file has != 5 keybindings and change view
helper to use the length of the array instead of hardcoded value.
2021-10-22 22:38:26 +11:00
Sam Burville
91e8765d9c Add JumpToBlock keybinding
This should allow users to decide their own keybinding for jumping
between blocks/panels.
E.g. A user could choose 5-9 instead of 1-5.
2021-10-22 22:38:26 +11:00
Jesse Duffield
80a8e9b04d fix merge conflict scrolling 2021-10-22 22:16:52 +11:00
Jesse Duffield
2008c39516 add tests for dealing with remotes 2021-10-22 21:33:17 +11:00
Jesse Duffield
6388af70ac simplify pull logic 2021-10-22 21:33:17 +11:00
Jesse Duffield
5ee559b896 fix issue where upstream origin and branch were quoted together
fix issue where upstream origin and branch were quoted together
2021-10-20 09:29:17 +11:00
Jesse Duffield
ca7252ef8e suggest files when picking a path to filter on
async fetching of suggestions

remove limit

cache the trie for future use

more

more
2021-10-19 09:02:42 +11:00
Jesse Duffield
a05f22efa2 support home/end keys in editors 2021-10-17 20:14:31 +11:00
Jesse Duffield
c0cd9dd835 stop opening suggestions tab when no suggestions present 2021-10-17 20:05:09 +11:00
Jesse Duffield
305f211615 surface error when trying to set upstream 2021-10-17 09:00:08 +00:00
Jesse Duffield
d672b7342f stop resetting scroll all the time 2021-10-17 19:45:57 +11:00
Jesse Duffield
e7c27b6f4a small fixes 2021-10-17 06:41:21 +00:00
Jesse Duffield
345c90ac05 fix editor 2021-10-17 04:17:59 +00:00
Jesse Duffield
87e9d9bdc2 minor changes 2021-10-16 21:18:43 +11:00
Hrishikesh Hiraskar
b6454755ca copy selected text to clipboard 2021-10-16 21:18:43 +11:00
Jesse Duffield
3621084096 small changes 2021-10-16 12:22:34 +11:00
Jesse Duffield
d02e52989e small changes 2021-10-16 12:22:34 +11:00
mjarkk
913a2fd065 Allow having multiple config files 2021-10-16 12:22:34 +11:00
Sam Burville
c5f7ad5adb Make cherry pick commit color customisable
Two new settings in the config, which allow the cherry picked
foreground and background to be custom colors.

Issue #856
2021-09-30 01:26:05 +10:00
Jesse Duffield
ab0117c416 fix some encodings 2021-09-27 19:58:24 +10:00
Jesse Duffield
652c97d239 honour options menu press 2021-09-27 19:41:38 +10:00
black_desk
66d0fd2133 Format code to pass lint 2021-09-16 21:38:43 +08:00
Ryooooooga
57f7051590
Fix deletion of unmerged branches in languages other than English 2021-09-04 21:01:38 +09:00
codesoap
c1d2aa61f3 Fix misspells 2021-09-01 22:51:24 +02:00
Dwarven YANG
63072af5bc allow user to configure the gui language 2021-08-30 09:12:29 +10:00
Jesse Duffield
44d08edfb0 Address feedback 2021-08-25 22:23:55 +10:00
Jesse Duffield
f08fdb2873 Minor refactor 2021-08-25 22:23:55 +10:00
Ryooooooga
df4eb70ba2 Fix translations 2021-08-25 22:23:55 +10:00
Ryooooooga
6ca42ff720 Fix pick all hunks 2021-08-25 22:23:55 +10:00
Ryooooooga
a533f8e1a5 simplify merge panel logic 2021-08-25 22:23:55 +10:00
Ryooooooga
cf8ded0b79 add mergeConflict#hasAncestor 2021-08-25 22:23:55 +10:00
Ryooooooga
73548fa15f Fix conflict resolution 2021-08-25 22:23:55 +10:00
Ryooooooga
a0e7604f61 Support git config merge.conflictStyle diff3 2021-08-25 22:23:55 +10:00
Liberatys
711bd5a670 Lint 2021-08-25 20:13:50 +10:00
Liberatys
6b68f4f25d Update as per review and add tests 2021-08-25 20:13:50 +10:00
Liberatys
89ee0a1dee Move field names to translation 2021-08-25 20:13:50 +10:00
Liberatys
2dc6f5f079 Implement state filtering for commit files 2021-08-25 20:13:50 +10:00
Mark Kopenga
487ad196a7
Merge pull request #1413 from Ryooooooga/feature/edit-line
Make os.editCommand customizable using template
2021-08-23 10:15:38 +02:00
Ryooooooga
0af0e66586
Fix panic in merge conflict 2021-08-21 18:34:30 +09:00
mjarkk
e58376f9f7 add tests for TemplateFuncMapAddColors 2021-08-09 21:09:52 +02:00
Elwardi
e8e4fa5957 Add color functions to templates funcMaps 2021-08-09 11:52:00 +01:00
Elwardi
b5d8849c06 Support match colors in labelFormat entry in menuFromCommand prompts 2021-08-07 16:06:36 +01:00
Mark Kopenga
5d1a9639b6
Merge pull request #1416 from FoamScience/feature_menuOptions 2021-08-07 15:24:42 +02:00
mjarkk
ea136e4e77 Improve code quality
- Make CommandMenuEntry private
- create candidates only once we really need it
- Use only 1 buffer
- Clearify CommandMenuEntry creation fields
2021-08-06 21:50:58 +02:00
Elwardi
dcd3b7c058 Show only labels in menuFromCommand prompts 2021-08-06 18:38:26 +01:00
Elwardi
906ec30cac Minor changes to menuFromCommand prompts 2021-08-06 10:53:32 +01:00
Matthew Garelli
46c146a8c1 fixed test failing due to ForceSetColorLevel in pkg/gui/style/style_test.go 2021-08-06 02:18:04 -07:00
Elwardi
a8ec044f0e Make menuFromCommand format menu items and their description 2021-08-05 15:45:18 +01:00
Ryooooooga
ac609bd37c
fix backward compatibility 2021-08-04 18:43:34 +09:00
Ryooooooga
67cc65930a
fix out of range error 2021-08-03 22:00:28 +09:00
Ryooooooga
4f66093335
introduce edit command template to open a specifig line of a file 2021-08-03 21:42:14 +09:00
Jesse Duffield
d626bcac00 color fixups 2021-08-01 16:14:56 +10:00
Jesse Duffield
e798aa4b15 more color tests 2021-08-01 13:21:06 +10:00
mjarkk
0662733ad9 add tests for color changes 2021-07-31 20:53:49 +02:00
Jesse Duffield
550c0fd4dc refactor 2021-07-31 17:56:47 +10:00
Jesse Duffield
0bc0e4ac88 more efficient 2021-07-31 17:33:20 +10:00
Jesse Duffield
117c0bd4f7 simplify code a bit 2021-07-31 17:33:13 +10:00
mjarkk
79848087bc Switch to github.com/gookit/color for terminal colors 2021-07-30 15:14:46 +02:00
Jesse Duffield
62393cf28a more treeish files 2021-07-27 21:52:42 +10:00
Jesse Duffield
b81bac3d65 more i18n 2021-07-27 21:30:08 +10:00
Jesse Duffield
58ddbae4d1 Minor refactor 2021-07-27 21:30:08 +10:00
Denis Palashevskii
3802b563b0 Add error message if target branch not found with prompt 2021-07-27 21:30:08 +10:00
Denis Palashevskii
d1134daa53 review fixes: PR URL refactoring, target branch selection prompt 2021-07-27 21:30:08 +10:00
Denis Palashevskii
bccf203a18 Fix menu item color 2021-07-27 21:30:08 +10:00
Denis Palashevskii
b590397dce Update docs 2021-07-27 21:30:08 +10:00
Denis Palashevskii
0e6598adbd Implement pull request options menu 2021-07-27 21:30:08 +10:00
Mark Kopenga
eec20b845d
Merge pull request #1392 from mjarkk/parcally-fix-1385
Change the way file statuses are loaded
2021-07-26 11:22:14 +02:00
mjarkk
fc76b44b45 correctly show files with special chars in commit 2021-07-23 12:04:23 +02:00
mjarkk
9a087d04eb Change the way file statuses are loaded
This makes it so file statuses recived from git no longer get joined
before spliting them again.
2021-07-22 22:12:43 +02:00
mjarkk
713fae3e32 format code 2021-07-22 19:45:43 +02:00
Elwardi
148bf2c070 Add test for GenerateMenuCandidates from Custom Commands 2021-07-22 15:44:16 +01:00
Elwardi
edfb0a26b2 Refactor code around handleCustomCommandKeybinding 2021-07-20 20:59:03 +01:00
Elwardi
f70435a20f Better format error catching in menuFromCommand prompts 2021-07-19 13:41:42 +01:00