Johan Walles
e1c3bf0a17
Merge branch 'walles/go-highlight' into go
2019-06-18 20:18:28 +02:00
Johan Walles
7517856fda
Add usability FIXME
2019-06-18 20:17:56 +02:00
Johan Walles
354c4d13a8
Correct documentation
2019-06-18 20:15:15 +02:00
Johan Walles
c33fd4eb47
Add missing SGI code
...
00 is produced by highlight.
2019-06-18 20:12:35 +02:00
Johan Walles
bd4f7c5567
Fix the glitch
2019-06-18 20:11:27 +02:00
Johan Walles
f546e05cb7
Code complete, doesn't work
2019-06-18 20:06:38 +02:00
Johan Walles
1ec6216ab1
Add code highlighting test
2019-06-18 19:47:23 +02:00
Johan Walles
5cc47df367
Render broken UTF8 as red-on-white question marks
...
The default broken UTF8 marker in Go doesn't render well in my terminal.
2019-06-18 19:08:35 +02:00
Johan Walles
3011b15a09
Add note about broken UTF8
2019-06-17 22:22:17 +02:00
Johan Walles
9619c020e4
Add support for rendering TABs
2019-06-17 21:39:57 +02:00
Johan Walles
42c45aedae
Simplify Reader API
2019-06-16 21:54:25 +02:00
Johan Walles
e4006b2c78
Support inverse video
2019-06-16 21:39:27 +02:00
Johan Walles
aa1cd1da5f
Actually match moar and less output colors
2019-06-16 21:26:04 +02:00
Johan Walles
eecd9120cd
Look more like Ruby moar and less
2019-06-16 21:12:08 +02:00
Johan Walles
75760fb7fa
Support rendering bold text
2019-06-16 20:58:19 +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
8da0ecf37e
Merge branch 'walles/go-ansi-fgcolor' into go
2019-06-16 09:24:00 +02:00
Johan Walles
abe8f37eaf
Fix an off-by-one error
2019-06-16 09:23:25 +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
38f3c28faf
FIXME: Add broken-UTF8 tests
2019-06-15 17:13:10 +02:00
Johan Walles
0336c55a71
Add tests for ANSI foreground color support
2019-06-15 17:10:31 +02:00
Johan Walles
86007b3293
Remove useless threading
2019-06-15 09:23:53 +02:00
Johan Walles
05bd30c8d4
Add a Travis config file
2019-06-15 09:12:06 +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
e4b83d91b5
Fix another off-by-one error
2019-06-14 06:59:19 +02:00
Johan Walles
0abaf16da5
Fix off-by-one error in the _Reader
2019-06-14 06:49:27 +02:00
Johan Walles
da30eaf956
Handle displaying empty files
...
And introduce a unit test!
2019-06-13 20:04:51 +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
12210d923d
Read from the correct stream
...
Not always from stdin.
2019-06-11 18:28:36 +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
Johan Walles
6d56bb84aa
Add a file reading embryo
...
Nobody calls this yet unfortunately. Save for future use.
2019-06-10 08:30:16 +02:00
Johan Walles
35b0e74293
Fix resource leak
2019-06-10 06:54:08 +02:00
Johan Walles
af23822bc2
Put integration tests in tests.sh
...
This makes the testing code a bit simpler.
2019-06-09 22:03:25 +02:00
Johan Walles
1031450083
Add some more structure
2019-06-09 21:58:12 +02:00