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
ca105692cf
fix windows build
2020-09-29 20:48:49 +10:00
Jesse Duffield
ce6f8ed1bc
move models folder into commands folder
2020-09-29 20:48:49 +10:00
Jesse Duffield
83748d78f8
fix tests
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
1767f91047
factor out code for loading models
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
c87b2c02fa
fix tests
2020-09-29 18:21:59 +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
b882ac9e06
support nuking all submodules
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
72a31aed76
support opening lazygit in a symlinked submodule
2020-09-29 17:48:21 +10:00
Jesse Duffield
59e117738d
missed a spot
2020-09-29 17:42:07 +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
97af7e677b
support bare repositories
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
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