Age | Commit message (Collapse) | Author |
|
It isn't necessarily fuzzy any more.
|
|
By default we now search for substrings; you can search for multiple substrings
by separating them with spaces. Add a config option gui.filterMode that can be
set to 'fuzzy' to switch back to the previous behavior.
|
|
It sorts them already, so it's unnecessary. In the next commit we use this same
code for substring searching too, and in that case we don't want to sort because
sorting is by Score, but we don't even fill in the score for substring
searching.
|
|
|
|
We will reuse it in the next commit.
|
|
|
|
We need this because we want to enable moving update-ref todos, which don't have
a sha.
|
|
|
|
As part of this, you must now press enter on a merge conflict file
to focus the merge view; you can no longer press space and if you do
it will raise an error.
|
|
|
|
This adds range select ability in two ways:
1) Sticky: like what we already have with the staging view i.e. press v then use arrow keys
2) Non-sticky: where you just use shift+up/down to expand the range
The state machine works like this:
(no range, press 'v') -> sticky range
(no range, press arrow) -> no range
(no range, press shift+arrow) -> nonsticky range
(sticky range, press 'v') -> no range
(sticky range, press arrow) -> sticky range
(sticky range, press shift+arrow) -> nonsticky range
(nonsticky range, press 'v') -> no range
(nonsticky range, press arrow) -> no range
(nonsticky range, press shift+arrow) -> nonsticky range
|
|
This makes it possible to write deterministic tests for views that use it.
|
|
Since Loader and renderAppStatus need to agree on it, it helps for it to be a
constant in case we want to change it.
|
|
|
|
Add search history for filterable and searchable views.
|
|
|
|
We will pass these positions back to clients for rendering non-model items, and
it's important that clients can consistently rely on them no matter which
columns were removed.
|
|
Not used by anything yet, but we'll need it later in this branch.
|
|
|
|
When columns to the left of a column with an alignment are removed, the
alignment applies to the wrong column. We'll fix this in the next commit.
|
|
We'll join them with newlines afterwards. This will make it easier to insert
other (non-model) items.
|
|
I find this much easier to read.
|
|
|
|
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.
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We're going to start supporting filtering of list views
|
|
Co-authored-by: Stefan Haller <stefan@haller-berlin.de>
|
|
|
|
This avoids changing the indentation or number of blank lines etc unnecessarily
if nothing has changed.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
We are going to add other ways to update yaml documents in the future.
|
|
Use the assert package to check expectations; also, check for the exact error
message instead of just whether any error occurred.
|
|
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.
|
|
|
|
|
|
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
|
|
I find this makes it look a little nicer
|
|
|