Stefan Haller
c5acbb6c7c
Bump gocui
2023-08-02 11:35:36 +02:00
Stefan Haller
4aca854b59
Point tcell at stefanhaller's fork
...
This is temporary as long as https://github.com/gdamore/tcell/pull/599 is not
merged. Once that PR is merged, we can revert this.
2023-08-02 11:35:36 +02:00
Jesse Duffield
975d2bedb6
Remove secureexec package
...
From the go 1.19 release notes:
Command and LookPath no longer allow results from a PATH search to be found relative to the current directory. This removes a common source of security problems but may also break existing programs that depend on using, say, exec.Command("prog") to run a binary named prog (or, on Windows, prog.exe) in the current directory. See the os/exec package documentation for information about how best to update such programs.
2023-07-30 19:59:51 +10:00
Jesse Duffield
2d4706e96e
fix go mod
2023-07-30 18:36:04 +10:00
Jesse Duffield
7b302d8c29
Write unit tests with the help of afero
...
Afero is a package that lets you mock out a filesystem with an in-memory filesystem.
It allows us to easily create the files required for a given test without worrying about
a cleanup step or different tests tripping on eachother when run in parallel.
Later on I'll standardise on using afero over the vanilla os package
2023-07-30 18:35:36 +10:00
hatredholder
75674d819c
bring back yaml library fork
2023-07-26 12:50:39 +03:00
Jesse Duffield
8637587b82
Better word wrap
...
Word wrapping has been pretty bad so far so let's fix that.
2023-07-23 11:43:10 +10:00
Jesse Duffield
866e0a618b
Add integration test for accordion mode
2023-07-19 22:17:29 +10:00
Jesse Duffield
be02786dad
Fix accordion issue
...
This fixes the issue in accordion mode where the current line wasn't in the viewport upon focus.
It doesn't perfectly fix it: the current line always appears at the top of the view. But it's good enough
to cut a new release. The proper fix is to only focus the line after the view has had its height adjusted.
2023-07-19 20:39:10 +10:00
Jesse Duffield
6b9390409e
Use an interface for tasks instead of a concrete struct
...
By using an interface for tasks we can use a fake implementation in tests with extra methods
2023-07-10 17:12:21 +10:00
Jesse Duffield
14ecc15e71
Use first class task objects instead of global counter
...
The global counter approach is easy to understand but it's brittle and depends on implicit behaviour that is not very discoverable.
With a global counter, if any goroutine accidentally decrements the counter twice, we'll think lazygit is idle when it's actually busy.
Likewise if a goroutine accidentally increments the counter twice we'll think lazygit is busy when it's actually idle.
With the new approach we have a map of tasks where each task can either be busy or not. We create a new task and add it to the map
when we spawn a worker goroutine (among other things) and we remove it once the task is done.
The task can also be paused and continued for situations where we switch back and forth between running a program and asking for user
input.
In order for this to work with `git push` (and other commands that require credentials) we need to obtain the task from gocui when
we create the worker goroutine, and then pass it along to the commands package to pause/continue the task as required. This is
MUCH more discoverable than the old approach which just decremented and incremented the global counter from within the commands package,
but it's at the cost of expanding some function signatures (arguably a good thing).
Likewise, whenever you want to call WithWaitingStatus or WithLoaderPanel the callback will now have access to the task for pausing/
continuing. We only need to actually make use of this functionality in a couple of places so it's a high price to pay, but I don't
know if I want to introduce a WithWaitingStatusTask and WithLoaderPanelTask function (open to suggestions).
2023-07-09 21:30:19 +10:00
Jesse Duffield
631cf1e873
Bump gocui
...
This includes new gocui logic for tracking busy/idle program state
2023-07-08 22:26:28 +10:00
Jesse Duffield
1a36cb9f3f
View filtering ( #2680 )
2023-07-03 12:57:11 +10:00
Jesse Duffield
4df353d006
Bump gocui
2023-07-02 15:47:04 +10:00
Gustavo Krieger
87fe30d50d
Bump git-todo-parser
2023-07-02 02:07:32 -03:00
Jesse Duffield
4ff02bd3b7
Add integration test for commit highlighting on focus
...
A better refactor would be to allow matchers to assert against either a string or a slice of cells, so that I could have
the same ergonomics that I have elsewhere, but this is a start.
2023-06-01 22:20:30 +10:00
Jesse Duffield
33789d67f0
Merge pull request #2490 from jesseduffield/dependabot/go_modules/golang.org/x/net-0.7.0
2023-05-30 17:56:18 +10:00
Jesse Duffield
cc0edd42bb
Merge pull request #2508 from Ryooooooga/remove-jesseduffield-yaml
2023-05-30 17:39:25 +10:00
Stefan Haller
d210107caa
Bump github.com/fsmiamoto/git-todo-parser to latest version
2023-04-29 07:28:33 +02:00
Andre Mueller
07a22e69e7
bump clipboard package for WSL support
2023-04-24 13:33:27 +10:00
Stefan Haller
62c5c32fbb
Bump github.com/fsmiamoto/git-todo-parser to latest main version
2023-04-15 08:36:03 +02:00
Jesse Duffield
8121a0cc74
remove old integration test recording code
2023-03-24 18:42:11 +11:00
Jesse Duffield
c28e25524a
bump gocui to fix race condition
2023-03-19 16:30:39 +11:00
dependabot[bot]
e842548fc8
Bump golang.org/x/net from 0.0.0-20220722155237-a158d28d115b to 0.7.0
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.0.0-20220722155237-a158d28d115b to 0.7.0.
- [Release notes](https://github.com/golang/net/releases )
- [Commits](https://github.com/golang/net/commits/v0.7.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-03-19 04:42:38 +00:00
Jesse Duffield
b542579db3
Better escape code parsing (thanks to Ryooooooga) ( #2514 )
2023-03-19 15:41:47 +11:00
Ryooooooga
33f332e28d
build: remove github.com/jesseduffield/yaml package
2023-03-17 23:19:11 +09:00
Jesse Duffield
db011d8e34
Improve staging panel integration tests
2023-02-25 11:35:41 +11:00
Ryooooooga
90772e1eaa
build: bump tcell version
2023-02-21 21:53:55 +09:00
Jesse Duffield
a51f64814c
show snapshot of lazygit when test fails for easier investigation
2023-02-19 15:48:09 +11:00
Jesse Duffield
01bf7f21e6
bump gocui
2023-02-18 10:28:09 +11:00
Ryooooooga
657b1e897f
build: bump gocui
2023-01-06 10:59:09 +09:00
Jesse Duffield
abbd598992
bump gocui
2022-12-20 22:06:44 +11:00
Ryooooooga
cf048e4807
bump gocui
2022-11-25 21:48:44 +09:00
Lukasz Piatkowski
4fa8586191
Update go-git to handle negative refspecs
2022-11-12 07:24:14 +01:00
Ryooooooga
4aa9147dfa
build: $ ./scripts/bump_gocui.sh
2022-10-18 22:20:04 +09:00
Gustavo Andrioli
39e84e13f4
Use lazycore utils: Clamp and GetLazyRootDirectory
2022-10-15 13:55:44 -03:00
Jesse Duffield
575afa1377
update vendor directory
2022-10-11 08:12:56 -07:00
Jesse Duffield
dba0edb998
use boxlayout from lazycore
2022-10-09 08:31:14 -07:00
Jesse Duffield
e3f21f0588
strip NUL bytes instead of replacing with space
2022-10-03 09:29:41 -07:00
Jesse Duffield
e76fa5a6cb
fix glitchy render of stale data when flicking through files and directories
2022-10-02 20:41:24 -07:00
Jesse Duffield
5670c0a301
bump gocui
2022-10-02 18:43:25 -07:00
Ryooooooga
1c82924307
build: $ ./scripts/bump_gocui.sh
2022-09-23 20:01:44 +09:00
Jesse Duffield
7af7af27c6
various changes to improve integration tests
2022-09-16 08:42:39 -07:00
Jesse Duffield
8a1937787d
fix gocui mismatch
2022-08-15 20:01:43 +10:00
Jesse Duffield
f3837000dd
bump gocui
2022-08-13 20:12:04 +10:00
Jesse Duffield
755ae0ef84
add deadlock mutex package
...
write to deadlock stderr after closing gocui
more deadlock checking
2022-08-07 11:16:14 +10:00
Jesse Duffield
524bf83a4a
refactor to only have one context per view
2022-08-06 13:49:11 +10:00
Luka Markušić
83dfc3b28b
Update gocui
2022-07-29 06:59:52 +02:00
Jesse Duffield
c9d891a913
better process killing
2022-06-18 13:39:22 +10:00
Francisco Miamoto
0b08a0b298
build: add github.com/fsmiamoto/git-todo-parser
2022-06-12 20:01:32 -03:00
Jesse Duffield
3477cbc81f
better weight distribution in window arrangement
2022-04-17 12:48:04 +10:00
Jesse Duffield
e68093fe99
add scrollbars
2022-04-16 17:29:17 +10:00
Jesse Duffield
00afa30ebf
better appearance for reverse attribute
2022-04-16 15:19:32 +10:00
Jesse Duffield
6a153acc8f
clearer highlighting of current line
2022-04-16 15:19:32 +10:00
Jesse Duffield
336f2772e8
bump gocui
2022-04-08 12:15:23 +10:00
Jesse Duffield
43d3f2bcb6
refactor todo file generation
2022-03-24 20:14:41 +11:00
Jesse Duffield
cb26c7a1f2
more things
2022-03-24 20:14:41 +11:00
Jesse Duffield
94a53484a1
would you believe that I'm adding even more generics
2022-03-24 20:14:41 +11:00
Jesse Duffield
1b75ed3740
many more generics
2022-03-24 20:14:41 +11:00
Jesse Duffield
bf4f06ab4e
more generics
2022-03-24 20:14:41 +11:00
Jesse Duffield
eda8f4a5d4
lots more generics
2022-03-24 20:14:41 +11:00
Jesse Duffield
c7a629c440
make more use of generics
2022-03-24 20:14:41 +11:00
Jesse Duffield
a34bdf1a04
update linters
2022-03-19 12:12:57 +11:00
Jesse Duffield
4fde97b066
update go to v1.18
2022-03-18 21:36:28 +11:00
Jesse Duffield
729da3549a
go mod vendor
2022-03-17 19:13:40 +11:00
Jesse Duffield
59d4df2a44
fix click handling
2022-03-17 19:13:40 +11:00
Jesse Duffield
2a1e3faa0c
resetting controllers on new repo
2022-03-17 19:13:40 +11:00
Jesse Duffield
a2318d75b5
fix some things
2022-03-17 19:13:40 +11:00
MATSUDA Takashi
a9fa3b2af1
chore: go get github.com/gdamore/tcell/v2@2a1a1b58
2022-03-15 13:31:11 +11:00
Jesse Duffield
ce3bcfe37c
fix reflog failing to properly refresh
2022-01-26 10:58:33 +11:00
MATSUDA Takashi
e413c216ba
go get github.com/gdamore/tcell/v2@66f061b1
2022-01-25 22:54:09 +11:00
Jesse Duffield
4a1d23dc27
bump gocui
2022-01-08 16:05:11 +11:00
Jesse Duffield
efa743b52e
small change
2022-01-04 09:07:15 +11:00
Jesse Duffield
06ca71e955
fix bug
2021-11-05 07:58:21 +11:00
Jesse Duffield
37be9dbea1
support scrolling left and right
2021-11-05 07:58:21 +11:00
Jesse Duffield
802cfb1a04
render commit graph
2021-11-05 07:58:21 +11:00
Jesse Duffield
2fc1498517
some refactoring in anticipation of the graph feature
2021-11-01 10:03:49 +11:00
Jesse Duffield
f704707d29
stream output from certain git commands in command log panel
2021-10-30 18:26:06 +11:00
Jesse Duffield
ca7252ef8e
suggest files when picking a path to filter on
...
async fetching of suggestions
remove limit
cache the trie for future use
more
more
2021-10-19 09:02:42 +11:00
Jesse Duffield
71fdc5c038
better title rendering
2021-10-18 09:21:33 +11:00
Jesse Duffield
a05f22efa2
support home/end keys in editors
2021-10-17 20:14:31 +11:00
Jesse Duffield
e7c27b6f4a
small fixes
2021-10-17 06:41:21 +00:00
Jesse Duffield
345c90ac05
fix editor
2021-10-17 04:17:59 +00:00
Jesse Duffield
c8e9d1b4fc
bump gocui
2021-09-27 19:58:24 +10:00
mjarkk
79848087bc
Switch to github.com/gookit/color for terminal colors
2021-07-30 15:14:46 +02:00
mjarkk
fc066d2f2e
parse github emoji config option
2021-07-16 14:06:01 +02:00
Jesse Duffield
3dd88d6138
bump dependencies
2021-06-15 08:12:38 +10:00
Jesse Duffield
82022615dd
bump tcell
2021-06-06 09:12:42 +10:00
Jesse Duffield
b28b2d05bd
force cursor to be at end of line when opening confirmation panel
2021-04-17 21:15:54 +10:00
Jesse Duffield
730a03a3b2
fix race condition
2021-04-12 23:40:20 +10:00
Jesse Duffield
76697280c9
fix rendering issues caused by resizing
2021-04-12 21:48:08 +10:00
Jesse Duffield
0df6ac6140
bump gocui to fix resizing issue
2021-04-12 21:48:08 +10:00
Jesse Duffield
e42e7e5cbd
fix commit amend
2021-04-10 11:54:38 +10:00
Jesse Duffield
93fac1f312
reduce flicker without worrying about carriage returns
2021-04-09 22:50:55 +10:00
Jesse Duffield
b03e2270a0
revert no-flicker due to carriage return weirdness
2021-04-08 23:17:27 +10:00
Jesse Duffield
8eb802d3a0
fix flicker issue in main view
2021-04-06 19:34:32 +10:00
Jesse Duffield
9593129e6a
remove caching of styles in gocui
2021-04-06 19:34:32 +10:00
Jesse Duffield
c9ded489c9
bump gocui
2021-04-06 19:34:32 +10:00
Jesse Duffield
0898a7bb57
refactor
2021-04-06 19:34:32 +10:00
Jesse Duffield
5289d49f75
more efficient gocui
2021-04-06 19:34:32 +10:00