1
1
mirror of https://github.com/walles/moar.git synced 2024-11-30 12:42:26 +03:00
Commit Graph

47 Commits

Author SHA1 Message Date
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