Commit graph

2538 commits

Author SHA1 Message Date
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
Elwardi b92ff3ee3f Consider first match only in menuFromCommand prompt 2021-07-19 13:06:00 +01:00
Elwardi f1ced5539a Add option to format filter matches to menuFromCommand prompts 2021-07-19 11:46:29 +01:00
Elwardi 77e9ee64a4 Apply suggestions from @mjarkk for menyFromCommands 2021-07-18 18:42:42 +01:00
Elwardi 9daa47fb2d Add docs for menuFromCommand prompts 2021-07-18 10:36:01 +01:00
Elwardi d18c8c8dc3 Add prompt type: menuFromCommand 2021-07-18 10:36:00 +01:00
mjarkk fc066d2f2e parse github emoji config option 2021-07-16 14:06:01 +02:00
Davyd McColl 35f1ccdb1b ♻️ temporarily bypass ignore whitespace for diff view instead of turning the toggle off completely 2021-07-01 17:13:14 +10:00
Davyd McColl b80fafef02 🎨 properly ignore the result 2021-07-01 17:13:14 +10:00
Davyd McColl 130480555f always show whitespace in diffs when entering line-by-line staging 2021-07-01 17:13:14 +10:00
Davyd McColl 92cc6e883d 🚚 move whitespace toggle out of quitting.go 2021-07-01 17:13:14 +10:00
Davyd McColl 107503c903 🎨 alternative syntax 2021-07-01 17:13:14 +10:00
Davyd McColl 16dcc8f4db implement feedback when toggling whitespace 2021-07-01 17:13:14 +10:00
Davyd McColl 22a6771e51 🎨 run go fmt against the file directly ftw 2021-07-01 17:13:13 +10:00
Davyd McColl a9f04d3925 facilitate toggling whitespace in the diff view with a hotkey (c-w by default) 2021-07-01 17:13:13 +10:00
Daniel Ebrahimian 0c3132c6f0
Fix typo in random tip 2021-06-28 11:03:54 +10:00
Cristian Betivu 39c8577074 Use static context 2021-06-16 15:00:17 +10:00
Cristian Betivu 0c2d90a444 Add comment 2021-06-16 15:00:17 +10:00
Cristian Betivu 0c135515a5 Use parent view for tab navigation 2021-06-16 15:00:17 +10:00
Emiliano Ruiz Carletti b4e6850f98 Fix wrong ff-only configuration 2021-06-15 08:31:07 +10:00
Emiliano Ruiz Carletti c57a0077d0 Read pull mode from gitconfig lazily 2021-06-15 08:31:07 +10:00
Jesse Duffield ce7cbe58a0 naming change 2021-06-14 18:17:08 +10:00
Andrei Yangabishev 7588d5290b ShowTotal flag 2021-06-10 12:43:05 +03:00
Jesse Duffield 9fdf92b226 more refactoring
WIP

