Jesse Duffield
18f48a43d5
add some more linters
2022-01-09 14:09:53 +11:00
Jesse Duffield
364c5db19c
shorten name
2022-01-09 14:09:53 +11:00
Jesse Duffield
ee8ff6512f
trim down gitcommand struct some more
2022-01-09 14:09:53 +11:00
Jesse Duffield
f503ff1ecb
start breaking up git struct
2022-01-09 14:09:53 +11:00
Jesse Duffield
91fe68576c
refactor
2022-01-07 10:52:51 +11:00
Jesse Duffield
05fa483f48
simplify how we log commands
2022-01-07 10:52:51 +11:00
Jesse Duffield
66e840bc3f
more refactoring
2022-01-04 09:07:15 +11:00
Jesse Duffield
b028f37ba8
updating specs
2022-01-04 09:07:15 +11:00
Jesse Duffield
1fc0d786ae
better typing for rebase mode
2022-01-04 09:07:15 +11:00
Jesse Duffield
43a4fa970d
WIP
2022-01-04 09:07:15 +11:00
Jesse Duffield
01ea5813a8
align Gui struct with GitCommand
2022-01-04 09:07:15 +11:00
Jesse Duffield
b4c078d565
WIP
2022-01-04 09:07:15 +11:00
Jesse Duffield
927ee63106
support aborting a merge or rebase with esc
2021-11-01 09:18:30 +11:00
Jesse Duffield
6388af70ac
simplify pull logic
2021-10-22 21:33:17 +11: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
e42e7e5cbd
fix commit amend
2021-04-10 11:54:38 +10:00
Jesse Duffield
0898a7bb57
refactor
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
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
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
72af7e4177
factor out code from git.go
2020-09-29 20:48:49 +10:00
Jesse Duffield
d2d88fe64e
fix focus change on merge popup return
2020-08-23 19:28:59 +10:00
Jesse Duffield
94601b4dc9
use context to return to the correct view
2020-08-23 14:29:18 +10:00
Jesse Duffield
9b7a6934b3
more removing of g
2020-08-15 18:01:43 +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
517b7d0283
fix up some things with the patch handling stuff
2020-03-28 13:19:35 +11:00
Jesse Duffield
a9559a5c87
move working tree state function into git.go
2020-03-28 13:19:35 +11:00
Jesse Duffield
814ee24c8d
better error handling
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
e47ad846c4
big golangci-lint cleanup
2020-03-09 12:23:13 +11:00
Jesse Duffield
8eb0b0f4ca
do not close over variables in a function
2020-02-25 22:09:43 +11:00
Jesse Duffield
5b9996b16f
remove old createMenu function
2020-02-15 08:47:36 +11:00
Jesse Duffield
eb9134685a
refactor rebase menu panel
2020-02-15 08:47:36 +11:00
Jesse Duffield
e85310c0a9
add mouse support
2019-11-10 22:32:13 +11:00
Jesse Duffield
1a38bfb76d
do not return focus to commitsFiles view after selecting to start a new patch
2019-11-05 19:22:01 +11:00
Jesse Duffield
2344155379
handle empty commit in rebase
2019-11-05 19:22:01 +11:00
Jesse Duffield
d84dfc23e7
Rely on model rather than view to focus a point
...
Currently when we want to focus a point on a view (i.e. highlight a
line and ensure it's within the bounds of a view's box, we use the
LinesHeight method on the view to work out how many lines in total
there are.
This is bad because for example if we come back from editing a file,
the view will have no contents so LinesHeight == 0, but we might
be trying to select line 10 because there are actual ten things we
expect to be rendered already. This causes a crash when e.g. 10 is
greater than the height of the view.
So we need to pass in to our FocusPoint method the actual number of
items we want to render, rather than having the method rely on the
LinesHeight, so that the method knows to scroll a bit before setting
the cursor's y position.
Unfortunately this makes for some awkward code with our current setup.
We don't have a good interface type on these state objects so we now
need to explicitly obtain the len() of whatever array we're rendering.
In the case of the menu panel this is even more awkward because the items
list is just an interface{} and it's not easy to get the list of that, so
now when we instantiate a menu we need to pass in the count of items
as well.
The better solution would be to define an interface with a getItems
and getLength method and have all these item arrays become structs
implementing the interface, but I am too lazy to do this right now :)
2019-03-23 11:54:25 +11:00
Jesse Duffield
790235f64b
add another match on the error message to tell us we've encountered merge conflicts
2019-03-02 21:31:48 +11:00
Jesse Duffield
cb372d469f
fix golangci errors
2019-02-16 21:30:29 +11:00
Jesse Duffield
e011e9bc42
more work on rebasing feature
2019-02-16 21:01:17 +11:00
Jesse Duffield
ad93b4c863
consider whether the view has focus when rendering the contents of a view
2019-02-16 15:17:44 +11:00
Jesse Duffield
75ab8ec4d9
catch rebase errors and show in error panels
2019-02-11 21:29:47 +11:00
Jesse Duffield
a365615490
only use subprocess for merging, not rebasing
2018-12-11 22:16:48 +11:00
Jesse Duffield
9489a94473
Make merge panel its own panel
2018-12-11 22:02:12 +11:00