Commit Graph
1216 Commits
Author SHA1 Message Date
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 9d8fd3594e remove go modules
Perhaps one day we'll revisit this, but right now supporting go modules is just a headache.
Dep does everything we need and it's really easy to work with, and given that supporting both simultaneously is too cumbersome, and I'm too lazy to make the switch to go modules properly, I'm sticking with go dep for now.
2019-03-22 21:28:25 +11:00
Jesse Duffield e68dbeb7eb organise keybindings better 2019-03-22 20:20:06 +11:00
skanehiraandJesse Duffield 32ddf0c296 generate commit files keybind 2019-03-18 09:49:23 +11:00
skanehiraandJesse Duffield c453bfeb32 generate the cheatsheet for each supported language 2019-03-18 09:49:23 +11:00
skanehiraandJesse Duffield f6ca450d36 add commit files keybind to Keybindings_en.md 2019-03-18 09:49:23 +11:00
Jesse Duffield d5f617ec92 show some more errors in the gui rather than panicking 2019-03-16 12:51:48 +11:00
Jesse Duffield 6d104bfa91 show file remove error in gui rather than panic 2019-03-16 12:51:48 +11:00
Jesse Duffield e583cc2519 allow autostashing changes when checking out a branch 2019-03-16 12:51:48 +11:00
Kristijan HusakandJesse Duffield 0d208b7957 Update bitbucket pull request url. 2019-03-16 11:58:26 +11:00
Jesse Duffield 43e5c042a2 prompt user to git init when outside a repo 2019-03-16 11:38:16 +11:00
Jesse Duffield 39844ffef9 allow a LOG_LEVEL env var to be set 2019-03-16 10:52:30 +11:00
Jesse Duffield f5c8aac97d add two more tests 2019-03-16 10:20:27 +11:00
Jesse Duffield b6447ebdbb allow adding a file viewed from the commit files panel 2019-03-16 10:20:27 +11:00
Jesse Duffield 466fc4227e fix tests 2019-03-16 10:20:27 +11:00
Jesse Duffield c034c88be4 display test name when running tests 2019-03-16 10:20:27 +11:00
Jesse Duffield 72830efc45 add some tests 2019-03-16 10:20:27 +11:00
Jesse Duffield c98eddc185 appease golangci 2019-03-16 10:20:27 +11:00
Jesse Duffield 3b2353b5ae remove redundant call to refreshCommitFilesView
We already call this function inside the refreshCommitsView function.
We call it there because it's logical that A) one occurs whenever the other does and
B) the commit files only get refreshed after we've updated the commits themselves
2019-03-16 10:20:27 +11:00
Jesse Duffield 3f567c952c i18n for error message about a feature being disabled for GPG users 2019-03-16 10:20:27 +11:00
Jesse Duffield 4f7f6a073c allow user to discard old file changes for a given commit 2019-03-16 10:20:27 +11:00
Jesse Duffield 0e008cc15f allow user to checkout old files 2019-03-16 10:20:27 +11:00
Jesse Duffield 1ad9c6faac minor cleanup 2019-03-16 10:20:27 +11:00
skanehiraandJesse Duffield 06fe726ee7 Add feature of display committed file list #383 2019-03-16 10:20:27 +11:00
skanehiraandJesse Duffield 1b6e46973e remove the -o option from Dockerfile 2019-03-08 15:51:23 +11:00
Jesse Duffield 63e2ccfccf bump go version in CI v0.7.2 2019-03-05 21:56:23 +11:00
Jesse Duffield 6fd4d49db7 update go.sum 2019-03-05 21:56:23 +11:00
Jesse Duffield 2393bc791d fix cpu drainage issue 2019-03-05 21:56:23 +11:00
Jesse Duffield 398f91decb Merge branch 'master' of https://github.com/jesseduffield/lazygit 2019-03-04 20:40:51 +11:00
Jesse Duffield c937a93f79 yet another rebase image for the readme 2019-03-04 20:40:46 +11:00
Jesse DuffieldandGitHub 9402d8b0c0 Update README.md 2019-03-04 20:39:00 +11:00
Jesse Duffield 2a0615da10 get higher res image of rebasing 2019-03-04 20:37:25 +11:00
Jesse Duffield 4be5eaae7b update readme again 2019-03-04 20:32:17 +11:00
Jesse Duffield 038dcb546e update readme with new keybindings link 2019-03-03 23:44:50 +11:00
Jesse Duffield 1184990e16 move updated keybindings file v0.7.1 2019-03-03 23:27:19 +11:00
Jesse Duffield ac5088eee6 allow both enter and space to execute menu item v0.7 2019-03-03 23:18:28 +11:00
Jesse Duffield e36899d5c5 prevent crashes when scrolling up 2019-03-03 23:08:07 +11:00
Jesse Duffield 403526bc50 bump go mod 2019-03-03 16:15:52 +11:00
Jesse Duffield a5d27764cd support user configuring mouse events to be enabled 2019-03-03 16:15:20 +11:00
Jesse Duffield 43758cbb5f i18n for rebase loading states 2019-03-03 16:11:20 +11:00
Jesse Duffield 0079015102 distinguish between inline and non-inline merge conflicts 2019-03-03 15:58:01 +11:00
Jesse Duffield 7a2176f479 acknowledge 'DU' statuses as being merge conflicts 2019-03-03 15:48:16 +11:00
Jesse Duffield e0bdfad63a don't crash if we have no lines to stage 2019-03-03 15:48:01 +11:00
Jesse Duffield f07fc31f8b fixup layout issue that was causing crashes when the window was too small 2019-03-03 15:34:53 +11:00
Jesse Duffield 4bb577ab7d show loading status for rebasing events 2019-03-03 15:21:33 +11:00
Jesse Duffield 8305d8e72f hide donate button if mouse events are disabled 2019-03-03 15:21:20 +11:00
Jesse Duffield f68166e858 bump gocui to stop polling events after closing the gui when switching to a subprocess 2019-03-03 14:20:25 +11:00
Jesse Duffield 8925b161a7 windows support for skipping the editor 2019-03-03 12:44:10 +11:00
Jesse Duffield 0a1298765c use sh intead of bash for the sake of testing on the docker image 2019-03-02 21:31:48 +11:00
Jesse Duffield 273678f081 fix issue where you couldn't rearrange commits while rebasing onto a branch 2019-03-02 21:31:48 +11:00