WIP
2021-06-06 09:12:49 +10:00
Jesse Duffield 93bf691fd6 refactoring 2021-06-06 09:12:49 +10:00
Jesse Duffield fb395bca6e support reverting merge commits 2021-06-05 22:15:51 +10:00
Jesse Duffield f91adf026b fix lbl scrolling 2021-06-05 13:54:05 +10:00
Jesse Duffield 6d91661d5e prevent closure issue 2021-06-05 13:54:05 +10:00
Jesse Duffield 90983aae65 not importing regexp 2021-06-05 13:53:25 +10:00
Jesse Duffield f71b23b890 more explicit 2021-06-05 13:53:25 +10:00
Cristian Betivu 05a23f0e1e Discard value after END marker 2021-06-05 13:53:25 +10:00
Cristian Betivu fd38ad8096 More generic merge conflict detection 2021-06-05 13:53:25 +10:00
Jesse Duffield 258eedb38c refactor 2021-06-02 20:33:52 +10:00
Jérémy Pagé bc044c64b2 Remove origin prefix when creating local branch based from origin 2021-05-30 15:29:56 +10:00
Harrison Jones e478c254d4 Handle alternate merge conflict format; add tests 2021-05-30 13:50:42 +10:00
Liberatys 44f7fc6f7c Add global binding to open recent repos 2021-05-30 13:25:44 +10:00
Jesse Duffield a99e6ba071 update release notes 2021-04-20 18:34:47 +10:00
Jesse Duffield 604ee02cd9 ignore east asian width setting to avoid broken frame rendering 2021-04-19 23:06:05 +10:00
Jesse Duffield 926a48a65b smarter sizing of command log panel 2021-04-19 18:09:01 +10:00
Jesse Duffield 98375dc902 refactor merge panel 2021-04-18 18:58:09 +10:00
Jesse Duffield e73de332a1 refactor line by line panel 2021-04-18 16:55:09 +10:00
Jesse Duffield b28b2d05bd force cursor to be at end of line when opening confirmation panel 2021-04-17 21:15:54 +10:00
Jesse Duffield 9e5f031553 bubble up tracked files in flat file view 2021-04-17 10:04:49 +10:00
Jesse Duffield e42387d0da update keybindings 2021-04-12 23:40:20 +10:00
Jesse Duffield 4fb2dba587 allow hiding random tip 2021-04-12 21:48:08 +10:00
Jesse Duffield 5453b71fd1 linting 2021-04-12 21:48:08 +10:00
Jesse Duffield 3b7e7a7f56 add random tip to command log 2021-04-12 21:48:08 +10:00
Jesse Duffield 06a8eb115c make command log size configurable 2021-04-11 23:36:34 +10:00
Jesse Duffield e4f0a470e9 print header for command log 2021-04-11 23:36:34 +10:00
Jesse Duffield adee0b8ccb add spans to i18n 2021-04-11 23:36:34 +10:00
Jesse Duffield 0bebfe454e pull out function 2021-04-11 23:36:34 +10:00
Jesse Duffield 84b0c3df4f ask question button 2021-04-11 22:07:29 +10:00
Jesse Duffield 069c7c9d35 fix test 2021-04-11 17:07:49 +10:00
Jesse Duffield 393ce05860 allow focusing on command log view 2021-04-11 17:07:49 +10:00
Jesse Duffield cf78b86cb5 more support for command log and more code reuse for contexts 2021-04-11 17:07:49 +10:00
Jesse Duffield 4f03d7733a allow showing, hiding, and scrolling the extras panel 2021-04-11 17:07:49 +10:00
Jesse Duffield e3a14d546a support static boxes that go outside the available size 2021-04-11 17:07:49 +10:00
Jesse Duffield f2007f4d95 support scrolling extras view 2021-04-11 17:07:49 +10:00
Jesse Duffield 6fbe660f96 full coverage for logging commands 2021-04-11 17:07:49 +10:00
Jesse Duffield 74320f0075 more logging of commands 2021-04-11 17:07:49 +10:00
Jesse Duffield bfad972f0c fix bug where mixed reset is actually a soft reset 2021-04-11 17:07:49 +10:00
Jesse Duffield bb918b579a start adding support for logging of commands 2021-04-11 17:07:49 +10:00
Jesse Duffield e145090046 add cmdLog panel 2021-04-11 17:07:49 +10:00
Jesse Duffield 8d416634ba update release notes 2021-04-11 10:21:53 +10:00
Jesse Duffield 9f4433d8b5 allow opening merge tool 2021-04-11 10:21:53 +10:00
Jesse Duffield 2d8f7d2a7b better way of scrolling to a merge conflict 2021-04-11 10:21:53 +10:00
Jesse Duffield a9fbc9eda1 fix merge conflict panel not rendering 2021-04-11 10:21:53 +10:00
Jesse Duffield e092da5f78 pause background threads when running subprocess 2021-04-10 12:16:45 +10:00
Jesse Duffield e42e7e5cbd fix commit amend 2021-04-10 11:54:38 +10:00
Jesse Duffield 93fac1f312 reduce flicker without worrying about carriage returns 2021-04-09 22:50:55 +10:00
Jesse Duffield d5504fa5d0 potentially fix credentials issue 2021-04-09 00:39:04 +10:00
Jesse Duffield cab0aa462c fix crash at start 2021-04-09 00:10:35 +10:00
Jesse Duffield b03e2270a0 revert no-flicker due to carriage return weirdness 2021-04-08 23:17:27 +10:00
Jesse Duffield 21049be233 support file tree mode on windows 2021-04-08 21:33:17 +10:00
Jesse Duffield f89c47b83d add test for building tree 2021-04-08 21:33:17 +10:00
Jesse Duffield 44f1f22068 close commit message panel after returning from subprocess 2021-04-08 20:17:16 +10:00
Jesse Duffield 4f700c23ba fix crash on first open 2021-04-07 22:59:53 +10:00
Jesse Duffield c6825e3d0d skip some tests that are failing on CI for some reason 2021-04-06 19:34:32 +10:00
Jesse Duffield 8eb802d3a0 fix flicker issue in main view 2021-04-06 19:34:32 +10:00
Jesse Duffield 6fc031c523 hide patch panel if we're in the commits panel and we refresh and it's now exited 2021-04-06 19:34:32 +10:00
Jesse Duffield 8c93289a72 reduce chance of deadlock by using a RW mutex on the context stack 2021-04-06 19:34:32 +10:00
Jesse Duffield fb9b6314a0 ensure we're passing the right testing struct pointer around 2021-04-06 19:34:32 +10:00
Jesse Duffield 0719a3e36e stop checking out branches when doing a rename. Instead just move the cursor to the new position 2021-04-06 19:34:32 +10:00
Jesse Duffield fbab5bd444 do not refresh patch panel unless commit files panel is the current side panel 2021-04-06 19:34:32 +10:00
Jesse Duffield f4e552f982 prevent deadlocks.
Hard to choose between the lock with a defer unlock in an anonymous function
vs just having an explicit unlock at the end with additional unlocks before
any early returns. The former is less error prone, but the former is much more
readable, especially if the anonymous function would have needed to return
an error value.
2021-04-06 19:34:32 +10:00
Jesse Duffield 94d26d00ba move suggestions view behind confirmation view 2021-04-06 19:34:32 +10:00
Jesse Duffield 4441cf1045 fix bug with tags panel 2021-04-06 19:34:32 +10:00
Jesse Duffield 5e094c8a7c marginally better logic for searching 2021-04-06 19:34:32 +10:00
Jesse Duffield c683f2c96c allow opening diff menu panel when other popup is open 2021-04-06 19:34:32 +10:00
Jesse Duffield e5a372fa2d allow opening filter menu panel when other popup is open 2021-04-06 19:34:32 +10:00
Jesse Duffield 02f45b679f do not double-append contexts to the stack 2021-04-06 19:34:32 +10:00
Jesse Duffield b1cda65dcf show error when user attempts to commit when no files are present 2021-04-06 19:34:32 +10:00
Jesse Duffield ccebe5e069 change language 2021-04-06 19:34:32 +10:00
Jesse Duffield b6ec667de0 add comment 2021-04-06 19:34:32 +10:00
Jesse Duffield 390b7ddc5e change order of filtering and patch building so that esc key exits patch building mode first 2021-04-06 19:34:32 +10:00
Jesse Duffield 440eb387d7 much cleaner integration test code 2021-04-06 19:34:32 +10:00
Jesse Duffield 28ffaf9348 tiny refactor 2021-04-06 19:34:32 +10:00
Jesse Duffield d7da6dde0e allow decimal replay speeds for integration tests 2021-04-06 19:34:32 +10:00
Jesse Duffield e000620cdf fix windows compilation issue 2021-04-06 19:34:32 +10:00
Jesse Duffield f09309485a remove time limit 2021-04-06 19:34:32 +10:00
Jesse Duffield 91a107eb6f retry flakey tests 2021-04-06 19:34:32 +10:00
Jesse Duffield 5ce9e0193a add retry logic for running git commands to avoid index.lock problems 2021-04-06 19:34:32 +10:00
Jesse Duffield 8e9d08bc10 minor cleanup of integration code 2021-04-06 19:34:32 +10:00
Jesse Duffield 267da3b4db fix issue when switching repos while files refresh 2021-04-06 19:34:32 +10:00
Jesse Duffield 121b9d0715 update comment 2021-04-06 19:34:32 +10:00
Jesse Duffield fbb33b7abc remove code that I'm pretty sure isn't needed 2021-04-06 19:34:32 +10:00
Jesse Duffield 7178bab6b4 only re-use repo state when jumping in and out of submodules 2021-04-06 19:34:32 +10:00
Jesse Duffield 2d7452bfaa Revert "see how CI goes running these tests in parallel"
This reverts commit d271cbc138.
2021-04-06 19:34:32 +10:00
Jesse Duffield b0f3bfef27 see how CI goes running these tests in parallel 2021-04-06 19:34:32 +10:00
Jesse Duffield 7bc6dc5cf3 show branches context when starting in filtering mode 2021-04-06 19:34:32 +10:00
Jesse Duffield ee7b634dce how about using pty 2021-04-06 19:34:32 +10:00
Jesse Duffield b0bd752180 maybe this will fix CI 2021-04-06 19:34:32 +10:00
Jesse Duffield 4d14af5d4b more lint fixes 2021-04-06 19:34:32 +10:00
Jesse Duffield 7953e58c74 try this 2021-04-06 19:34:32 +10:00
Jesse Duffield 8301bba8ad make it more likely for CI to work 2021-04-06 19:34:32 +10:00
Jesse Duffield 843b8ceab0 support tcell simulation screen 2021-04-06 19:34:32 +10:00
Jesse Duffield 6a0066253f move recording code into gocui 2021-04-06 19:34:32 +10:00
Jesse Duffield d627b3bfc8 more refactoring 2021-04-06 19:34:32 +10:00
Jesse Duffield 952c62df37 fix bug where searching through view got stuck if you went over the upper bound 2021-04-06 19:34:32 +10:00
Jesse Duffield b6cc1c9492 small refactor 2021-04-06 19:34:32 +10:00
Jesse Duffield 39ae122304 more refactoring 2021-04-06 19:34:32 +10:00
Jesse Duffield c34c6926d5 fix some things up 2021-04-06 19:34:32 +10:00
Jesse Duffield 4fe512ff3a test
type safe view access
2021-04-06 19:34:32 +10:00
Jesse Duffield 4197921465 WIP 2021-04-06 19:34:32 +10:00
Jesse Duffield 4b69ab08c1 WIP 2021-04-06 19:34:32 +10:00
Jesse Duffield f3a0058eb9 WIP 2021-04-06 19:34:32 +10:00
Jesse Duffield 633b6f596d WIP 2021-04-06 19:34:32 +10:00
Jesse Duffield e6274c0757 remove sentinel errors 2021-04-06 19:34:32 +10:00
Jesse Duffield 0898a7bb57 refactor 2021-04-06 19:34:32 +10:00
Jesse Duffield fafd5234bd refactor to get view tab context map into gui state 2021-04-06 19:34:32 +10:00
Jesse Duffield 8cb10f76e4 refresh main panel when switching between tree and flat mode 2021-04-06 19:34:32 +10:00
Jesse Duffield f1d7f59e49 switching repos without restarting the gui 2021-04-06 19:34:32 +10:00
Jesse Duffield bc9a99387f refactor of contexts and filtering 2021-04-06 19:34:32 +10:00
Jesse Duffield 69e9f6d29d use suspense rather than close the gui when switching to a subprocess 2021-04-06 19:34:32 +10:00
Jesse Duffield ae0f750770 fix bug where you couldn't change tabs 2021-04-06 19:34:32 +10:00
Jesse Duffield 9fe7e0d63d fix bug where we had two sets of contexts with their own state 2021-04-06 19:34:32 +10:00
Jesse Duffield 8935794e28 reset origin when clicking new item 2021-04-06 19:34:32 +10:00
Jesse Duffield d44ff447bd fix panic 2021-04-06 19:34:32 +10:00
Jesse Duffield 798d3e2d54 get rid of these positively ghastly method signatures 2021-04-06 19:34:32 +10:00
Jesse Duffield e8f99c3326 better scroll support 2021-04-06 19:34:32 +10:00
Jesse Duffield 1a5f380c00 support alt-enter for inserting newline when typing commit message within the app 2021-04-06 19:34:32 +10:00
Jesse Duffield b4827a98ca fix commit message panel 2021-04-06 19:34:32 +10:00
Jesse Duffield 3ea5e4d4b2 allow scrolling when staging lines or building patch 2021-04-06 19:34:32 +10:00
Jesse Duffield 5d0cf3d919 prioritise keybindings on editors 2021-04-06 19:34:32 +10:00
Jesse Duffield 0d6ff7d1b7 support backtab key 2021-04-06 19:34:32 +10:00
Jesse Duffield 1fb2317bac use true output mode 2021-04-06 19:34:32 +10:00
Jesse Duffield 6472bda29e bump gocui 2021-04-06 19:34:32 +10:00
Jesse Duffield 6a6024e38f use tcell via porting over code from awesome-gocui 2021-04-06 19:34:32 +10:00
Jesse Duffield 44896bcd51 safer code 2021-04-02 11:09:12 +11:00
Jesse Duffield f7772f00c4 do not jump cursor around when fixing merge conflicts 2021-04-02 11:09:12 +11:00
Jesse Duffield 216b5341ae better handling of scrolling for conflicted files 2021-04-02 11:09:12 +11:00
Jesse Duffield eeeef9ca86 refactor 2021-04-02 11:09:12 +11:00
Jesse Duffield cc9293b386 add mutex to prevent crashes with merge conflicts 2021-04-02 11:09:12 +11:00
Jesse Duffield efe43077bc fix name 2021-04-02 11:00:15 +11:00
Jesse Duffield 949c7726d1 fix bug caused by interface 2021-04-02 11:00:15 +11:00
Jesse Duffield 0b7bda291c remove dead code 2021-04-02 11:00:15 +11:00
Jesse Duffield 872cf0d726 hide commit files view upon losing focus because you probably don't want it lingering anyway 2021-04-02 11:00:15 +11:00
Jesse Duffield af09223dd5 refactor 2021-04-02 11:00:15 +11:00
Jesse Duffield 7d62f103e4 big refactor to give our enums actual types 2021-04-02 11:00:15 +11:00
Jesse Duffield 9e85d37fb9 refactor to no longer call these things file changes 2021-04-02 11:00:15 +11:00
Jesse Duffield 8dee06f83a allow toggling tree view for commit files panel 2021-04-02 11:00:15 +11:00
Jesse Duffield 82fe4aa6c0 disallow editing commit file directory 2021-04-02 11:00:15 +11:00
Jesse Duffield 50c169e0a3 better colouring for directories for when adding a patch 2021-04-02 11:00:15 +11:00
Jesse Duffield 7364525bf5 do not show commit files of another parent as added to the patch 2021-04-02 11:00:15 +11:00
Jesse Duffield 54910fdb76 refactor 2021-04-02 11:00:15 +11:00
Jesse Duffield 332a3c4cbf file tree for commit files 2021-04-02 11:00:15 +11:00
Jesse Duffield ac41c41809 refactor to support commit file tree 2021-04-02 11:00:15 +11:00
Jesse Duffield e8e59306fc shell out custom commands 2021-04-01 20:25:30 +11:00
Jesse Duffield 8af3fe3b4a faster startup 2021-04-01 09:13:29 +11:00
Jesse Duffield 3103247e8f refactor 2021-03-30 21:57:00 +11:00
Jesse Duffield 1629a7d280 same for renames 2021-03-30 21:57:00 +11:00
Jesse Duffield b5a5169372 expand to path when switching to tree mode 2021-03-30 21:57:00 +11:00
Jesse Duffield 4b4bfae4f4 fix background colour on selected line 2021-03-30 21:57:00 +11:00
Jesse Duffield d5639e6e95 refactor 2021-03-30 21:57:00 +11:00
Jesse Duffield 9e67f74ca3 prevent staging directory containing files with inline merge conflicts 2021-03-30 21:57:00 +11:00
Jesse Duffield e3ddfbf2b8 rename function 2021-03-30 21:57:00 +11:00
Jesse Duffield 1ea78c7ae7 make fields private 2021-03-30 21:57:00 +11:00
Jesse Duffield e7af3bf55d refactor 2021-03-30 21:57:00 +11:00
Jesse Duffield e52cec9cdf small refactor 2021-03-30 21:57:00 +11:00
Jesse Duffield 5bb48b51a0 rename 2021-03-30 21:57:00 +11:00
Jesse Duffield ef204b0adf remove collapsed field 2021-03-30 21:57:00 +11:00
Jesse Duffield f742434043 fix spec 2021-03-30 21:57:00 +11:00
Jesse Duffield d3b34ce323 fix spec 2021-03-30 21:57:00 +11:00
Jesse Duffield 2b8302bced refactor 2021-03-30 21:57:00 +11:00
Jesse Duffield 1b94462410 rename some things 2021-03-30 21:57:00 +11:00
Jesse Duffield 120bb443fe small thing 2021-03-30 21:57:00 +11:00
Jesse Duffield 6fc3c03c4b allow configuring to show file tree on startup 2021-03-30 21:57:00 +11:00
Jesse Duffield 46b79c7c61 drop Name field from status line node 2021-03-30 21:57:00 +11:00
Jesse Duffield 4782d8aa1f bring merge conflicts to top 2021-03-30 21:57:00 +11:00
Jesse Duffield 040c1fc302 more functional approach 2021-03-30 21:57:00 +11:00
Jesse Duffield 5edea5a8dc better handling of cursor relocation 2021-03-30 21:57:00 +11:00
Jesse Duffield d2b65537f6 handle nothing selected 2021-03-30 21:57:00 +11:00
Jesse Duffield 1183f68e19 better handling of refreshed files 2021-03-30 21:57:00 +11:00
Jesse Duffield da6fe01eca allow toggling on/off file tree mode 2021-03-30 21:57:00 +11:00
Jesse Duffield c27cea6f30 more file tree improvements 2021-03-30 21:57:00 +11:00
Jesse Duffield cd0532b4d6 allow ignoring directories 2021-03-30 21:57:00 +11:00
Jesse Duffield c9de6c003b support some more things 2021-03-30 21:57:00 +11:00
Jesse Duffield 418621a9ff support discarding changes in dir 2021-03-30 21:57:00 +11:00
Jesse Duffield f871724ae6 update wording 2021-03-30 21:57:00 +11:00
Jesse Duffield a31db3df9c support toggling collapsed 2021-03-30 21:57:00 +11:00
Jesse Duffield 64217a8a5b fix spacing 2021-03-30 21:57:00 +11:00
Jesse Duffield 79079b54ea combining nodes when only one child exists 2021-03-30 21:57:00 +11:00
Jesse Duffield 77a7619690 showing changes for directories 2021-03-30 21:57:00 +11:00
Jesse Duffield 9f2d7adb8e more improvements 2021-03-30 21:57:00 +11:00
Jesse Duffield 07dd9c6bc8 better tree formatting 2021-03-30 21:57:00 +11:00
Jesse Duffield 45939171ea WIP
start moving to new interface

