Commit graph

364 commits

Author SHA1 Message Date
Jesse Duffield d627b3bfc8 more refactoring 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 0898a7bb57 refactor 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 798d3e2d54 get rid of these positively ghastly method signatures 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 3ea5e4d4b2 allow scrolling when staging lines or building patch 2021-04-06 19:34:32 +10:00
Jesse Duffield 0d6ff7d1b7 support backtab key 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 eeeef9ca86 refactor 2021-04-02 11:09:12 +11:00
Jesse Duffield 8dee06f83a allow toggling tree view for commit files panel 2021-04-02 11:00:15 +11:00
Jesse Duffield da6fe01eca allow toggling on/off file tree mode 2021-03-30 21:57:00 +11:00
Jesse Duffield cd0532b4d6 allow ignoring directories 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
1jz 50dd7b00c3 add colors to differentiate action and menu commands 2021-02-16 13:52:04 -08: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
Farzad Majidfayyaz 79888d3bde Add mapping to copy a pull request URL to the clipboard 2020-11-19 09:43:51 +11:00
Jesse Duffield b1dd3c4866 support rebinding confirm/newline keys in editor 2020-10-13 08:21:09 +11:00
nullawhale 1ff405edd8 Copy a commit message to clipboard: Changes to latest version 2020-10-12 21:04:01 +11:00
Jesse Duffield 4c9ec88be5 fix mutex deadlock 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
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 37bb89dac3 type i18n 2020-10-10 00:23:01 +11:00
Jesse Duffield 4912205adb remove viper
WIP
2020-10-10 00:23: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 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 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 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 a09bb5d4d8 better validation messages 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 dd29ee7288 convert to string in a better way because I'm pretty sure alpine needs it 2020-09-26 11:12:47 +10:00
Yuki Osaki 1fd89b4f46 Be able to copy file name 2020-09-21 15:35:50 +10: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 66bd86b9b7 set keybindings after initialising views 2020-08-23 17:49:58 +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 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 974c6510b8 add sub commit context 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 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 99707a527d WIP 2020-08-23 14:29:18 +10:00
Jesse Duffield bc410d8e4a use camelCase 2020-08-23 14:29:18 +10:00
Jesse Duffield e4beaf4de9 more stuff 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 ac0eedda91 lots more stuff 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 44d8b3e8f3 allow overriding default confirm/escape keybindings 2020-08-17 18:22:57 +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 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 c44ee71ad4 update cheatsheet 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 27cd12e2d9 accept umlaut keybindings 2020-08-12 20:07:56 +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 003e45d2f5 allow creating branches off of remote branches 2020-05-19 09:57:37 +10:00
Jesse Duffield 2974a57943 support copying stuff to clipboard 2020-04-15 10:44:56 +00: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 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 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 83757f1065 limit size of menu panel 2020-03-26 21:44:33 +11:00
Jesse Duffield daecdd7c2b redoing 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 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 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 e47ad846c4 big golangci-lint cleanup 2020-03-09 12:23:13 +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 fdb543fa7d add half and fullscreen modes 2020-02-25 08:45:30 +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 0f0da9c32a fix wording 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 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
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 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 80377e4716 add git flow support 2020-01-08 22:03:15 +11:00
David Chen 205d731d7b added a seperate keybinding option for checking out commits 2020-01-07 19:14:54 -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
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 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
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 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 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 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 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 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