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
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
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
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
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
e640c7d856
Add (failing) compressed-files tests
2019-06-23 21:30:11 +02:00
Johan Walles
70500056af
Show file name and line numbers
2019-06-21 23:24:53 +02:00
Johan Walles
8b0e695a82
Prepare for dynamic footer from the GetLines() result
2019-06-18 21:58:17 +02:00
Johan Walles
42c45aedae
Simplify Reader API
2019-06-16 21:54:25 +02:00
Johan Walles
aa1cd1da5f
Actually match moar and less output colors
2019-06-16 21:26:04 +02:00
Johan Walles
4717624c89
Handle background color changes
2019-06-16 20:57:03 +02:00
Johan Walles
0ba1efbe46
Handle mouse wheel scroll better
...
Before this change, if you scrolled up a lot with the mouse wheel, thus
creating many arrow-up events, you could sometimes escape and start
scrolling into the terminal's scrollback buffer (iTerm2, macOS).
With this change in place that doesn't happen any more.
I don't understand why.
The difference between Sync() and Show() is that:
* Sync() redraws the entire screen unconditionally
* Show() tries to update only the parts of the screen that actually changed
2019-06-16 20:33:18 +02:00
Johan Walles
a1cdf0c200
Add logging
2019-06-16 10:02:19 +02:00
Johan Walles
d7dacd4dae
WIP: Implement ANSI foreground color setting
...
Doesn't work, but the parts are there. Go fix.
2019-06-16 09:14:30 +02:00
Johan Walles
86007b3293
Remove useless threading
2019-06-15 09:23:53 +02:00
Johan Walles
a9b8b5b9d5
Fix displaying UTF-8 runes
...
Before this change we displayed spaces after each UTF-8 rune.
With this change in place the extra spaces are gone.
2019-06-15 08:10:56 +02:00
Johan Walles
29f497ef19
Print footer line in reverse video
2019-06-14 07:08:20 +02:00
Johan Walles
f6b5755501
Add some more moar.rb keybindings
2019-06-13 15:56:06 +02:00
Johan Walles
a241dcf6ca
PgUp / PgDown
2019-06-13 06:21:43 +02:00
Johan Walles
a14ecc3168
Support moving to top / bottom
2019-06-13 06:14:41 +02:00
Johan Walles
74d4d26112
Support scrolling up and down with arrow buttons
2019-06-12 21:55:09 +02:00
Johan Walles
b7311e5785
Show file contents
2019-06-12 07:07:13 +02:00
Johan Walles
6436cce8f6
Add support for handling keypresses
2019-06-11 21:32:24 +02:00
Johan Walles
95132357b1
Split event handling into more readable pieces
2019-06-11 21:28:21 +02:00
Johan Walles
ab9702953f
Better resource cleanup
2019-06-11 21:22:32 +02:00
Johan Walles
6143f3f55f
Moar state in the struct
2019-06-11 21:21:12 +02:00
Johan Walles
78c12f8d2f
Moar methods, less functions
2019-06-11 21:09:57 +02:00
Johan Walles
29183c1eeb
Print a footer at the bottom
2019-06-11 18:52:38 +02:00
Johan Walles
6f13bde11e
Show blank screen and wait for user input
2019-06-11 18:29:30 +02:00
Johan Walles
9bf41e8f43
It's *supposed* to be private
...
I think...
2019-06-11 15:31:26 +02:00
Johan Walles
289dd35bd6
Fix compile error
2019-06-11 13:26:04 +02:00
Johan Walles
e23eaddabd
Add placeholder code for starting the pager
...
This version doesn't compile and I don't know why.
2019-06-10 21:50:31 +02:00