WIP

WIP

WIP

WIP

WIP
2021-03-30 21:57:00 +11:00
Francisco Miamoto 7e0d48c2a1 fix panic for unprintable key presses
Checking is the associated rune of a key is printable solves our problem
of having panics whenever keys like `Home` or `Ctrl-W` are pressed.

Fixes #1175
2021-03-21 11:24:36 +11:00
Jesse Duffield ad1468f66f better handling of discarding files 2021-03-20 12:46:27 +11:00
Jesse Duffield 043cb2ea44 reload config whenever returning to gui 2021-02-24 02:45:05 -08:00
Dawid Dziurla 053e80a08e
gui: ReplaceAll -> Replace 2021-02-24 00:09:05 +01:00
1jz 50dd7b00c3 add colors to differentiate action and menu commands 2021-02-16 13:52:04 -08:00
Rui Pires ccbd2c924b Fixed whitespace format issue 2021-02-09 14:45:33 -08:00
Rui Pires 52d5c3beeb Added initialContent on branch rename 2021-02-09 14:45:33 -08:00
Jesse Duffield 09f32d4f84 add secureexec file for getting around windows checking for a binary first in the current dir 2021-02-08 14:40:30 -08:00
Nick Flueckiger 6f0f70bd92 Adding setup and config 2021-02-08 14:25:24 -08:00
caquillo07 6df15ddf6e added support for using spaces on branch names when creating new ones. 2021-02-08 14:23:54 -08:00
Dawid Dziurla bb4bf23c5c
gui: ReplaceAll -> Replace 2020-12-24 10:21:54 +01:00
Jesse Duffield 14ce230683 refactor 2020-11-28 20:48:17 +11:00
Jesse Duffield f31fbc10f6 soft code finding of suggestions 2020-11-28 20:48:17 +11:00
Jesse Duffield be404068ff support labels for suggestions which are distinct from values 2020-11-28 20:48:17 +11:00
Jesse Duffield 5671ec5f58 refactor prompt opts 2020-11-28 20:48:17 +11:00
Jesse Duffield da3b0bf7c8 Start on supporting auto-suggestions when checking out a branch
switch to other fuzzy package with no dependencies
2020-11-28 20:48:17 +11:00
Yuki Osaki 90ade3225f Add lc prefix 2020-11-28 19:19:47 +11:00
Yuki Osaki 4928d1d490 Visualize the commits for all branches 2020-11-28 19:19:47 +11:00
Jesse Duffield 999e170f1d standardise how we read from the config 2020-11-28 10:45:30 +11:00
Davyd McColl 860370a845 👌 update as per PR commentary 2020-11-28 10:27:28 +11:00
Davyd McColl 196761a40a 🐛 should only stage all if configured to do so _and_ there are no items staged 2020-11-28 10:27:28 +11:00
Davyd McColl 26d5444919 implement quick commit when no files staged, if configured to do so 2020-11-28 10:27:28 +11:00
Jesse Duffield f7e6d4e724 fix updater 2020-11-22 10:00:35 +11:00
Jesse Duffield 3e13936e08 notify user upon copying something to clipboard 2020-11-21 17:31:08 +11:00
Jesse Duffield a3dfcd5a95 toast notifications 2020-11-21 17:31:08 +11:00
Farzad Majidfayyaz 74bb6f0012 Change copy PR mapping to <c-y> and use gui.Tr for the message 2020-11-19 09:43:51 +11:00
Farzad Majidfayyaz 79888d3bde Add mapping to copy a pull request URL to the clipboard 2020-11-19 09:43:51 +11:00
Jesse Duffield 682db77401 fix lint errors 2020-11-18 08:36:19 +11:00
Jesse Duffield 5ff0ac2816 prevent crash when removing remote with no urls 2020-11-05 21:32:08 +11:00
Dawid Dziurla 5669cc0002
gui: fix go-1.10 compatibility 2020-10-14 12:43:31 +02:00
Jesse Duffield b1dd3c4866 support rebinding confirm/newline keys in editor 2020-10-13 08:21:09 +11:00
Jesse Duffield 624fb8da21 preserve width of side panel when main view split unless window is wide enough 2020-10-13 07:31:14 +11:00
nullawhale 1ff405edd8 Copy a commit message to clipboard: Changes to latest version 2020-10-12 21:04:01 +11:00
Jesse Duffield 031e97ef91 more password checks on commands that talk to the remote 2020-10-12 19:07:40 +11:00
band-a-prend 582fd24d78 Add SSH key passphrase prompt to pull/push from/to remote git repo
This commit resolves issue with absence of ssh key prompting
to pull from or push to remote git repository.

I checked lazygit with this patch for successfully pull from
and push to https://gitweb.gentoo.org/repo/proj/guru.git repository.
While for lazygit-0.23.1 I'm not able to do that.

The check for Passphrase follows the Password because of
more long time before SSH key is prompt in terminal.
Otherwise after timeout "Password" prompt is appears.

Excuse me for google translated i18n dutch lines.

Bug: https://github.com/jesseduffield/lazygit/issues/534

Signed-off-by: band-a-prend <torokhov-s-a@yandex.ru>
2020-10-10 17:58:23 +11:00
Jesse Duffield ef77d7c608 fix submodule tab colour 2020-10-10 00:23:01 +11:00
Jesse Duffield 63f6d0c036 release notes in status panel 2020-10-10 00:23:01 +11:00
Jesse Duffield aa5001f661 for some reason the commit files view was on top 2020-10-10 00:23:01 +11:00
Jesse Duffield c1a6229c2c install lazygit at beginning of test suite 2020-10-10 00:23:01 +11:00
Jesse Duffield 4c9ec88be5 fix mutex deadlock 2020-10-10 00:23:01 +11:00
Jesse Duffield 9011271a01 fix another panic error 2020-10-10 00:23:01 +11:00
Jesse Duffield 795e4da8b8 do not put mutexes on state else we might unlock an unlocked mutex 2020-10-10 00:23:01 +11:00
Jesse Duffield 79e59d5460 add some safe goroutines
WIP
2020-10-10 00:23:01 +11:00
Jesse Duffield ba4c3e5bc4 small changes 2020-10-10 00:23:01 +11:00
Jesse Duffield 88f2a66a51 store everything you need to know about a test in its directory 2020-10-10 00:23:01 +11:00
Jesse Duffield bb081ca764 more mutex safety with staging panel 2020-10-10 00:23:01 +11:00
CI a9049b4a82 stop using snapshots 2020-10-10 00:23:01 +11:00
CI ae352a5d8c configurable speeds 2020-10-10 00:23:01 +11:00
CI e2ad503bda stop using snapshot just store the actual resultant repo 2020-10-10 00:23:01 +11:00
CI 2657060aa2 support running integration tests in parallel 2020-10-10 00:23:01 +11:00
Jesse Duffield 2724f3888a fix CI 2020-10-10 00:23:01 +11:00
Jesse Duffield dc953ea680 fall back to slower speed if test fails 2020-10-10 00:23:01 +11:00
Jesse Duffield 08f8472db3 fix loop logic 2020-10-10 00:23:01 +11:00
Jesse Duffield 2e05ac0c90 paging keybindings for line by line panel
support searching in line by line panel

move mutexes into their own struct

add line by line panel mutex

apply LBL panel mutex

