Jesse Duffield
604ee02cd9
ignore east asian width setting to avoid broken frame rendering
2021-04-19 23:06:05 +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
06a8eb115c
make command log size configurable
2021-04-11 23:36:34 +10:00
Jesse Duffield
0bebfe454e
pull out function
2021-04-11 23:36:34 +10:00
Jesse Duffield
393ce05860
allow focusing on command log view
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
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
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
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
4f700c23ba
fix crash on first open
2021-04-07 22:59:53 +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
f09309485a
remove time limit
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
7bc6dc5cf3
show branches context when starting in filtering mode
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
4fe512ff3a
test
...
type safe view access
2021-04-06 19:34:32 +10:00
Jesse Duffield
4b69ab08c1
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
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
1fb2317bac
use true output mode
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
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
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
332a3c4cbf
file tree for commit files
2021-04-02 11:00:15 +11:00
Jesse Duffield
e52cec9cdf
small 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
6fc3c03c4b
allow configuring to show file tree on startup
2021-03-30 21:57:00 +11:00
Jesse Duffield
a31db3df9c
support toggling collapsed
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
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
Nick Flueckiger
6f0f70bd92
Adding setup and config
2021-02-08 14:25:24 -08: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
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
Jesse Duffield
682db77401
fix lint errors
2020-11-18 08:36:19 +11:00
Jesse Duffield
63f6d0c036
release notes in status panel
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
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
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
Jesse Duffield
7b4a0f20b2
add submodules context
2020-10-02 08:09:42 +10:00
Jesse Duffield
ce6f8ed1bc
move models folder into commands folder
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
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
077f113618
add in-built logging support for a better dev experience
2020-09-26 11:00:50 +10:00
Jesse Duffield
40bec49de8
more efficient refreshing of rebase commits
2020-08-27 21:51:07 +10:00
Jesse Duffield
45a0378c01
do not create error panel for sentinel errors
2020-08-25 22:21:15 +00:00
Jesse Duffield
44ee28bb2e
support alacritty
2020-08-24 09:19:56 +10:00
Jesse Duffield
0f7003d939
allow spamming the p key
2020-08-23 11:30:29 +00:00
Jesse Duffield
66bd86b9b7
set keybindings after initialising views
2020-08-23 17:49:58 +10:00
Jesse Duffield
94601b4dc9
use context to return to the correct view
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
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
148f601bcb
cleanup now that we're always using the same diff command
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
974c6510b8
add sub commit context
2020-08-23 14:29:18 +10:00
Jesse Duffield
59f5f5c1af
refactor
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
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
419cb9feb8
more standardisation
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
a12d18146c
better logic for taking focus away from popup panels
2020-08-23 14:29:18 +10:00
Jesse Duffield
c9ae54a8c8
remove previous view
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
4f4bb40ea6
support opening lazygit outside a git directory
2020-08-16 22:59:58 +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
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
826d1660c9
move patch stuff into its own package
2020-08-15 11:41:37 +10:00
Jesse Duffield
fcd5aea04e
support multiple modes of git pull
2020-08-12 18:47:16 +10:00
Jesse Duffield
79e73d2eff
minor cleanup
...
WIP
2020-08-12 18:47:16 +10:00
Jesse Duffield
cf5cefb2d6
allow user to scroll themselves inside merge panel
2020-05-19 18:44:53 +10: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
8822c409e2
split reflog commits into ReflogCommits and FilteredReflogCommits
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
814ee24c8d
better error handling
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
f7add8d788
smarter refreshing for tags and remotes
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
61b4bbf74e
clean up signature
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
efb51eee96
more efficient refreshing
2020-03-28 11:59:45 +11:00
Jesse Duffield
83757f1065
limit size of menu panel
2020-03-26 21:44:33 +11:00
Jesse Duffield
c3aefdb98e
stateless undos and redos
2020-03-25 09:39:04 +11:00
Jesse Duffield
daecdd7c2b
redoing
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
3aab37611a
show status of selected cherry picked commits
2020-03-19 21:42:21 +11:00
Jesse Duffield
1be0ff8da7
better upstream tracking and allow renaming a branch
2020-03-18 21:29:06 +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
31e201ca52
allow configuring side panel width
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
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
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
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
fabdda0492
allow customizing background color in staging mode
2020-02-23 18:37:19 +11:00
Jesse Duffield
f062e1dcda
ignore carriage returns
2020-02-09 16:43:02 +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
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