Christian Rocha
0c3df027cc
Correct empty stashed state when filter is applied
2020-12-24 10:29:22 -05:00
Christian Rocha
2a688fc71e
In a filter, deleting docs stashed in-session converts them to local ones
2020-12-24 10:29:22 -05:00
Christian Rocha
12f3209238
When stashing in a filter, turn local docs to stashed ones
2020-12-24 10:29:22 -05:00
Christian Rocha
03db9a6869
Put filter results in a tab
2020-12-24 10:29:22 -05:00
Christian Rocha
84843e4f13
Sort local ID as a last resort as not all markdowns will have an SQL ID
2020-12-24 10:29:22 -05:00
Christian Rocha
ca0dfecb1c
Fix bug where deleting newly stashed news could delete the wrong item
2020-12-24 10:29:22 -05:00
Christian Rocha
37a9b6846f
Filter is now called find
2020-12-24 10:29:22 -05:00
Christian Rocha
47b24f66d0
Move status message next to the logo in the file browser
2020-12-24 10:29:22 -05:00
Christian Rocha
28ccb85b2e
Use ANSI-aware truncation
2020-12-24 10:29:22 -05:00
Christian Rocha
59f8a002d0
Make "already stashed" status messages more subtle
2020-12-24 10:29:22 -05:00
Christian Rocha
53155f1e16
Adjust spinner thresholds and timing so stashing feels snappier
2020-12-24 10:29:22 -05:00
Christian Rocha
8d7b614688
Fine tuning + subtle behavioral adjustments to spinners + status messages
2020-12-24 10:29:22 -05:00
Christian Rocha
64da53ede6
Rename a function
2020-12-24 10:29:22 -05:00
Christian Rocha
25dd530fb7
Improve comments
2020-12-24 10:29:22 -05:00
Christian Rocha
6946f7e581
Rename 'common' model and associated keys for sake of clarity
2020-12-24 10:29:22 -05:00
Christian Rocha
683d2c0cf6
Move TUI config into its own file
2020-12-24 10:29:22 -05:00
Christian Rocha
8a6c6ef85d
Remove extraneous error interface implementations
2020-12-24 10:29:22 -05:00
Christian Rocha
6953c06b46
Improve markdown stashing and spinner logic in file listing
2020-12-24 10:29:22 -05:00
Christian Rocha
617f0980d8
Handle stash failures
2020-12-24 10:29:22 -05:00
Christian Rocha
426f4787e5
Fix panic that could happen when deleting stuff really fast
2020-12-24 10:29:22 -05:00
Christian Rocha
03d93169f2
Also make news stashable from the pager
2020-12-24 10:29:22 -05:00
Christian Rocha
88806c8abc
Make news stashable
2020-12-24 10:29:22 -05:00
Christian Rocha
4fcf48f92a
Filter against local and stashed files, regardless of the current section
2020-12-24 10:29:22 -05:00
Christian Rocha
cfba912be6
Maintain pagination and cursor on a per-section basis
2020-12-24 10:29:22 -05:00
Christian Rocha
a67f00a813
Press tab/shift+tab to switch between local, stash and news
2020-12-24 10:29:22 -05:00
Christian Rocha
f1ede23b3c
Add logging for stash/news fetching
2020-12-24 10:29:22 -05:00
Christian Rocha
f680a9b96a
Correct logic for checking when we're in stashed-only-mode
2020-12-24 10:29:22 -05:00
Christian Rocha
e179741544
Lighten mid-gray color for dark backgrounds
2020-12-24 10:29:22 -05:00
Christian Rocha
fa6952ea88
Simplify news header
2020-12-24 10:29:22 -05:00
Christian Rocha
1922bfaa68
Only show news in help if we're online
2020-12-24 10:29:22 -05:00
Christian Rocha
2eb5f46b01
Make help renderer a little less functional and more structured
2020-12-24 10:29:22 -05:00
Christian Rocha
c235780eee
Appease the linter
2020-12-24 10:29:22 -05:00
Christian Rocha
20a44c5025
Replace deprecated transforms.RemoveFunc with runes.Remove
2020-12-24 10:29:22 -05:00
Christian Rocha
d21802dbc6
Style detailed help view and re-style mini help view
2020-12-24 10:29:22 -05:00
Christian Rocha
92d7696c76
Disable news toggling while filtering
2020-12-24 10:29:22 -05:00
Christian Rocha
4febcb4bff
Render larger help view with the ? key
2020-12-24 10:29:22 -05:00
Christian Rocha
b50614c64c
Let's try an an emoji for the news header
2020-12-24 10:29:22 -05:00
Christian Rocha
c4230ca3d9
Rework mini stash help view builder + stub out larger stash help
2020-12-24 10:29:22 -05:00
Christian Rocha
cffa611dfb
When exiting pager or filter, stay in news if we were on news prior
2020-12-24 10:29:22 -05:00
Christian Rocha
4c63c62bfa
Replace bit-based document type implementation with a set-based one
2020-12-24 10:29:22 -05:00
Christian Rocha
7fabcea06d
Make stash note editing and deletion independent of main state
2020-12-24 10:29:22 -05:00
Christian Rocha
15494e99b4
Also disable news if we're in local-only mode
2020-12-24 10:29:22 -05:00
Christian Rocha
dd9179a9ae
Remove "News:" prefix from news items
2020-12-24 10:29:22 -05:00
Christian Rocha
2748e75165
If we're offline disable the news section
2020-12-24 10:29:22 -05:00
Christian Rocha
fc898831af
Now you can filter news too
...
Also note that the main stash state and the filter state now operate
independently.
2020-12-24 10:29:22 -05:00
Christian Rocha
40a02259fc
Only show news in news section
2020-12-24 10:29:22 -05:00
Christian Rocha
c10a84adc1
Sort news by date
2020-12-24 10:29:22 -05:00
Christian Rocha
dfeb60770e
The n key also exits news
2020-12-24 10:29:22 -05:00
Christian Rocha
2d10fb8749
Adjust news header syle
2020-12-24 10:29:22 -05:00
Nicolas Martin
537ef308d2
Add a menu item for only display news
2020-12-24 10:29:22 -05:00
shaun mitchell
d98cda4b2b
fixed showStatusMessage(string) to display passed parameter
2020-12-08 10:45:12 -05:00
Christian Rocha
56a9edd312
Filter markdowns asynchronously so filtering doesn't block
2020-11-25 00:33:04 +00:00
Christian Rocha
c16a146c00
Load the whole stash, page by page, automatically
2020-11-20 15:02:15 -05:00
Christian Rocha
5023d4a0be
Remove some code duplication with stash and news message handling
2020-11-19 22:45:02 -05:00
Christian Rocha
86e581c79c
Add matching stash/news documents to filter results as they're loaded
2020-11-19 22:26:31 -05:00
Christian Rocha
53b9c7ee62
Open correct document when filtered down to one item
2020-11-18 12:33:39 -05:00
Christian Rocha
929b1ed3b3
Remove pointer reference from stashModel.getNotes()
...
It's not altering the model, so removing the pointer reference to
reflect that.
2020-11-18 12:33:39 -05:00
Christian Rocha
4e6460682e
Consolidate common model properties to reduce duplication
2020-11-18 12:33:39 -05:00
Christian Rocha
ae4c85e97d
Maintain positions when renaming documents in a filtered listing
2020-11-17 15:57:55 -05:00
Christian Rocha
de09997fdb
Normalize strings during filtering
...
This makes it easier to match characters with diacritics (i.e. you can type 'o'
and match an 'ö').
2020-11-17 15:57:55 -05:00
Christian Rocha
6cf1152f87
Also highlight filtered characters on selected filter results
2020-11-17 15:57:55 -05:00
Christian Rocha
58eca2414a
Match documents which were stashed in-session then renamed
...
Note that we've also removed field `displayPath` from struct `markdown`
as it turned out to not be necssary in the first place.
2020-11-17 15:57:55 -05:00
Nicolas Martin
d98e3c11ba
Switch to sahilm/fuzzy
for fuzzy-filtering and text highlighting
2020-11-17 15:57:55 -05:00
Christian Rocha
43a5ac1b64
Highlight relevant characters in filter results
2020-11-17 15:57:55 -05:00
Christian Rocha
f9883e8f8d
Change 'search' to 'filter'
2020-11-17 15:57:55 -05:00
Christian Rocha
fb5a81f4d6
Upgrade to Bubble Tea v0.12.2 and Bubbles v0.7.5
2020-11-17 15:57:55 -05:00
Christian Rocha
7722b6e6bc
Minor comment improvement
2020-11-17 15:57:55 -05:00
Christian Rocha
464c84bb13
Fix a regression where esc wouldn't clear filtered results
2020-11-17 15:57:55 -05:00
Christian Rocha
005aa65d7b
The q key should quit when browsing a list of filtered documents
2020-11-17 15:57:55 -05:00
Christian Rocha
000a0baae8
Use path separator const when building relative path
2020-11-17 15:57:55 -05:00
Christian Rocha
d09b225087
Filter against relative path rather than full path
2020-11-17 15:57:55 -05:00
Christian Rocha
8277cbb71f
Remove some consts + check cell widths of prompts, not byte lengths
...
We're able to remove those consts by virtue of reflow's new-ish
ansi.PrintableRuneWidth.
2020-11-17 15:57:55 -05:00
Christian Rocha
4b121593d4
Mop up styling big time
2020-11-17 15:57:55 -05:00
Christian Rocha
7b7a398c74
Don't dim the search entry when blurring the search field
2020-11-17 15:57:55 -05:00
Christian Rocha
759b8707f8
Tidying up
2020-11-17 15:57:55 -05:00
Christian Rocha
899c038402
Also add tab/shift+tab bindings to file browser
2020-11-17 15:57:55 -05:00
Christian Rocha
a17cfa6d26
Shift+tab also moves into filtered results
2020-11-17 15:57:55 -05:00
Christian Rocha
2e1579542e
Don't highlight filtered items until search is blurred
2020-11-17 15:57:55 -05:00
Christian Rocha
ef0f5338f4
Pressing return with no items filtered clears the filter
2020-11-17 15:57:55 -05:00
Christian Rocha
9797f225a7
Change help text if we've filtered down to one item
2020-11-17 15:57:55 -05:00
Christian Rocha
75528db9f1
Maintain previous filtering after unloading a document
2020-11-17 15:57:55 -05:00
Christian Rocha
6965caf3af
When stashing/unstashing an item during filtering maintain its position
2020-11-17 15:57:55 -05:00
Christian Rocha
d717b7e330
Add dimmed colors for light backgrounds
2020-11-17 15:57:55 -05:00
Nicolas Martin
356cd57c0e
Only dim items when starting a new search
2020-11-17 15:57:55 -05:00
Nicolas Martin
5e27376af4
Keep displaying local markdowns after stashing & deleting them
2020-11-17 15:57:55 -05:00
Christian Rocha
8d03dd5731
Adjust dimmed colors for dark backgrounds; light colors outstanding
2020-11-17 15:57:55 -05:00
Nicolas Martin
2131b255ef
Reset cursor and page positions when entering the search state
2020-11-17 15:57:55 -05:00
Nicolas Martin
aba133b7e6
There's always at least 1 page available in the paginator
...
Passing 0 to `paginator.SetTotalPages()` is ineffective as it won't alter the
model (paginator needs at least 1 page) and therefore doesn't update the page
count. Filtering can lead to 0 items in the stash view - in this case we still
want to have a page available in the paginator - so we also have pass 1 to
`setTotalPages()`.
2020-11-17 15:57:55 -05:00
Nicolas Martin
7500d88e93
TIL: 'News' is singular
2020-11-17 15:57:55 -05:00
Nicolas Martin
89965743a1
Ensure the search binding "/" always works
2020-11-17 15:57:55 -05:00
Nicolas Martin
c91501655f
Dont panic during actions in the filtered stash view w/o items
...
Filterng down the stash to 0 items (no cursor is displayed as there are no items
left) caused a panic during execution of one of these actions:
- x: Delete
- m: Set Memo
- s: Stash file
This change prevents that from happening by breaking the switch statement when
there are no items left.
Also glow now uses the filtered markdown notes in the `stashHelpView` so
`m.selectedMarkdown()` cannot return a nil refernce anymore.
2020-11-17 15:57:55 -05:00
Nicolas Martin
56847c1b01
Dim search results during filtering
2020-11-17 15:57:55 -05:00
Nicolas Martin
4782b99154
Display news item count in stash view
2020-11-17 15:57:55 -05:00
Nicolas Martin
7fb4a43474
Fix cursor placement when paging trough filtered notes
2020-11-17 15:57:55 -05:00
Nicolas Martin
fbe93a90ff
Add a prefix according to the markdownType when filtering notes
2020-11-17 15:57:55 -05:00
Nicolas Martin
faeef13e55
Get the cursor movement going while filtering stashitems
2020-11-17 15:57:55 -05:00
Nicolas Martin
259f4b584b
Use setTotalPages() to set the number of items in the paginator
...
This takes the filtered stash state in account
2020-11-17 15:57:55 -05:00
Nicolas Martin
e985f96dc4
Add fuzzy filtering for stash notes
2020-11-17 15:57:55 -05:00
Nicolas Martin
9fd3dfef5a
Add a searchinput box to the stashModel
2020-11-17 15:57:55 -05:00
Nicolas Martin
23fb61f752
Add stash states for searching through notes
...
- stashStateSearchNotes will be used while entering the search term
- stashStateShowFiltered will only display the filtered notes in the stash view.
2020-11-17 15:57:55 -05:00