bump gocui to prevent crashing when search item count decreases
2020-10-10 00:23:01 +11:00
Jesse Duffield 40c5cd4b4b another integration test 2020-10-10 00:23:01 +11:00
Jesse Duffield 18f8c3d00a add merge conflicts integration test 2020-10-10 00:23:01 +11:00
Jesse Duffield 074fbf6f25 heed gocui stopping 2020-10-10 00:23:01 +11:00
Jesse Duffield a482f20ba3 kill process if nothing happens two seconds after final event 2020-10-10 00:23:01 +11:00
Jesse Duffield c36349f460 add another integration test 2020-10-10 00:23:01 +11:00
Jesse Duffield 485f6d5386 support configurable config 2020-10-10 00:23:01 +11:00
Jesse Duffield 778ca8e6f9 better interface 2020-10-10 00:23:01 +11:00
Jesse Duffield b64c6a3ac7 this is so cool 2020-10-10 00:23:01 +11:00
Jesse Duffield f76196937a support integration testing
WIP
2020-10-10 00:23:01 +11:00
Jesse Duffield ece93e5eef support recording sessions for testing purposes 2020-10-10 00:23:01 +11:00
Jesse Duffield 37bb89dac3 type i18n 2020-10-10 00:23:01 +11:00
Jesse Duffield ca31e5258f store popup version in state not config so that we never need to write to the user config 2020-10-10 00:23:01 +11:00
Jesse Duffield 4912205adb remove viper
WIP
2020-10-10 00:23:01 +11:00
kobutomo 3e15ae3211 Add error panel. 2020-10-06 21:55:01 +11:00
kobutomo 26cb209af2 Ignore "i" command if the filename is .gitignore 2020-10-06 21:55:01 +11:00
Jesse Duffield 76f7726c47 dont close over loop variables ugh I hate this language feature 2020-10-02 20:05:45 +10:00
Jesse Duffield 9763fa9997 fix windows CI 2020-10-02 08:09:42 +10:00
Jesse Duffield 7be474bd83 update keybindings 2020-10-02 08:09:42 +10:00
Jesse Duffield 2dc848506c bulk submodule menu 2020-10-02 08:09:42 +10:00
Jesse Duffield 9125e3c0c6 stop refreshing item when at end of list 2020-10-02 08:09:42 +10:00
Jesse Duffield 86dd9d87dd allow updating submodule 2020-10-02 08:09:42 +10:00
Jesse Duffield da3e00823f allow submodule init and show submodule diff with a prefix 2020-10-02 08:09:42 +10:00
Jesse Duffield 988176e073 manually update submodule url 2020-10-02 08:09:42 +10:00
Jesse Duffield 5d128adee1 add mutexes for when looping through views 2020-10-02 08:09:42 +10:00
Jesse Duffield 71d4c552af allow updating submodule url 2020-10-02 08:09:42 +10:00
Jesse Duffield d4ab607d0d allow adding a submodule 2020-10-02 08:09:42 +10:00
Jesse Duffield ea307c8d94 add more submodule commands 2020-10-02 08:09:42 +10:00
Jesse Duffield 7b4a0f20b2 add submodules context 2020-10-02 08:09:42 +10:00
Jesse Duffield 3b93b5dde4 make it easier to add a tab to a view 2020-10-02 08:09:42 +10:00
Jesse Duffield c12752cf53 add mutex to views array 2020-10-01 07:01:39 +10:00
Jesse Duffield ce6f8ed1bc move models folder into commands folder 2020-09-29 20:48:49 +10:00
Jesse Duffield 72af7e4177 factor out code from git.go 2020-09-29 20:48:49 +10:00
Jesse Duffield 1759ddf247 move OS commands into their own package 2020-09-29 20:48:49 +10:00
Jesse Duffield f9643448a4 move commit files 2020-09-29 20:48:49 +10:00
Jesse Duffield 91f0b0e28f move stash panel 2020-09-29 20:48:49 +10:00
Jesse Duffield 8d2af5cc61 move file and submodule 2020-09-29 20:48:49 +10:00
Jesse Duffield eda4619a4f move remotes and remote branches 2020-09-29 20:48:49 +10:00
Jesse Duffield e849ca3372 move tags 2020-09-29 20:48:49 +10:00
Jesse Duffield 630e446989 move commits model into models package 2020-09-29 20:48:49 +10:00
Jesse Duffield 44248d9ab0 pull branch model out into models package 2020-09-29 20:48:49 +10:00
Jesse Duffield 6e80371535 tell users we're going to reset submodules 2020-09-29 18:21:59 +10:00
Jesse Duffield b4a350259d format code 2020-09-29 18:21:59 +10:00
Jesse Duffield 914fb36173 allow entering and returning from submodule 2020-09-29 18:21:59 +10:00
Jesse Duffield b8da166ab1 support discarding submodule changes 2020-09-29 18:21:59 +10:00
Jesse Duffield ca437a6504 support submodules 2020-09-29 18:21:59 +10:00
Jesse Duffield 75598ea2a1 move git dir env stuff into a centralised package 2020-09-29 17:42:07 +10:00
Jesse Duffield e873816160 do not include bare repos in recent repos list 2020-09-29 17:42:07 +10:00
Jesse Duffield 23626755d7 unset GIT_WORK_TREE and GIT_DIR when switching repos 2020-09-29 17:42:07 +10:00
Jesse Duffield de482262e1 support setting description in custom command 2020-09-27 11:32:54 +10:00
Jesse Duffield 12f9b1416f better handling of global custom keybindings 2020-09-27 11:11:55 +10:00
Jesse Duffield a09bb5d4d8 better validation messages 2020-09-27 09:49:30 +10:00
Jesse Duffield 7cd17d3a73 support custom command loading text 2020-09-27 09:49:30 +10:00
Jesse Duffield 8a59a4404b rename prompt to input 2020-09-27 09:49:30 +10:00
Jesse Duffield 5724fa534a fallback to value if name not given 2020-09-27 09:49:30 +10:00
Jesse Duffield e7210dd249 better template support for menus and prompts 2020-09-27 09:49:30 +10:00
Jesse Duffield 7d39cc75b2 support menus in custom commands 2020-09-27 09:49:30 +10:00
Jesse Duffield b5066f1d8e support prompts in custom commands 2020-09-27 09:49:30 +10:00
Jesse Duffield 266d8bf0d5 minor fixup 2020-09-27 09:49:30 +10:00
Jesse Duffield da8eac5538 better interface 2020-09-27 09:49:30 +10:00
Jesse Duffield 67bbeb195b support custom keybindings 2020-09-27 09:49:30 +10:00
Jesse Duffield 92183de29e more lenient handling of views not existing 2020-09-26 19:33:22 +10:00
Jesse Duffield 8dae54ab8c fix panic 2020-09-26 11:56:22 +10:00
Jesse Duffield 62a31c27e1 refresh commit files view when needed 2020-09-26 11:52:38 +10:00
Jesse Duffield dd29ee7288 convert to string in a better way because I'm pretty sure alpine needs it 2020-09-26 11:12:47 +10:00
Jesse Duffield fe64f2f4c9 use --no-ext-diff flag for git diff 2020-09-26 11:03:38 +10:00
Jesse Duffield f0a1544ebd more logging 2020-09-26 11:00:50 +10:00
Jesse Duffield 077f113618 add in-built logging support for a better dev experience 2020-09-26 11:00:50 +10:00
Yuki Osaki 1fd89b4f46 Be able to copy file name 2020-09-21 15:35:50 +10:00
Jesse Duffield 14c8b80494 show loading state when amending top commit 2020-09-18 07:58:16 +10:00
Francisco Miamoto 250fe740b2 use GetBool instead of casting 2020-08-31 09:22:39 +10:00
Francisco Miamoto 70eda031dc implement config option for disabling force pushing 2020-08-31 09:22:39 +10:00
Jesse Duffield 71ff18318d fast UI update when moving commits in rebase mode 2020-08-29 00:19:31 +00:00
Jesse Duffield 46cce28758 restore donate link 2020-08-28 09:52:56 +10:00
Jesse Duffield 40bec49de8 more efficient refreshing of rebase commits 2020-08-27 21:51:07 +10:00
Jesse Duffield f99d5f74d4 drop merge commits when interactive rebasing just like git CLI 2020-08-27 21:51:07 +10:00
Jesse Duffield 196c83d058 fix bug where cancelling search in menu caused issue 2020-08-26 09:32:57 +00:00
Jesse Duffield 45a0378c01 do not create error panel for sentinel errors 2020-08-25 22:21:15 +00:00
Jesse Duffield 1494a3863d Remove tab keybinding for cycling tab
This keybinding has been more pain than it's worth. Having a tab keybinding
to cycle tabs implies that you can shift+tab and when you shift+tab the
application exits because termbox, our dependency, doesn't know how to
interpret the escape sequence (so it takes it for an actual ESC key which
will exit lazygit at the top level).

If people get mad at me they can set nextBlock-alt to <tab> and they'll have
the functionality back :)
2020-08-25 10:48:13 +00:00
Jesse Duffield f5c55f066b use new branch logic when 'checking out' remote branch 2020-08-25 09:25:17 +00:00
Jesse Duffield 3ebb91c07a better keybinding ('W') for viewing diff 2020-08-24 23:08:05 +00:00
Jesse Duffield 771e87ebeb do not reset cursor unless previous file has moved position 2020-08-24 22:39:01 +00:00
Jesse Duffield 44ee28bb2e support alacritty 2020-08-24 09:19:56 +10:00
Jesse Duffield f172f20219 Return whether the context has a parent or not along with that parent
There has got to be a better way around this but if we're returning a Context
from a function (Context is an interface, not a concrete type), even if we
return nil, on the calling end it won't be equal to nil because an interface
value is a tuple of the type and the value meaning it's never itself nil,
unless both values in the tuple are nil.

