Jesse Duffield
92e43d9e77
allow changing tabs with [ and ]
2019-11-21 22:07:14 +11:00
Jesse Duffield
325408d0e3
get remote branches when getting remotes
2019-11-21 22:07:14 +11:00
Jesse Duffield
eeb667954f
trying to use gogit with branches from remotes
2019-11-21 22:07:14 +11:00
Jesse Duffield
8aa1062e06
extract out some logic for list views
2019-11-21 22:07:14 +11:00
Jesse Duffield
7e0a8f235e
add contexts to views
2019-11-21 22:07:14 +11:00
Jesse Duffield
e6be849eb2
add remotes context to branches view
2019-11-21 22:07:14 +11:00
Jesse Duffield
092f27495a
add remote model
2019-11-21 22:07:14 +11:00
Jesse Duffield
f15e47bb67
add file watching for modified files
...
log createErrorPanel error
swallow error when adding file to watcher
2019-11-14 22:22:47 +11:00
Jesse Duffield
7995d56a85
allow editing or opening a file while resolving merge conflicts
2019-11-14 22:22:47 +11:00
Jesse Duffield
3b1d705473
show upstream branch for branch
2019-11-13 22:25:42 +11:00
Jesse Duffield
f43ba728e3
prompt to set upstream when pulling on untracked branch
...
prompt to set upstream when pulling on untracked branch
2019-11-13 21:36:16 +11:00
Jesse Duffield
b907c74386
remove go-getter
2019-11-12 22:58:01 +11:00
Jesse Duffield
12b84307ac
specify upstream when pushing a branch for the first time
2019-11-11 23:30:30 +11:00
Jesse Duffield
cbc82cd3c1
allow for changing the current directory on exit
...
For this to work you'll need to put this in your ~/.zshrc (or equivalent rc file):
lg()
{
export LAZYGIT_NEW_DIR_FILE=/Users/jesseduffieldduffield/Library/Application\ Support/jesseduffield/lazygit/.lastd
lazygit "$@"
if [ -f $LAZYGIT_NEW_DIR_FILE ]; then
cd "$(cat $LAZYGIT_NEW_DIR_FILE)"
rm -f $LAZYGIT_NEW_DIR_FILE > /dev/null
fi
}
2019-11-11 21:45:31 +11:00
Jesse Duffield
e174e5254d
support clicking through to commit files panel
2019-11-10 22:32:13 +11:00
Jesse Duffield
de5bcb8b9c
add some shameless self promotion
2019-11-10 22:32:13 +11:00
Jesse Duffield
98666186ee
add '?' keybinding for opening options menu
2019-11-10 22:32:13 +11:00
Jesse Duffield
941d3c6648
allow secondary view to be scrolled
2019-11-10 22:32:13 +11:00
Jesse Duffield
df72eee201
don't try to give a logrus entry object to gocui
2019-11-10 22:32:13 +11:00
Jesse Duffield
131113b065
simplify how the context system works
2019-11-10 22:32:13 +11:00
Jesse Duffield
e85310c0a9
add mouse support
2019-11-10 22:32:13 +11:00
Jesse Duffield
cd17b46b55
reset patch builder when we've escaped from the building phase and nothing has been added
2019-11-10 16:18:25 +11:00
Jesse Duffield
d0d92c7697
remove old add patch keybinding
2019-11-10 15:01:40 +11:00
Jesse Duffield
194c554357
support ours/theirs merge conflict headers
2019-11-08 09:31:27 +11:00
Jesse Duffield
2f37c0caaf
fix tests
2019-11-05 19:22:01 +11:00
Jesse Duffield
86a39e3aea
only test with non-original header
2019-11-05 19:22:01 +11:00
Jesse Duffield
326b1ca8c9
better titles
2019-11-05 19:22:01 +11:00
Jesse Duffield
72fe770974
better interface for ApplyPatch function
2019-11-05 19:22:01 +11:00
Jesse Duffield
db8c398fa3
strip whitespace when there is nothing else
2019-11-05 19:22:01 +11:00
Jesse Duffield
861bcc38be
fix ambiguous condition
2019-11-05 19:22:01 +11:00
Jesse Duffield
cd3874ffb7
don't let patch manager ever be nil
2019-11-05 19:22:01 +11:00
Jesse Duffield
10fe88a2cf
more work on managing focus when applying patch command
2019-11-05 19:22:01 +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
beaebb7dc7
handling when to show the split panel
2019-11-05 19:22:01 +11:00
Jesse Duffield
6d5d054c30
support line by line additions in staging and patch building contexts
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
48347d4d86
use fallback approach for applying patch
2019-11-05 19:22:01 +11:00
Jesse Duffield
61deaaddb7
reorder patch command options
2019-11-05 19:22:01 +11:00
Jesse Duffield
0046e9c469
create backups of patch files in case something goes wrong
2019-11-05 19:22:01 +11:00
Jesse Duffield
733145d132
clear patch after successful patch operation
2019-11-05 19:22:01 +11:00
Jesse Duffield
f285d80d0e
move PatchManager to GitCommand
2019-11-05 19:22:01 +11:00
Jesse Duffield
0ffccbd3ee
checks for if we're in a normal working tree state
2019-11-05 19:22:01 +11:00
Jesse Duffield
1fc120de2d
better rebase args
2019-11-05 19:22:01 +11:00
Jesse Duffield
d5e443e8e3
Support building and moving patches
...
WIP
2019-11-05 19:22:01 +11:00
Jesse Duffield
a3c84296bf
use array of ints instead of range
2019-11-05 19:22:01 +11:00
Jesse Duffield
cc039d1f9b
don't unsplit main panel unconditionally on focus lost
2019-11-05 19:22:01 +11:00
Dawid Dziurla
2484ec9c11
fix headerRegexp
2019-11-05 19:22:01 +11:00
Dawid Dziurla
5f9de1f034
please golang-ci
2019-11-05 19:22:01 +11:00
Jesse Duffield
11e57edbb3
use v keybindings instead of c
2019-11-05 19:22:01 +11:00
Jesse Duffield
820f3d5cbb
support split view in staging panel and staging ranges
2019-11-05 19:22:01 +11:00
Jesse Duffield
081598d989
rewrite staging to support line ranges and reversing
...
Now we can stage lines by range and we can also stage reversals
meaning we can delete lines or move lines from the working tree
to the index and vice versa.
I looked at how a few different git guis achieved this to iron out
some edge cases, notably ungit and git cola. The end result is
disstinct from both those repos, but I know people care about
licensing and stuff so I'm happy to revisit this if somebody
considers it derivative.
2019-11-05 19:22:01 +11:00
Giorgio Previtera
a1c6619401
\#480 Close popup panels before switching to a side view
...
Reusing the `onNewPopupPanel` function to close existing popup panels
(if any) before switching to a new side view. Alse closing any
confirmation prompt.
2019-10-27 12:39:08 +11:00
Giorgio Previtera
3524f6baa9
480 - remove duplication by using a decorator
...
Also use a for loop to append the new keybindings
2019-10-27 12:39:08 +11:00
Giorgio Previtera
ac5cbc1d2c
#480 Allow cycling side panels with number keys
2019-10-27 12:39:08 +11:00
mjarkk
a045313e08
Removed the pkg/gui/theme.go file
...
Moved most functions to the new theme/theme.go
2019-10-20 12:32:57 +11:00
mjarkk
02fef3136f
Added light theme option to the settings
2019-10-20 12:32:57 +11:00
Dawid Dziurla
379dcf0972
UserConfigPath -> UserConfigDir
2019-09-24 19:01:40 +10:00
Dawid Dziurla
0d25d113c9
download updated binary to config dir rather than /tmp
2019-09-24 19:01:40 +10:00
matejcik
600112780c
use git.autoFetch config option
2019-09-08 11:20:15 +10:00
matejcik
4c73c8889f
move git config options to top-level in default config
2019-09-08 11:20:15 +10:00
matejcik
68d5c2bc10
use gui.g directly
2019-09-08 11:20:15 +10:00
matejcik
7db1fee877
startBackgroundFetch does not return errors
2019-09-08 11:20:15 +10:00
matejcik
8f786e3fd9
configurable auto-fetch
2019-09-08 11:20:15 +10:00
Dawid Dziurla
e0dd1cb29d
switch to Go modules
2019-09-01 21:24:03 +10:00
Giorgio Previtera
827837b0b9
477 Remove unnecessary variable check
...
hasInlineMergeConflicts is always true with hasMergeConflicts is true
2019-07-27 11:05:23 +10:00
Giorgio Previtera
e83ef9858b
#477 Remove NeedMerge
boolean
...
Instead of storing the status in a new variable, derive it from
the existing three fields
2019-07-27 11:05:23 +10:00
Giorgio Previtera
504d506575
477 Add new NeedReset
property to File and update tests
...
Use a boolean to determin if a file needs to be reset. We want to reset
the file when discrading changes if there is a conflict.
2019-07-27 11:05:23 +10:00
Giorgio Previtera
823b436b53
477 Remove duplicate checkout
...
We already checout the file calling `c.DiscardUnstagedFileChanges`
2019-07-27 11:05:23 +10:00
Giorgio Previtera
212327d746
#477 Discard changes when there are merge conflicts
...
If there are merge conflicts, reset the file and discard all changes
2019-07-27 11:05:23 +10:00
Christian Muehlhaeuser
cc138fc70e
Simplified boolean comparison
2019-07-27 10:55:21 +10:00
Christian Muehlhaeuser
d953712377
err was assigned but never checked
2019-07-27 10:55:01 +10:00
Christian Muehlhaeuser
69ac0036e6
Swallow errors entirely, instead of assigning and ignoring them
2019-07-27 10:53:19 +10:00
Christian Muehlhaeuser
975a5315b0
Simplified code a bit
2019-07-27 10:52:06 +10:00
Christian Muehlhaeuser
8f734b11e3
Removed unnecessary string conversion
2019-07-27 10:51:17 +10:00
Jesse Duffield
75db4faf69
show actual error when trying to check out a branch that doesn't exist
2019-07-14 14:31:48 +10:00
haowei
e1f5601d4b
fix typo
2019-07-14 14:24:59 +10:00
Giorgio Previtera
b60ecdaa24
472 - Update error message
2019-07-14 14:24:18 +10:00
Giorgio Previtera
9fb9962ce7
472 - Don't panic if not in a repository
...
Display a friendly message and exit with an error if not
in a Git repository. Using the same approach used in this PR:
https://github.com/jesseduffield/lazydocker/pull/14/files
2019-07-14 14:24:18 +10:00
Jesse Duffield
b8baef7b8f
use fork of roll that doesn't care about errors
2019-06-29 20:56:46 +10:00
Jesse Duffield
235a47bb80
Revert "emergency situation: we're not logging to rollrus while we're past the request quota"
...
This reverts commit c107eed890
.
2019-06-29 20:56:46 +10:00
Jesse Duffield
c107eed890
emergency situation: we're not logging to rollrus while we're past the request quota
2019-06-24 12:29:44 +10:00
Jesse Duffield
abddea060e
revert menu panel error panel usage
2019-06-08 20:29:25 +10:00
Jesse Duffield
3e40369fd2
add GIT_OPTIONAL_LOCKS=0 env var to all commands
2019-06-06 20:53:35 +10:00
Jesse Duffield
0f0fda1660
allow stashing staged changes
...
reinstate old stash functionality with the 's' keybinding
2019-06-06 20:50:19 +10:00
Jesse Duffield
bd2170a99c
request explicit return from subprocess
...
Previously we were recording output from subprocesses using a multiwriter
and hooking that up to the cmd's stdout to write to both os.Stdout and
a buffer. We would then display the output after the program finished.
This worked well for commands like 'ls' but not for commands like 'vi'
which expect you to be in a tty, and when you've got the cmd's stdout
pointing at a multiwriter, the subprogram thinks we're not in a tty
and then things like terminal corruption can happen. This was the case
with neovim, and even in vim a warning was given with a pause before
starting the program.
Now we're chucking out the multiwriter and instead making it that you
need to press enter after the program has finished to return to lazygit.
This allows you to view the output of the program (e.g. if it's ls) and
then decide that you want to return. It's one level of unnecessary
redirection for editors like vim, but even they could potentially have
output to stderr/stdout that you want to look at before returning.
Please enter the commit message for your changes. Lines starting
2019-05-26 21:19:54 +10:00
Jesse Duffield
c039e5bed0
support going to start/end of line and deleting lines in simple editor
2019-05-26 12:42:17 +10:00
Jesse Duffield
527c025a0c
use shift+j/k to scroll main, ctrl+j/k to move commits
2019-05-25 16:48:17 +10:00
Jesse Duffield
53cded77f1
fix padding with coloures strings
2019-05-19 15:25:33 +10:00
Jesse Duffield
4a4dc676fc
simplify code for logging output of subprocess
2019-05-18 11:30:10 +10:00
Jesse Duffield
c61bfbdd4c
Support opening lazygit in a submodule
2019-05-12 17:59:49 +10:00
Suhas Karanth
e38d9d5f22
Add alternatives for scroll actions to context map
2019-05-12 16:20:42 +10:00
Suhas Karanth
97f060d38d
Add field Alternative to gui.Binding
...
Document and use alternative keybinding for generating cheatsheet. Add
alt keybinding fn+up/down for scroll up/down actions.
Also run `go run scripts/generate_cheatsheet.go`.
2019-05-12 16:20:42 +10:00
mjarkk
8754d766e2
Made not enough space pannel looks better on 1 height
2019-05-07 08:47:41 +02:00
mjarkk
2388c3ee9a
Fixed some sugestions from jesseduffield
2019-05-06 20:04:54 +02:00
Mark Kopenga
61890cb9de
Merge branch 'master' into smaller-ui
2019-05-06 15:24:36 +02:00
Jesse Duffield
5a0d0bb299
support resetting to a commit in either soft, hard, or mixed mode
2019-05-06 22:44:38 +10:00
Jesse Duffield
2746b1bd38
Prevent crash when opening in small window
...
We were crashing when opening lazygit in a small window because the limit view
was the only view that got created, and there were two functions that referenced
either the 'current' view or the files view, neither of which existed.
Now those functions just return nil if the view does not exist
2019-05-06 22:39:35 +10:00
Suhas Karanth
e09aac6450
Improve directory check for .git
...
Return error if the .git exists but is not a directory. This provides a
slightly better failure message for git repo with submodules in case
the '.git' is a file which provides the reference to the parent's .git
folder with the submodule inside.
2019-05-06 21:37:42 +10:00
mjarkk
19a6368377
Changed the way how the view height are set
2019-05-05 15:57:35 +02:00
mjarkk
492614ebc7
Made the ui even smaller
2019-04-26 08:24:14 +02:00