Commit graph

1333 commits

Author SHA1 Message Date
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 cc7ea736bb Change the descriptions to lowercase 2020-09-21 15:35:50 +10:00
Yuki Osaki 9dfe1bbadf Update pkg/i18n/english.go
Co-authored-by: Jesse Duffield <jessedduffield@gmail.com>
2020-09-21 15:35:50 +10:00
Yuki Osaki 1fd89b4f46 Be able to copy file name 2020-09-21 15:35:50 +10:00
Jesse Duffield 307d051ec2 smarter checking of git version 2020-09-18 21:02:27 +10:00
Jesse Duffield 14c8b80494 show loading state when amending top commit 2020-09-18 07:58:16 +10:00
Lakshay Garg 10dde518bc Fix numbering in Dutch IntroPopupMessage 2020-09-18 07:47:01 +10:00
Lakshay Garg 1e1c90c92e Fix numbering in English IntroPopupMessage 2020-09-18 07:47:01 +10:00
Jesse Duffield 4954791443 fix test 2020-09-18 07:46:12 +10:00
Jesse Duffield c471f4927a fix test 2020-09-02 20:55:53 +10:00
Jesse Duffield 9eba98302e ensure that when a branch name is ambiguous we still show the correct colours 2020-09-02 10:40:50 +00: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
Francisco Miamoto 86f296a898 add config 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 5611d9a3ef gracefully fail due to git version less than 2.0 2020-08-27 12:21:37 +00: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 30a066aa41 remove redundant test 2020-08-27 19:29:22 +10:00
Jesse Duffield 1dcc3363d0 support branches with no upstream 2020-08-27 17:05:07 +10:00
Jesse Duffield c6948582e6 better way of knowing which commits are unpushed 2020-08-26 22:45:55 +00: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 afd669194a use clipboard package to handle clipboard stuff 2020-08-26 07:53:43 +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 771e87ebeb do not reset cursor unless previous file has moved position 2020-08-24 22:39:01 +00:00
Jesse Duffield e2f3b2b41f add log when git status errors 2020-08-25 08:04:45 +10:00
Jesse Duffield 7ebb8343d1 ignore warning messages about files when obtaining file statuses 2020-08-24 11:53:17 +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 95a4ca6f8e remove todo comment 2020-08-23 14:29:18 +10:00
Jesse Duffield 23432dd909 remove test 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 30a555b108 don't needlessly load every file 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