1
1
mirror of https://github.com/walles/moar.git synced 2024-09-11 12:15:43 +03:00
Commit Graph

95 Commits

Author SHA1 Message Date
Johan Walles
2b5828275c Exit search on scroll keypresses 2019-08-04 07:40:26 +02:00
Johan Walles
19f477b8e7 Add "---" as an EOF-marker for short files 2019-08-04 07:15:35 +02:00
Johan Walles
5bb74e4f10 Fix search highlighting
After scrolling right.
2019-08-03 23:21:40 +02:00
Johan Walles
df9920c11c Add scroll-right markers
For lines extending to the right of the screen width.
2019-08-03 20:14:22 +02:00
Johan Walles
193805abc9 Re-plan future development 2019-07-26 19:40:40 +02:00
Johan Walles
4f7c404845 Formulate the help text 2019-07-26 19:15:24 +02:00
Johan Walles
bcc83f9d0a Actually show some text on pressing "h" 2019-07-26 19:07:51 +02:00
Johan Walles
009d890dbc Initial built-in help commit
Help text needs to be written, and a NewReaderFromText() function needs
implementing.
2019-07-26 09:26:58 +02:00
Johan Walles
8fbf3dfaa7 Report file IO problems even for filtered files
Before this change, trying to open a filterable file that didn't exist,
like "REAXDME.md" for example, would result in us displaying an empty
pager.

With this change in place, that now results in an error message.
2019-07-25 07:46:58 +02:00
Johan Walles
a77d4f058c Only inform about PAGER= if we're not already it 2019-07-15 22:43:27 +02:00
Johan Walles
d2e94fd26c Take control of --help output 2019-07-15 22:14:36 +02:00
Johan Walles
ebba21a409 Dodge corner case issue
If call "highlight" on an empty file the output will have a line.

We don't really care about that.

This change renames empty.txt (which highlight wants to highlight) into
just "empty", which highlight will not try to highligt, so no line is
added and the test passes.
2019-07-15 18:49:25 +02:00
Johan Walles
0f0c8a1111 Don't highlight files with unsupported file extensions 2019-07-15 18:46:53 +02:00
Johan Walles
a66f8b41ba Don't highlight extensionless files 2019-07-15 18:32:43 +02:00
Johan Walles
1103ebf5bc Add tokenizer tests 2019-07-15 13:34:42 +02:00
Johan Walles
35429e672b Make first line read appear immediately 2019-07-15 07:08:04 +02:00
Johan Walles
2bc8215d59 Stop logging more-lines events as unhandled 2019-07-14 23:18:26 +02:00
Johan Walles
480bbc031e Only update display every 200ms
Even if we get multiple lines during that time. This improves CPU usage,
and most likely responsiveness.
2019-07-14 23:10:54 +02:00
Johan Walles
937951d610 Fix pager hangs 2019-07-14 18:59:21 +02:00
Johan Walles
bfbdadd6c7 Minor clarifications 2019-07-13 22:55:21 +02:00
Johan Walles
195f48f229 Move stream reading into its own function 2019-07-12 06:35:08 +02:00
Johan Walles
447da01d49 Handle new lines arriving
We display the lines, but we also just freeze. Try "./moar.sh moar.sh"
and try to search and you'll see.
2019-07-11 18:52:20 +02:00
Johan Walles
106626388d Notify a channel after we read a line 2019-07-11 18:34:10 +02:00
Johan Walles
c4c2027dfc Comment out some failing tests
They do find errors, but this branch is not the place to fix those.
2019-07-10 06:44:10 +02:00
Johan Walles
c1665113e6 Add more tests, find more problems... 2019-07-10 00:21:36 +02:00
Johan Walles
a43aafe7b9 Fix concurrency issues in the tests...
... and unveil actual highlighting problems.
2019-07-09 23:41:49 +02:00
Johan Walles
ddee885e92 Make tests compile
But not pass. The tests need to wait for the reader to get done before
verifying what it did.
2019-07-09 19:57:32 +02:00
Johan Walles
0a6dbbe909 Input now read in the background, but...
... the reader still needs to notify the pager when new lines are
available, and the pager must update the display if it would affect the
display, but not too often.
2019-07-09 19:53:04 +02:00
Johan Walles
56feddd038 Code reshufflings
Pager still doesn't show anything.
2019-07-09 06:12:18 +02:00
Johan Walles
399d5d6975 WIP: First stab at background reading
Try ./moar.sh moar.sh, nothing is shown. Fix stuff.
2019-07-08 18:58:37 +02:00
Johan Walles
f97e50fe2c Add two comments 2019-07-08 08:58:53 +02:00
Johan Walles
2f5c2da2e3 Case insensitive search on lowercase-only pattern 2019-07-06 22:16:08 +02:00
Johan Walles
ea5b4fdefe Extract search string compilation into its own testable function 2019-07-06 13:51:48 +02:00
Johan Walles
633d4b0db7 Scroll left and right using arrow keys 2019-07-06 13:33:41 +02:00
Johan Walles
16c92de86c Add support for searching backwards 2019-07-06 10:31:40 +02:00
Johan Walles
0f7ae9d089 Warn about unexpected pager modes 2019-07-06 07:54:33 +02:00
Johan Walles
ed657dbde6 Implement searching for next hit 2019-07-06 07:45:07 +02:00
Johan Walles
7d6f1f5361 Scroll to first hit while typing 2019-06-30 22:16:04 +02:00
Johan Walles
9693c91aac Reset search on new '/' 2019-06-30 22:15:27 +02:00
Johan Walles
f16d818715 Have the tokenizer provide an unformatted string as well 2019-06-30 15:06:33 +02:00
Johan Walles
4541f7fb08 Fix crash before first search 2019-06-30 09:53:24 +02:00
Johan Walles
af10a5f6c7 Add search matching functionality 2019-06-30 09:43:58 +02:00
Johan Walles
8a8672a1e9 Add logic for highlighting search hits 2019-06-29 18:29:37 +02:00
Johan Walles
8a9470c651 Add a cursor when entering the search string 2019-06-29 11:24:03 +02:00
Johan Walles
656c01456e Enable entering a search string 2019-06-29 11:20:48 +02:00
Johan Walles
917a096270 Support / for search mode, ESC for back to view 2019-06-28 22:43:03 +02:00
Johan Walles
e78f452557 Add support for man page rendering 2019-06-27 21:39:46 +02:00
Johan Walles
94007d767c Plan for more filter testing 2019-06-25 19:44:22 +02:00
Johan Walles
fd10508c8d Implement transparent decompression 2019-06-24 21:55:33 +02:00
Johan Walles
e640c7d856 Add (failing) compressed-files tests 2019-06-23 21:30:11 +02:00