So we're explicitly returning whether or not the underlying concrete type is nil.
2020-08-23 22:30:32 +00:00
Jesse Duffield 0f7003d939 allow spamming the p key 2020-08-23 11:30:29 +00:00
Jesse Duffield d2d88fe64e fix focus change on merge popup return 2020-08-23 19:28:59 +10:00
Jesse Duffield fa2a385a0c when in the remote branches view, prefill name for creating branch off of remote branch 2020-08-23 19:27:34 +10:00
Jesse Duffield 66bd86b9b7 set keybindings after initialising views 2020-08-23 17:49:58 +10:00
Jesse Duffield 364bdcf532 safer getting of branch 2020-08-23 17:49:58 +10:00
Jesse Duffield ba7e098373 check for missing view when scrolling 2020-08-23 16:05:20 +10:00
Jesse Duffield 9f71c8d2b9 rename Status to PatchStatus 2020-08-23 15:11:06 +10:00
Jesse Duffield fce7cdcc0a enlargen stash window when its focused 2020-08-23 15:11:06 +10:00
Jesse Duffield 4fb52ce2ab better handling of there being no commit files 2020-08-23 15:11:06 +10:00
Jesse Duffield 2915134007 show file statuses in commit files view 2020-08-23 15:11:06 +10:00
Jesse Duffield 2f893bf361 format 2020-08-23 14:29:18 +10:00
Jesse Duffield f815c5607c prefill remote edit prompts 2020-08-23 14:29:18 +10:00
Jesse Duffield 59d61f00a6 hide secondary view when escaping patch building panel 2020-08-23 14:29:18 +10:00
Jesse Duffield 262ff24c5b always reset branch selected index when creating new branch 2020-08-23 14:29:18 +10:00
Jesse Duffield 1189c2fab7 we've now flipped the boolean 2020-08-23 14:29:18 +10:00
Jesse Duffield 3eb3de3edc allow explicitly managing focus 2020-08-23 14:29:18 +10:00
Jesse Duffield 94601b4dc9 use context to return to the correct view 2020-08-23 14:29:18 +10:00
Jesse Duffield 9ca0073cd7 attempt at fixing bad lazyloading 2020-08-23 14:29:18 +10:00
Jesse Duffield 55e6366529 run task for appropriate view 2020-08-23 14:29:18 +10:00
Jesse Duffield bd66162972 fix up patch manager 2020-08-23 14:29:18 +10:00
Jesse Duffield 5cdfd41dca prevent spamming pull or push buttons 2020-08-23 14:29:18 +10:00
Jesse Duffield a95fd581fd fix logic for entering merging panel 2020-08-23 14:29:18 +10:00
Jesse Duffield fda9f4ea7a centralise logic for rendering options map 2020-08-23 14:29:18 +10:00
Jesse Duffield f876d8fdc8 use constants 2020-08-23 14:29:18 +10:00
Jesse Duffield 4198bbae6c ensure there is always a current context 2020-08-23 14:29:18 +10:00
Jesse Duffield ade54b38c1 cleanup 2020-08-23 14:29:18 +10:00
Jesse Duffield 0dd2c869a8 minor refactor 2020-08-23 14:29:18 +10:00
Jesse Duffield ed85ea69bd cleanup of list context file 2020-08-23 14:29:18 +10:00
Jesse Duffield 953298de74 remove dead code 2020-08-23 14:29:18 +10:00
Jesse Duffield 628404e114 use actual keys 2020-08-23 14:29:18 +10:00
Jesse Duffield 5638a40007 carry more mode state across after returning from subprocess 2020-08-23 14:29:18 +10:00
Jesse Duffield d6005dc0eb more accurate comment 2020-08-23 14:29:18 +10:00
Jesse Duffield b3a7acbdad more standardising modes 2020-08-23 14:29:18 +10:00
Jesse Duffield 88ae550b93 unused method 2020-08-23 14:29:18 +10:00
Jesse Duffield 2c3f5be093 comment these things out because we're not using them yet 2020-08-23 14:29:18 +10:00
Jesse Duffield 148f601bcb cleanup now that we're always using the same diff command 2020-08-23 14:29:18 +10:00
Jesse Duffield 43d891b8d6 support creating patches from files in diff mode 2020-08-23 14:29:18 +10:00
Jesse Duffield 2eee079d3a minor rename 2020-08-23 14:29:18 +10:00
Jesse Duffield 8be970e688 stop loading all the diffs at once now that we load them as we go 2020-08-23 14:29:18 +10:00
Jesse Duffield 12bf851c7d faster patch manager 2020-08-23 14:29:18 +10:00
Jesse Duffield c837c54c39 handle diffing and filtering by file in commit files view 2020-08-23 14:29:18 +10:00
Jesse Duffield 5874529f43 deal with the fact that a nil wrapped in an interface is not equal to nil 2020-08-23 14:29:18 +10:00
Jesse Duffield e290710f67 support drilling down into the files of a diff 2020-08-23 14:29:18 +10:00
Jesse Duffield 438abd6003 centralise code for copying to clipboard 2020-08-23 14:29:18 +10:00
Jesse Duffield 442f6cd854 more cherry picking stuff, mostly around the reflog 2020-08-23 14:29:18 +10:00
Jesse Duffield c2b154acad better handling of our different modes and also cherry picking 2020-08-23 14:29:18 +10:00
Jesse Duffield fbd61fcd17 refactor how we handle different modes 2020-08-23 14:29:18 +10:00
Jesse Duffield b1529f19ad more cherry picking code into its own file 2020-08-23 14:29:18 +10:00
Jesse Duffield 134566ed49 move into more appropriate file 2020-08-23 14:29:18 +10:00
Jesse Duffield 8da93fd762 add description field to ListItem interface 2020-08-23 14:29:18 +10:00
Jesse Duffield 63209ef71e try allowing creating branches off the stash too 2020-08-23 14:29:18 +10:00
Jesse Duffield f63ec38aae genericise creating new branches off things 2020-08-23 14:29:18 +10:00
Jesse Duffield f858c8e750 rename to make way for a generic function name 2020-08-23 14:29:18 +10:00
Jesse Duffield 26f80087dd when toggling files reset patch manager if patch ends up empty 2020-08-23 14:29:18 +10:00
Jesse Duffield 0ac402792b allow getting the current item generically 2020-08-23 14:29:18 +10:00
Jesse Duffield 974c6510b8 add sub commit context 2020-08-23 14:29:18 +10:00
Jesse Duffield 41df63cdc4 show when building patch 2020-08-23 14:29:18 +10:00
Jesse Duffield 4080e9b501 only return focus if we already have it 2020-08-23 14:29:18 +10:00
Jesse Duffield 53da858c06 escape patch building mode on hitting escape at the top level 2020-08-23 14:29:18 +10:00
Jesse Duffield 50c9ae863a remove sdump 2020-08-23 14:29:18 +10:00
Jesse Duffield ce20d1b482 remove clipboard option for now because we need a better way of doing it 2020-08-23 14:29:18 +10:00
Jesse Duffield fcf916d138 don't panic 2020-08-23 14:29:18 +10:00
Jesse Duffield f3c87bde88 more 2020-08-23 14:29:18 +10:00
Jesse Duffield 3f7136fc7d missed a spot 2020-08-23 14:29:18 +10:00
Jesse Duffield 59f5f5c1af refactor 2020-08-23 14:29:18 +10:00
Jesse Duffield 1956301b1c better menu item name 2020-08-23 14:29:18 +10:00
Jesse Duffield 1fd0f31682 only show rebasey commands on a local commit when patch building 2020-08-23 14:29:18 +10:00
Jesse Duffield e6a1bd6566 generalise patch building stuff 2020-08-23 14:29:18 +10:00
Jesse Duffield 609f3f4bfa rename Sha to parent now that we're also considering stash entries 2020-08-23 14:29:18 +10:00
Jesse Duffield 9b42cd2214 slightly better 2020-08-23 14:29:18 +10:00
Jesse Duffield 2d90e1e8ee commit files kind of generalised 2020-08-23 14:29:18 +10:00
Jesse Duffield ddf25e14af allowing commit files to be viewed in reflog as well 2020-08-23 14:29:18 +10:00
Jesse Duffield 48f1adad49 stop logging stack 2020-08-23 14:29:18 +10:00
Jesse Duffield 379d37a255 remove unnecessary function 2020-08-23 14:29:18 +10:00
Jesse Duffield a59ac064d2 statically define context keys 2020-08-23 14:29:18 +10:00
Jesse Duffield 433d54fcec WIP constants for context keys 2020-08-23 14:29:18 +10:00
Jesse Duffield 146722beb8 rename to SelectedLineIdx 2020-08-23 14:29:18 +10:00
Jesse Duffield eb5e54e9fd use interface for panel state rather than pointer 2020-08-23 14:29:18 +10:00
Jesse Duffield 99707a527d WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield 9ee7793782 remove comment 2020-08-23 14:29:18 +10:00
Jesse Duffield bc410d8e4a use camelCase 2020-08-23 14:29:18 +10:00
Jesse Duffield 7561f5aa32 some more standardisation for diffing 2020-08-23 14:29:18 +10:00
Jesse Duffield 2855b5b4d5 standardise diffmode 2020-08-23 14:29:18 +10:00
Jesse Duffield 419cb9feb8 more standardisation 2020-08-23 14:29:18 +10:00
Jesse Duffield dbf6bb5f27 some more things 2020-08-23 14:29:18 +10:00
Jesse Duffield f601108c5d update naming to refer to context 2020-08-23 14:29:18 +10:00
Jesse Duffield b77abdc5e1 WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield 2fac2f9f1f WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield e4beaf4de9 more stuff 2020-08-23 14:29:18 +10:00
Jesse Duffield d4f134c6c7 WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield 7ebed76d16 WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield 2b812b01e9 more standardisation of rendering 2020-08-23 14:29:18 +10:00
Jesse Duffield 2f5d5034db good progress 2020-08-23 14:29:18 +10:00
Jesse Duffield a32947e7a7 prepare for OnRender prop 2020-08-23 14:29:18 +10:00
Jesse Duffield 2fdadd383a introduce new approach to handling tab states 2020-08-23 14:29:18 +10:00
Jesse Duffield 9a2dc3fe15 stop crash due to context stack not being initialized 2020-08-23 14:29:18 +10:00
Jesse Duffield f0c3d3fc4d centralise setting of main views context 2020-08-23 14:29:18 +10:00
Jesse Duffield 2488e0044d concurrent-safe handling of context state 2020-08-23 14:29:18 +10:00
Jesse Duffield 9c866fd49c more standardisation 2020-08-23 14:29:18 +10:00
Jesse Duffield 6c270b6e26 WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield ae1c4536e6 WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield f5b22d94d9 WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield 3c87ff4eff WIP: standardising how we render to main 2020-08-23 14:29:18 +10:00
Jesse Duffield 0f7b2c45d7 centralise split main panel code 2020-08-23 14:29:18 +10:00
Jesse Duffield a12d18146c better logic for taking focus away from popup panels 2020-08-23 14:29:18 +10:00
Jesse Duffield 119d5be1a4 move into list context file 2020-08-23 14:29:18 +10:00
Jesse Duffield fcdc0174d9 rename context file 2020-08-23 14:29:18 +10:00
Jesse Duffield 4f4df8f9cc move context specific keybindings into context file 2020-08-23 14:29:18 +10:00
Jesse Duffield c730271e09 minor update 2020-08-23 14:29:18 +10:00
Jesse Duffield ac0eedda91 lots more stuff 2020-08-23 14:29:18 +10:00
Jesse Duffield e87635295a dont check for error when sending view to bottom 2020-08-23 14:29:18 +10:00
Jesse Duffield 62a662054b hide view if not specified in dimensions object 2020-08-23 14:29:18 +10:00
Jesse Duffield dc183c0d82 no need to set views on top anymore 2020-08-23 14:29:18 +10:00
Jesse Duffield 08e039bea9 return nil when no file selected 2020-08-23 14:29:18 +10:00
Jesse Duffield 88d329c52a WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield fd8a455aff small things
WIP
2020-08-23 14:29:18 +10:00
Jesse Duffield ed4574bda9 standardise getting selected item 2020-08-23 14:29:18 +10:00
Jesse Duffield c9ae54a8c8 remove previous view 2020-08-23 14:29:18 +10:00
Jesse Duffield 6fb83b740b WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield 7f89113245 WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield 0ea0c48631 WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield cec4cb48cb centralise some list view code 2020-08-23 14:29:18 +10:00
Jesse Duffield 1716de3b59 remove space as keybinding for confirmation panel 2020-08-17 20:30:10 +10:00
Jesse Duffield 44d8b3e8f3 allow overriding default confirm/escape keybindings 2020-08-17 18:22:57 +10:00
Jesse Duffield 4f4bb40ea6 support opening lazygit outside a git directory 2020-08-16 22:59:58 +10:00
Jesse Duffield db826b3c87 add keybinding to create new branch off of commit
retain focus in commits panel

surface prompt errors

