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