1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-06-23 00:39:13 +02:00

199 Commits

Author SHA1 Message Date
03694f7502 Fix arg order to asserts 2023-08-19 19:10:25 +03:00
e33fe37a99 Standardise on using lo for slice functions
We've been sometimes using lo and sometimes using my slices package, and we need to pick one
for consistency. Lo is more extensive and better maintained so we're going with that.

My slices package was a superset of go's own slices package so in some places I've just used
the official one (the methods were just wrappers anyway).

I've also moved the remaining methods into the utils package.
2023-07-30 18:51:23 +10:00
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
fb4453c18a Fix unit tests 2023-07-30 18:35:23 +10:00
b73efb2c22 Better logic for knowing which repo we're in 2023-07-30 18:35:22 +10:00
9b24995990 Use 'M' for months in branches panel 2023-07-30 18:35:22 +10:00
1a36cb9f3f View filtering (#2680) 2023-07-03 12:57:11 +10:00
7d7399a89f Support case sensitive filtering 2023-07-03 12:54:14 +10:00
bf5871cc4f Case insensitive string comparison 2023-07-03 12:54:13 +10:00
a9e2c8129f Introduce filtered list view model
We're going to start supporting filtering of list views
2023-07-03 12:54:13 +10:00
9ae7710850 Use comment char config on interactive rebase
Co-authored-by: Stefan Haller <stefan@haller-berlin.de>
2023-07-02 02:07:32 -03:00
87fe30d50d Bump git-todo-parser 2023-07-02 02:07:32 -03:00
c4a2749a99 Avoid rewriting the file if nothing changed
This avoids changing the indentation or number of blank lines etc unnecessarily
if nothing has changed.
2023-06-26 08:11:10 +02:00
85f293af1a Add new function RenameYamlKey 2023-06-26 08:11:10 +02:00
9cbd7fe69e Extract a lookupKey function that will be useful in the next commit 2023-06-26 08:11:10 +02:00
4461dc68b7 Create missing path elements
This fixes a serious error: trying to change a value on gui.someOption would add
a someOption key at root if gui doesn't exist.
2023-06-26 08:11:10 +02:00
6acabba417 Return an error if some node in the path is not a dictionary 2023-06-26 08:11:10 +02:00
7fb86d6e9c Return an error if node to be updated is not a scalar 2023-06-26 08:11:10 +02:00
221433522d Return an error if document is not a dictionary 2023-06-26 08:11:10 +02:00
90084d115e Support updating values in empty documents 2023-06-26 08:11:10 +02:00
a14794bf5c Rename UpdateYaml to UpdateYamlValue
We are going to add other ways to update yaml documents in the future.
2023-06-26 08:11:10 +02:00
bf685cf832 Cleanup: improve test setup and check for the right error string
Use the assert package to check expectations; also, check for the exact error
message instead of just whether any error occurred.
2023-06-26 08:11:10 +02:00
8932d17393 Cleanup: remove unnecessary if statements
The assert package is already very good at displaying errors, including printing
a diff of expected and actual value, so there's no point in printing the same
information again ourselves.
2023-06-26 08:11:10 +02:00
a4db44bc3d show commits against branches 2023-06-01 19:21:24 +10:00
61f00e6dd4 update seconds ago function and add tests 2023-06-01 18:48:06 +10:00
0e0458f355 More compact and flexible date format
You can now configure both a time format and a short time format, where the short format kicks in
when the time is within the last day
2023-05-26 17:31:39 +10:00
ec3a28df43 Right-align key labels in menu
I find this makes it look a little nicer
2023-05-21 12:09:43 +10:00
e156e090cc add ability to update yaml path while preserving comments 2023-05-10 22:31:27 +10:00
e63858215e refactor moveFixupCommitDown 2023-04-29 07:28:33 +02:00
3fe4db9316 Make RebaseCommands.AmendTo more robust
This fixes two problems with the "amend commit with staged changes" command:

1. Amending to a fixup commit didn't work (this would create a commmit with the
   title "fixup! fixup! original title" and keep that at the top of the branch)
2. Unrelated fixup commits would be squashed too.

The added integration test verifies that both of these problems are fixed.
2023-04-29 07:28:33 +02:00
a8586ba57e Refactor: simplify PrepareInteractiveRebaseCommand API
Instead of passing a bunch of different options in
PrepareInteractiveRebaseCommandOpts, where it was unclear how they interact if
several are set, have only a single field "instruction" which can be set to one
of various different instructions.

The functionality of replacing the entire todo file with our own is no longer
available; it is only possible to prepend todos to the existing file.

Also, instead of using different env vars for the various rebase operations that
we want to tell the daemon to do, use a single one that contains a json-encoded
struct with all available instructions. This makes the protocol much clearer,
and makes it easier to extend in the future.
2023-04-29 07:28:33 +02:00
ab25600ccb Extract EditRebaseTodo into a function in utils.rebaseTodo
We want to reuse it from the daemon code in the next commit.
2023-04-29 07:28:33 +02:00
aec46942a8 enforce lowercase filenames 2023-04-29 13:05:05 +10:00
dc4e88f8a4 Make moving todo commits more robust 2023-04-15 08:36:03 +02:00
120dd1530a Make EditRebaseTodo more robust
It used to work on the assumption that rebasing commits in lazygit's model
correspond one-to-one to lines in the git-rebase-todo file, which isn't
necessarily true (e.g. when users use "git rebase --edit-todo" at the custom
command prompt and add a "break" between lines).
2023-04-15 08:36:03 +02:00
7149cfeb11 fix: fix ReplacePlaceholderString 2023-01-18 20:56:22 +09:00
39e84e13f4 Use lazycore utils: Clamp and GetLazyRootDirectory 2022-10-15 13:55:44 -03:00
a4239c7a37 fix: fix stash with empty message 2022-10-13 22:23:56 +09:00
ed98b60078 use thread safe map 2022-10-02 20:57:44 -07:00
19df238b77 feat: allow OSCommand.Quote to be invoked within a custom command 2022-09-30 21:16:45 +09:00
fd66499c8f Merge pull request #2167 from xiaoliwang/remove_deprecated 2022-09-23 23:01:40 -07:00
3d79c6a3d3 formatter 2022-09-17 15:10:41 -07:00
b8900baf1a remove deprecated calls 2022-09-17 15:10:41 -07:00
7e9dffe1b9 Add Key field to CustomCommandPrompt struct
Add Form field to CustomCommandObjects struct

Write user prompts responses to Form field

Ensure that map keys exists

Add form prompts integration test

Remove redundant index
2022-09-17 14:58:44 -07:00
5173d7f5e1 better CLI interface 2022-08-14 17:20:52 +10:00
77881a9c7d add new integration test pattern 2022-08-11 21:24:15 +10:00
755ae0ef84 add deadlock mutex package
write to deadlock stderr after closing gocui

more deadlock checking
2022-08-07 11:16:14 +10:00
524bf83a4a refactor to only have one context per view 2022-08-06 13:49:11 +10:00
1f1d871837 feat: add ability to customize time format 2022-05-18 20:55:27 +09:00
494368a241 feat: accept named colors for gui.authorColors 2022-05-04 19:03:00 +09:00