better description
2020-08-16 22:24:54 +10:00
Jesse Duffield 53f06f6a4e prefill commit reword editor 2020-08-16 20:37:24 +10:00
Jesse Duffield c8add47fe7 move cursor to right when using auto prefix 2020-08-16 18:44:39 +10:00
Jesse Duffield 28cd827cea better popups 2020-08-16 09:07:54 +10:00
Jesse Duffield ffda2839e0 remove anonymous reporting popup cos we dont do it anymore anyway 2020-08-16 09:07:54 +10:00
Jesse Duffield 28208e8364 refactor list view 2020-08-15 18:01:43 +10:00
Jesse Duffield 9b7a6934b3 more removing of g 2020-08-15 18:01:43 +10:00
Jesse Duffield 15229bbdab more removing of g and v 2020-08-15 18:01:43 +10:00
Jesse Duffield 63e6eea9ec files view 2020-08-15 18:01:43 +10:00
Jesse Duffield 50d5b9e8e7 status view 2020-08-15 18:01:43 +10:00
Jesse Duffield cc872b0444 menu view 2020-08-15 18:01:43 +10:00
Jesse Duffield 17b84e09c0 fix remote branches select sig 2020-08-15 18:01:43 +10:00
Jesse Duffield 43f8bae267 fix remotes select sig 2020-08-15 18:01:43 +10:00
Jesse Duffield b0fe963f8a fix branches select sig 2020-08-15 18:01:43 +10:00
Jesse Duffield 0822a9296c rename 2020-08-15 18:01:43 +10:00
Jesse Duffield d9fa02c53b clean up interface for popup panels 2020-08-15 18:01:43 +10:00
Jesse Duffield c44ee71ad4 update cheatsheet 2020-08-15 11:41:37 +10:00
Jesse Duffield 826d1660c9 move patch stuff into its own package 2020-08-15 11:41:37 +10:00
Jesse Duffield 291a8e4de0 allow opening files on the selected line in the staging panel 2020-08-15 11:41:37 +10:00
Jesse Duffield f02ccca0e0 add specs to boxlayout package 2020-08-15 09:04:40 +10:00
Jesse Duffield 1e12a60b34 move box layout stuff into its own package 2020-08-15 09:04:40 +10:00
Jesse Duffield 8430b04492 allow configurable main panel split 2020-08-13 21:50:23 +10:00
Jesse Duffield 35b72420ad support accordian mode i.e. expanding focused side panels 2020-08-13 21:50:23 +10:00
Jesse Duffield 28ba142fd6 set minimum confirmation box width 2020-08-13 21:50:23 +10:00
Jesse Duffield b39bcd5c61 more lenient for switching into portrait mode 2020-08-13 21:50:23 +10:00
Jesse Duffield 1fd35f3824 centralise logic for information section
WIP
2020-08-13 21:50:23 +10:00
Jesse Duffield e73937c2bd more work on new layout functionality 2020-08-13 21:50:23 +10:00
Jesse Duffield b51ad4fcea softcode cyclable views 2020-08-13 21:50:23 +10:00
Jesse Duffield d1a7c7283f some more changes 2020-08-13 21:50:23 +10:00
Jesse Duffield b641ecdc74 move some things around 2020-08-13 21:50:23 +10:00
Jesse Duffield 13f567ff4c add portrait mode for when the window is really tall 2020-08-13 21:50:23 +10:00
Jesse Duffield 771d4b5811 refactor how we handle layouts 2020-08-13 21:50:23 +10:00
Jesse Duffield 3c944e0351 support force push after failure 2020-08-12 21:11:24 +10:00
Jesse Duffield e26af258d6 allow rebasing onto remote branch 2020-08-12 20:58:34 +10:00
Jesse Duffield 76e5ec6d45 immediately quit when pressing q in diff or filter mode 2020-08-12 20:44:29 +10:00
Jesse Duffield 27cd12e2d9 accept umlaut keybindings 2020-08-12 20:07:56 +10:00
Jesse Duffield bfaf1c4f70 use remote prefixed branch name when merging remote branch 2020-08-12 20:07:46 +10:00
Jesse Duffield 2d18d089ce allow entering a password when fast forwarding another branch 2020-08-12 18:47:16 +10:00
Jesse Duffield 401f291c3b lowercase function name 2020-08-12 18:47:16 +10:00
Jesse Duffield bea2ae5ff5 stop pulling in general 2020-08-12 18:47:16 +10:00
Jesse Duffield f49e4946f2 minor refactor 2020-08-12 18:47:16 +10:00
Jesse Duffield fcd5aea04e support multiple modes of git pull 2020-08-12 18:47:16 +10:00
Jesse Duffield 1c0da2967c update naming 2020-08-12 18:47:16 +10:00
Jesse Duffield 1b78a42b80 pass callback directly 2020-08-12 18:47:16 +10:00
Jesse Duffield 79e73d2eff minor cleanup
WIP
2020-08-12 18:47:16 +10:00
Jesse Duffield 660cc2f3d1 follow cursor when staging and unstaging a file rename 2020-08-07 18:59:56 +10:00
Jesse Duffield 469ac116ef allow renames to be discarded 2020-08-07 18:01:26 +10:00
Axel Navarro d49e75bd3e Add tab keybinding in commit message 2020-07-26 16:28:01 +10:00
Jesse Duffield f4718a9047 allow editing commit files 2020-07-21 18:24:39 +10:00
Jesse Duffield 845c80721f Decouple escaping from quitting
When a user is not entering text into a prompt, the 'q' key should immediately
quit the application. On the other hand, the 'esc' key should cancel/close/go-back
to the previous context.

If we're at the surface level (nothing to cancel/close) and the user hits the
escape key, the default behaviour is to close the app, however we now have a
`quitOnTopLevelReturn` config key to override this.

I actually think from the beginning we should have made this config option
default to false rather than true which is the default this PR gives it,
but I don't want to anger too many people familiar with the existing behaviour.
2020-07-18 20:00:48 +10:00
Jesse Duffield a9cc321981 prompt to create new branch if branch not found 2020-07-17 09:20:50 +10:00
Jesse Duffield 6349214f00 prompt to commit all files if committing with no staged files 2020-07-17 09:01:40 +10:00
Jesse Duffield cf5cefb2d6 allow user to scroll themselves inside merge panel 2020-05-19 18:44:53 +10:00
Jesse Duffield 36ac764133 fix race condition when scrolling to merge conflict 2020-05-19 18:05:14 +10:00
Jesse Duffield 003e45d2f5 allow creating branches off of remote branches 2020-05-19 09:57:37 +10:00
Jesse Duffield 1c259f69f6 check if user has configured to push to current by default 2020-05-15 21:41:23 +10:00
Jesse Duffield 913f17ee3e prevent flicker from bolding background of selected line 2020-05-15 21:12:12 +10:00
Jesse Duffield 267730bc00 standardise how we handle background colours 2020-05-13 21:24:25 +10:00
Gary Yendell 7ed8ee160d Add option to split patch into a new commit
Add GetHeadCommitMessage to read the subject of the HEAD commit
Create PullPatchIntoNewCommit based heavily on PullPatchIntoIndex to
  split the current patch from its commit and apply it in a separate
  commit immediately after.

WIP to Squash - Fill format string with format string

WIP
2020-05-09 11:59:37 +10:00
Jesse Duffield 07a8ae8c3e add handler for searching in menu 2020-04-21 19:28:31 +10:00
Jesse Duffield f05a5e531e warnings for stash actions 2020-04-20 18:57:08 +10:00
Kristijan Husak 68586ec49a Handle regex compilation errors and show them to the user. 2020-04-20 18:47:50 +10:00
Kristijan Husak 6cf75af0af Add option to set predefined commit message prefix. Fixes #760. 2020-04-20 18:47:50 +10:00
Jesse Duffield e9f28855a2 add bugfix git flow option 2020-04-20 18:31:13 +10:00
Jesse Duffield 59734f1069 whoops 2020-04-17 09:27:23 +10:00
Jesse Duffield 2974a57943 support copying stuff to clipboard 2020-04-15 10:44:56 +00:00
Jesse Duffield 97d7a8ad0c add reverse patch option 2020-03-29 21:53:25 +00:00
Jesse Duffield b89ba365d0 unbold diff info 2020-03-29 18:31:19 +11:00
Jesse Duffield 47ff388549 some more UI logic 2020-03-29 18:26:24 +11:00
Jesse Duffield 76431b4673 simplify things 2020-03-29 18:26:24 +11:00
Jesse Duffield be0dd29e3a don't support files until we understand the use case 2020-03-29 18:26:24 +11:00
Jesse Duffield 40fbce91ce add new diff mode
WIP

WIP

WIP

WIP

WIP

WIP

WIP
2020-03-29 18:26:24 +11:00
Jesse Duffield 33d287d2f0 remove old diff mode code 2020-03-29 18:26:24 +11:00
Jesse Duffield 9eb1cbc514 reset main's origin when cycling views 2020-03-29 02:36:01 +00:00
Jesse Duffield 40b173118a fix conflict race condition 2020-03-29 02:36:01 +00:00
Jesse Duffield 8822c409e2 split reflog commits into ReflogCommits and FilteredReflogCommits 2020-03-29 11:37:29 +11:00
Jesse Duffield aa750c0819 load reflog commits manually when in filter mode for branches panel 2020-03-29 11:37:29 +11:00
Jesse Duffield d90d9d7330 reset state on each Run() call 2020-03-29 11:37:29 +11:00
Jesse Duffield a8db672ffb refactor gui.go 2020-03-29 11:37:29 +11:00
Jesse Duffield 76b66ae26f properly reset gui state when restarting or coming back from a subprocess 2020-03-29 11:37:29 +11:00
Jesse Duffield a2790cfe8e rename to filtered mode 2020-03-29 11:37:29 +11:00
Jesse Duffield 624ae45ebb allow scoped mode where the commits/reflog/stash panels are scoped to a file
WIP

restrict certain actions in scoped mode

WIP
2020-03-29 11:37:29 +11:00
Jesse Duffield 2756b82f57 fix width of half screen mode 2020-03-29 11:37:29 +11:00
Jesse Duffield 52f41ab0d5 update cheatsheet 2020-03-28 03:16:44 +00:00
Jesse Duffield fbb767893e support lazyloading in commits view 2020-03-28 14:02:53 +11:00
Jesse Duffield 229f5ee48c add keybindings for paging in list panels and jumping to top/bottom 2020-03-28 14:02:53 +11:00
Jesse Duffield 517b7d0283 fix up some things with the patch handling stuff 2020-03-28 13:19:35 +11:00
Jesse Duffield 0c0231c3e8 autostash changes when pulling file into index 2020-03-28 13:19:35 +11:00
Jesse Duffield a9559a5c87 move working tree state function into git.go 2020-03-28 13:19:35 +11:00
Jesse Duffield 814ee24c8d better error handling 2020-03-28 11:59:45 +11:00
Jesse Duffield 7876cddf4a remove dead code 2020-03-28 11:59:45 +11:00
Jesse Duffield 29316a528a better documentation 2020-03-28 11:59:45 +11:00
Jesse Duffield 036b53acf8 in fact we don't need any of these options 2020-03-28 11:59:45 +11:00
Jesse Duffield 919463ff02 actually don't even bother limiting 2020-03-28 11:59:45 +11:00
Jesse Duffield 3f7ec3f3b8 load reflog commits in two stages to speed up startup time 2020-03-28 11:59:45 +11:00
Jesse Duffield 19604214d7 discard old reflog commits when in new context 2020-03-28 11:59:45 +11:00
Jesse Duffield f7add8d788 smarter refreshing for tags and remotes 2020-03-28 11:59:45 +11:00
Jesse Duffield d97c230747 stop switching focus to commit files view while staging line by line 2020-03-28 11:59:45 +11:00
Jesse Duffield 906a49049e smart refreshing files 2020-03-28 11:59:45 +11:00
Jesse Duffield c1a4bd0482 more smart refreshing
WIP

WIP

WIP

WIP

WIP

fix how diff entries are handled

WIP

WIP

WIP

WIP

WIP

WIP
2020-03-28 11:59:45 +11:00
Jesse Duffield d0336fe16f better presentation of remotes 2020-03-28 11:59:45 +11:00
Jesse Duffield 61b4bbf74e clean up signature 2020-03-28 11:59:45 +11:00
Jesse Duffield 384c2e13d7 better refreshing for stash 2020-03-28 11:59:45 +11:00
Jesse Duffield 198d237679 more centralised handling of refreshing 2020-03-28 11:59:45 +11:00
Jesse Duffield 39315ca1e2 use wait groups when refreshing 2020-03-28 11:59:45 +11:00
Jesse Duffield efb51eee96 more efficient refreshing 2020-03-28 11:59:45 +11:00
Jesse Duffield fbbd16bd82 use reflogs from state to work out branch recencies 2020-03-28 11:59:45 +11:00
Jesse Duffield 95b147079f allow applying patch directly 2020-03-26 21:44:45 +11:00
Jesse Duffield 83757f1065 limit size of menu panel 2020-03-26 21:44:33 +11:00
Jesse Duffield f2036b42e5 only load new reflog entries 2020-03-26 21:44:33 +11:00
Jesse Duffield 21b7d41845 relax limit on commit list and reset on branch change 2020-03-26 21:44:33 +11:00
Jesse Duffield 91a404d033 separate commits from cherry pick state 2020-03-26 21:44:33 +11:00
Jesse Duffield d027cf969c better handling of current branch name 2020-03-26 20:37:06 +11:00
Jesse Duffield 37acc17cf3 more lenient getting of short shas 2020-03-26 18:30:02 +11:00
Dawid Dziurla c831ad39c9 pkg: use upstream pty package 2020-03-25 21:26:15 +11:00
Jesse Duffield bbcc4b7b70 just disallow undo/redo while rebasing because you need more info than just the reflog 2020-03-25 09:39:04 +11:00
Jesse Duffield 45bba0a3c5 ignore redundant actions when undoing and redoing 2020-03-25 09:39:04 +11:00
Jesse Duffield d105e2690a vastly improve the logic for undo and redo 2020-03-25 09:39:04 +11:00
Jesse Duffield 30a5d1b486 move into undoing file 2020-03-25 09:39:04 +11:00
Jesse Duffield 6b3ea56add refactor undo and redo 2020-03-25 09:39:04 +11:00
Jesse Duffield c3aefdb98e stateless undos and redos 2020-03-25 09:39:04 +11:00
Jesse Duffield 094939451d more explicit env vars 2020-03-25 09:39:04 +11:00
Jesse Duffield 0e23f44b84 support reflog action prefix 2020-03-25 09:39:04 +11:00
Jesse Duffield daecdd7c2b redoing 2020-03-25 09:39:04 +11:00
Jesse Duffield 7c8df28d01 add waiting status to checkout ref handler 2020-03-25 09:39:04 +11:00
Jesse Duffield 65917272a2 undoing status 2020-03-25 09:39:04 +11:00
Jesse Duffield 137fd80fdb note that undo functionality is experimental 2020-03-25 09:39:04 +11:00
Jesse Duffield 98fbc61221 better formatted reflog list 2020-03-25 09:39:04 +11:00
Jesse Duffield f80d15062b use reflog undo history pointer 2020-03-25 09:39:04 +11:00
Jesse Duffield b1b0219f04 autostash changes when hard resetting 2020-03-25 09:39:04 +11:00
Jesse Duffield b1941c33f7 undo via rebase 2020-03-25 09:39:04 +11:00
Jesse Duffield 5d460e1e5e add tab keybindings 2020-03-23 23:25:00 +11:00
Jesse Duffield 3aab37611a show status of selected cherry picked commits 2020-03-19 21:42:21 +11:00
Jesse Duffield 8fbcc36331 allow resetting cherry picked commits selection 2020-03-19 21:42:21 +11:00
Jesse Duffield b0ec0821d5 fix docs 2020-03-18 22:50:35 +11:00
hitsuji_no_shippo 13a7806cac add opne menu keybindings in docs 2020-03-18 22:50:35 +11:00
hitsuji_no_shippo 41c76fb748 add close menu keybindings in docs 2020-03-18 22:50:35 +11:00
hitsuji_no_shippo ac0c3b9f92 fix search keybindings in docs 2020-03-18 22:50:35 +11:00
Jesse Duffield 1be0ff8da7 better upstream tracking and allow renaming a branch 2020-03-18 21:29:06 +11:00
hitsuji_no_shippo 2169b5109f add search keybings in docs 2020-03-11 19:43:22 +11:00
Jesse Duffield 7df4b736cf be a bit more lenient 2020-03-09 12:41:41 +11:00
Jesse Duffield e47ad846c4 big golangci-lint cleanup 2020-03-09 12:23:13 +11:00
Jesse Duffield 19146d61b1 use selected branch as base when creating a new branch 2020-03-08 18:44:15 +11:00
Jesse Duffield 31e201ca52 allow configuring side panel width 2020-03-04 00:12:23 +11:00
Jesse Duffield b3522c48d9 refactor 2020-03-04 00:12:23 +11:00
Jesse Duffield 54241d8ab9 more generic way of supporting custom pagers 2020-03-04 00:12:23 +11:00
Jesse Duffield 355f1615ab supporing custom pagers step 1 2020-03-04 00:12:23 +11:00
Jesse Duffield 79299be3b2 better keybindings for patch building mode 2020-02-29 18:48:10 +11:00
Jesse Duffield 4c9b620bd0 better keybindings for staging by line 2020-02-29 18:48:10 +11:00
Jesse Duffield a7508a5dfd fix cheatsheet script to support different contexts 2020-02-29 17:46:00 +11:00
Jesse Duffield 8eb0b0f4ca do not close over variables in a function 2020-02-25 22:09:43 +11:00
Jesse Duffield e6a8dc0bcf better logic for checking if we're rebasing 2020-02-25 22:09:43 +11:00
Jesse Duffield f94d0be2c9 refactor the way we render lists 2020-02-25 21:21:07 +11:00
Jesse Duffield 9fd9fd6816 better commit lines in fullscreen mode 2020-02-25 21:21:07 +11:00
Jesse Duffield 8ad01fe32f refresh commits when adding a tag 2020-02-25 09:10:23 +11:00
Jesse Duffield fdb543fa7d add half and fullscreen modes 2020-02-25 08:45:30 +11:00
Jesse Duffield 52b5a6410c show item counts in frames 2020-02-25 07:19:46 +11:00
Jesse Duffield 78b62be96f better handling of clearing the search 2020-02-24 22:18:04 +11:00
Jesse Duffield 1f5ccab1ce eagerload commits when searching 2020-02-24 22:18:04 +11:00
Jesse Duffield 46be280c92 support searching in side panels
For now we're just doing side panels, because it will take more work
to support this in the various main panel contexts
2020-02-24 22:18:04 +11:00
Jesse Duffield 2a5763a771 switch custom command keybinding to ':' 2020-02-24 22:04:39 +11:00
Jesse Duffield fabdda0492 allow customizing background color in staging mode 2020-02-23 18:37:19 +11:00
Jesse Duffield 66e6369c28 allow fastforwarding the current branch 2020-02-18 23:07:38 +11:00
Jesse Duffield 0f0da9c32a fix wording 2020-02-16 09:57:49 +11:00
Jesse Duffield 0a69c1a02d add reset to reflog commit menu 2020-02-16 09:57:49 +11:00
Jesse Duffield feaf98bd01 add reset to upstream option on files panel 2020-02-16 09:57:49 +11:00
Jesse Duffield 0fe9c15ce8 add mixed option to HEAD resetting, remove @{upstream} 2020-02-16 09:57:49 +11:00
Jesse Duffield f528e12c83 allow resetting to tag 2020-02-16 09:57:49 +11:00
Jesse Duffield 8ca9f93ccf allow resetting to remote branch 2020-02-16 09:57:49 +11:00
Jesse Duffield 73d8064837 allow resetting to branch 2020-02-16 09:57:49 +11:00
Jesse Duffield 5b1f60b7eb refactor create reset menu logic 2020-02-16 09:57:49 +11:00
Jesse Duffield 5b9996b16f remove old createMenu function 2020-02-15 08:47:36 +11:00
Jesse Duffield 6fdc1791e4 refactor stash options menu 2020-02-15 08:47:36 +11:00
Jesse Duffield fd4f37b5c3 refactor git flow menu 2020-02-15 08:47:36 +11:00
Jesse Duffield d76e8887e5 refactor patch options menu panel 2020-02-15 08:47:36 +11:00
Jesse Duffield eb9134685a refactor rebase menu panel 2020-02-15 08:47:36 +11:00
Jesse Duffield d929b84786 refactor recent repos menu panel 2020-02-15 08:47:36 +11:00
Jesse Duffield 8ef3297b11 refactor reflog reset options panel 2020-02-15 08:47:36 +11:00
Jesse Duffield 27c7aeb117 refactor workspace reset options panel 2020-02-15 08:47:36 +11:00
Jesse Duffield c9714600e8 refactor commit reset menu 2020-02-15 08:47:36 +11:00
Jesse Duffield 665fdded14 continue refactor of menu panel 2020-02-15 08:47:36 +11:00
Jesse Duffield 814a0ea36f begin refactor of menu panel 2020-02-15 08:47:36 +11:00
Jesse Duffield efb26f8b60 refresh current branch graph when side panels refresh 2020-02-10 19:05:55 +11:00
Jesse Duffield f062e1dcda ignore carriage returns 2020-02-09 16:43:02 +11:00
Glenn Vriesman 9f5397a2d4 Moved function to git.go
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-02-06 23:19:29 +11:00
Glenn Vriesman 0164abbd4a Added feature to ignore tracked files
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-02-06 23:19:29 +11:00
Glenn Vriesman 047c3cf880 Added more keybinds
* Commit with editor
 * Commit without hook

Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
2020-02-04 23:21:51 +11:00
Glenn Vriesman 47d7d87c82 Added commit keybinding to staging views 2020-02-04 23:21:51 +11:00
Jesse Duffield 5f71f87496 correctly compare new main height to previous 2020-02-03 21:50:31 +11:00
Jesse Duffield df050472a1 more ticker improvements 2020-02-02 11:26:24 +11:00
Jesse Duffield 434582b5f5 explicitly tell gocui when to start animating the loader 2020-02-01 00:23:22 +11:00
Jesse Duffield cf6be928a3 only rerender app status when we need to 2020-02-01 00:23:22 +11:00
Jesse Duffield c907c55144 close more things when switching repos or to a subprocess 2020-01-31 20:53:08 +11:00
Jesse Duffield 64782a433e fix segfault on line by line panel
The state object is sometimes undefined in the onclick method of the
line by line panel. Because we set it to nil in a bunch of places,
I've decided to just change the main context to 'normal' before setting
it to nil anywhere. That way the keybindings for the line by line panel
won't get executed and we won't get a segfault.
2020-01-31 08:27:49 +11:00
Jesse Duffield 1a6d269063 split main view vertically
When staging lines (or doing anything that requires the main view to split into two)
we want to split vertically if there's not much width available in the window.
If there is enough width we will split horizontally. The aim here is to allow for
sufficient room in the side panel. We might need to tweak this or make it configurable
but I think it's set to a pretty reasonable default i.e. switching to split vertically
when the window width falls under 220
2020-01-29 18:44:50 +11:00
Jesse Duffield b64953ebdb safely unstage lines 2020-01-29 18:19:11 +11:00
Jesse Duffield c166c57c5d make use of branch config when pushing/pulling 2020-01-29 15:19:19 +11:00
Jamie Brynes 810adab957 handle case where file watcher is disabled 2020-01-16 00:30:53 +00:00
Jesse Duffield 83a3c9fc8d handle when fsnotify doesn't work 2020-01-12 14:46:23 +11:00
Jesse Duffield 5e95019b3f Missed a spot with this new string task thing
The issue here was that we were using a string task
but expecting to be able to set the origin straight after
to point at the conflict, but because it's async it was
actually resetting the origin to 0 after a little bit.

The proper solution here is maybe to add a flag to that thing
asking whether you want to reset main's origin. But I'm
too lazy to do that right now so instead I'm just using
setViewContent. That will probably cause issues in the future.
2020-01-12 14:43:17 +11:00
Jesse Duffield 83a895a463 reset origin when clicking on list item 2020-01-12 13:55:14 +11:00
Jesse Duffield 77a82e9d51 use view line height to see if you should stop scrolling 2020-01-12 13:55:14 +11:00
Jesse Duffield bd79c2e8dc keep track of current view when pushing 2020-01-12 11:17:20 +11:00
Jesse Duffield 23bcc19180 allow fast flicking through any list panel
Up till now our approach to rendering things like file diffs, branch logs, and
commit patches, has been to run a command on the command line, wait for it to
complete, take its output as a string, and then write that string to the main
view (or secondary view e.g. when showing both staged and unstaged changes of a
file).

This has caused various issues. For once, if you are flicking through a list of
files and an untracked file is particularly large, not only will this require
lazygit to load that whole file into memory (or more accurately it's equally
large diff), it also will slow down the UI thread while loading that file, and
if the user continued down the list, the original command might eventually
resolve and replace whatever the diff is for the newly selected file.

Following what we've done in lazydocker, I've added a tasks package for when you
need something done but you want it to cancel as soon as something newer comes
up. Given this typically involves running a command to display to a view, I've
added a viewBufferManagerMap struct to the Gui struct which allows you to define
these tasks on a per-view basis.

viewBufferManagers can run files and directly write the output to their view,
meaning we no longer need to use so much memory.

In the tasks package there is a helper method called NewCmdTask which takes a
command, an initial amount of lines to read, and then runs that command, reads
that number of lines, and allows for a readLines channel to tell it to read more
lines. We read more lines when we scroll or resize the window.

There is an adapter for the tasks package in a file called tasks_adapter which
wraps the functions from the tasks package in gui-specific stuff like clearing
the main view before starting the next task that wants to write to the main
view.

I've removed some small features as part of this work, namely the little headers
that were at the top of the main view for some situations. For example, we no
longer show the upstream of a selected branch. I want to re-introduce this in
the future, but I didn't want to make this tasks system too complicated, and in
order to facilitate a header section in the main view we'd need to have a task
that gets the upstream for the current branch, writes it to the header, then
tells another task to write the branch log to the main view, but without
clearing inbetween. So it would get messy. I'm thinking instead of having a
separate 'header' view atop the main view to render that kind of thing (which
can happen in another PR)

I've also simplified the 'git show' to just call 'git show' and not do anything
fancy when it comes to merge commits.

I considered using this tasks approach whenever we write to a view. The only
thing is that the renderString method currently resets the origin of a view and
I don't want to lose that. So I've left some in there that I consider harmless,
but we should probably be just using tasks now for all rendering, even if it's
just strings we can instantly make.
2020-01-12 11:17:20 +11:00
Jesse Duffield 282f08df36 lazyload commits 2020-01-12 10:10:56 +11:00
Jesse Duffield d647a96ed5 add reflog reset options 2020-01-09 22:36:07 +11:00
Jesse Duffield 1b64ea3210 add checkout reflog commit keybinding 2020-01-09 22:36:07 +11:00
Jesse Duffield 9b32e99eb8 add reflog tab in commits panel 2020-01-09 22:36:07 +11:00
Jesse Duffield e0015a52e5 refresh side panels when resetting to upstream 2020-01-08 22:30:54 +11:00
Jesse Duffield 80377e4716 add git flow support 2020-01-08 22:03:15 +11:00
Jesse Duffield c3d54f3c2e don't watch deleted files 2020-01-08 21:57:39 +11:00
Jesse Duffield c7d367a791 minor fixup 2020-01-08 21:55:52 +11:00
Jesse Duffield ba4253668d reduce to 50 2020-01-08 21:41:39 +11:00
Jesse Duffield 1ce5c69cd2 improve file watching
By default, macs have 256 open files allowed by a given process.
This sucks when you end up with over 256 files modified in a repo
because after you've watched all of them, lots of other calls to
the command line will fail due to violating the limit.

Given there's no easy platform agnostic way to see what you've got
configured for how many files a process can have open, I'm going to
arbitrarily set the max to 200 and when we hit the limit we start
unwatching older files to make way for new ones.

WIP
2020-01-08 21:34:02 +11:00
David Chen 205d731d7b added a seperate keybinding option for checking out commits 2020-01-07 19:14:54 -08:00
David Chen 3e875cc593 fix display of menu option keybindings 2020-01-07 13:26:29 -08:00
David Chen de2cfc7e17 cleanup 2020-01-07 12:48:11 -08:00
David Chen e72cab81c1 customizable keybinding for toggleDiffCommit 2020-01-07 10:03:13 -08:00
David Chen 844a2db83a
Merge branch 'master' into custom-keybindings 2020-01-07 09:57:06 -08:00
David Chen 529ba45cc7 fixed keybinding display in merge_panel.go 2020-01-07 09:50:25 -08:00
Jesse Duffield 09aabce3cd allow commits to be checked out 2020-01-07 20:43:01 +11:00
Jesse Duffield eb2bfd3848 allow hard resetting to upstream branch 2020-01-07 20:26:01 +11:00
Yasuhiro Matsumoto d914d40b2e
Use ASCII on Windows with east asian locale 2020-01-07 11:32:11 +09:00
David Chen 66c7672a0c updated keybinding config docs 2020-01-07 08:38:07 +08:00
David Chen fd72a09d1e if statements to map 2020-01-06 23:37:33 +08:00
David Chen 0ddf7c05c8 PickBothHunks -> pickBothHunks 2020-01-06 23:37:21 +08:00
David Chen 86b101c410
Merge branch 'master' into custom-keybindings 2020-01-04 08:12:36 +00:00
matejcik 0a31edecb6
make Ctrl+P visible 2020-01-03 15:09:59 +01:00
David Chen 029de4ac86 re-position key names so that the menu will show 'enter' instead of 'ctrl-m', or 'esc' instead of 'ctrl-[' 2019-12-08 14:57:29 -08:00
David Chen 5f21f190b9
Merge branch 'master' into custom-keybindings 2019-12-08 14:40:11 -08:00
Jesse Duffield dab78c8a63 stop the files panel from stealing focus whenever files are refreshed 2019-12-08 21:27:28 +11:00
David Chen 0d1230a959 added keybinding for fetchRemote 2019-12-07 09:26:17 -08:00
David Chen c507e5f562
Merge branch 'master' into custom-keybindings 2019-12-07 09:19:43 -08:00
David Chen 7194dfa43c better error messages 2019-12-06 22:39:41 -08:00
David Chen e425f1df87 suggested keybinding improvements 2019-12-06 22:36:52 -08:00
Jesse Duffield 3f4613feb0 allow fetching remotes with 'f' 2019-12-07 16:23:04 +11:00
Jesse Duffield 033c21754b fix commit message char count 2019-12-07 16:21:26 +11:00
David Chen c89c35c6b3 bug fix: ctrl+combinations was not showing up in help menu 2019-12-06 10:26:39 -08:00
David Chen 1dbfea54bc better error handling 2019-12-04 19:16:47 -08:00
David Chen 0a26050b47 fix 2019-12-04 18:33:00 -08:00
David Chen fa6893fda9 feature: custom keybindings 2019-12-04 18:01:06 -08:00
Dawid Dziurla 1c38db1fc7
keybindings: alias V -> v 2019-11-27 20:37:07 +01:00
Jesse Duffield bad06bb634 fix typo 2019-11-21 22:09:02 +11:00
Jesse Duffield f905b27b00 couple of things to clean up after rebasing onto master 2019-11-21 22:07:14 +11:00
Jesse Duffield 3c13229145 add tags panel 2019-11-21 22:07:14 +11:00
Jesse Duffield cea24c2cf9 allow editing remotes 2019-11-21 22:07:14 +11:00
Jesse Duffield 64017cf874 require double clicking menu items so you know what you're clicking 2019-11-21 22:07:14 +11:00
Jesse Duffield b3bce8a1ba refactor confirmation prompt code 2019-11-21 22:07:14 +11:00
Jesse Duffield 3b0cef2ec8 better handling of click events in list views 2019-11-21 22:07:14 +11:00
Jesse Duffield 07cbae4019 support setting upstream 2019-11-21 22:07:14 +11:00
Jesse Duffield b42202ea1c better fast forward 2019-11-21 22:07:14 +11:00
Jesse Duffield 8347dcd671 make upstream branch display more lenient on git errors 2019-11-21 22:07:14 +11:00
Jesse Duffield dcb5285797 support rebasing onto remote branch 2019-11-21 22:07:14 +11:00
Jesse Duffield a9cd647075 support deleting remote branches 2019-11-21 22:07:14 +11:00
Jesse Duffield f0cd730fbb ensure we switch tabs when switching context 2019-11-21 22:07:14 +11:00
Jesse Duffield 2afbd7ba7f support merging remote branches into checked out branch 2019-11-21 22:07:14 +11:00
Jesse Duffield 55ff0c0dee support detached heads when showing the selected branch 2019-11-21 22:07:14 +11:00
Jesse Duffield 6b7aaeca45 support adding/removing remotes 2019-11-21 22:07:14 +11:00
Jesse Duffield 1f3e1720a3 split RemoteBranch out from Branch 2019-11-21 22:07:14 +11:00
Jesse Duffield 6bd0979b4a only refresh branches panel on focus lost when in the local-branches context 2019-11-21 22:07:14 +11:00
Jesse Duffield 986abc1e45 support viewing a remote branch 2019-11-21 22:07:14 +11:00
Jesse Duffield 61dac10bb9 support navigating remotes view 2019-11-21 22:07:14 +11:00
Jesse Duffield 92e43d9e77 allow changing tabs with [ and ] 2019-11-21 22:07:14 +11:00
Jesse Duffield 8aa1062e06 extract out some logic for list views 2019-11-21 22:07:14 +11:00
Jesse Duffield 7e0a8f235e add contexts to views 2019-11-21 22:07:14 +11:00
Jesse Duffield e6be849eb2 add remotes context to branches view 2019-11-21 22:07:14 +11:00
Jesse Duffield f15e47bb67 add file watching for modified files
log createErrorPanel error

swallow error when adding file to watcher
2019-11-14 22:22:47 +11:00
Jesse Duffield 7995d56a85 allow editing or opening a file while resolving merge conflicts 2019-11-14 22:22:47 +11:00
Jesse Duffield 3b1d705473 show upstream branch for branch 2019-11-13 22:25:42 +11:00
Jesse Duffield f43ba728e3 prompt to set upstream when pulling on untracked branch
prompt to set upstream when pulling on untracked branch
2019-11-13 21:36:16 +11:00
Jesse Duffield 12b84307ac specify upstream when pushing a branch for the first time 2019-11-11 23:30:30 +11:00