1
1
mirror of https://github.com/walles/moar.git synced 2024-07-14 15:20:29 +03:00
Commit Graph

16 Commits

Author SHA1 Message Date
Johan Walles
917f75d591 Make the tests pass 2024-04-07 08:25:07 +02:00
Johan Walles
02209f3d1d Add compressed file highlighting test case
For the initial part of <https://github.com/walles/moar/issues/204>.
2024-04-06 08:32:34 +02:00
Johan Walles
f6571b3942 Improve color downsampling
Tested on the green-gradient.txt sample file, looks much better after
this change.
2024-01-12 15:01:37 +01:00
Johan Walles
f186b736da Add zstd compression support
I like zstd.
2024-01-08 21:25:15 +01:00
Johan Walles
077e5db9f3 Add terminal hyperlinks example 2023-05-01 15:11:22 +02:00
Johan Walles
cc6819efd0 Display Private Use Unicode characters
Before this change, we rendered those as highlighted question marks.

With this change in place, we just send them to the screen for
displaying.

The reason is that Font Awesome uses these for symbols, this one for
example: https://fontawesome.com/v4/icon/battery-empty

More reading: https://en.wikipedia.org/wiki/Private_Use_Areas
2023-02-28 19:28:37 +01:00
Johan Walles
5e847f4cd7 Improve large file reading performance by 10%
By reading the file in two passes.

The first pass just counts the lines in the file.

The second pass starts by preallocating the correct number of lines, and
then reads the file.

The whole time saving comes from not having to dynamically resize the
lines slice while reading the file.
2021-05-03 20:33:25 +02:00
Johan Walles
a9ee2fae9d Support SGR codes 90-97, bright colors
We just treat them as their plain counterparts.

After testing vs less and cat on iTerm2 3.3.9 / macOS Catalina 10.15.4
that's how they seem to handle this. Counter examples welcome.

Fixes #24
2020-04-22 21:39:58 +02:00
Johan Walles
b25cfc692e Make start of line identifiable
Change-Id: I1fa4b4fa5b25ec58b418a53dbb4d38b6f473d172
2019-11-19 16:21:58 +01:00
Johan Walles
aaa25b74f3 Add sample file with a long line
This file breaks the test suite.

Change-Id: I510e1ddf98dadb02d1848702e9e83aaacf0f6e78
2019-11-19 15:33:50 +01:00
Johan Walles
b781d09a72 Add another test case
diff --git m/reader_test.go m/reader_test.go
index 176192b..bed1e33 100644
--- m/reader_test.go
+++ m/reader_test.go
@@ -30,6 +30,12 @@ func _TestGetLineCount(t *testing.T, reader *Reader) {
 	if err != nil {
 		t.Error("Error counting lines of", *reader.name, err)
 	}
+
+	if strings.HasSuffix(*reader.name, "/line-without-newline.txt") {
+		// "wc -l" thinks this file contains zero lines
+		fileLineCount = 1
+	}
+
 	if reader.GetLineCount() != fileLineCount {
 		t.Errorf("Got %d lines but expected %d: <%s>",
 			reader.GetLineCount(), fileLineCount, *reader.name)
diff --git sample-files/line-without-newline.txt sample-files/line-without-newline.txt
new file mode 100644
index 0000000..2260c57
--- /dev/null
+++ sample-files/line-without-newline.txt
@@ -0,0 +1 @@
+This file contains no newlines
\ No newline at end of file

Change-Id: Ic2801ce3477a7afd4537d340385c884c5f2b7438
2019-11-19 14:47:44 +01:00
Johan Walles
7405293e25 Add sample file for color handling
From #14
2019-10-28 21:54:57 +01: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
e640c7d856 Add (failing) compressed-files tests 2019-06-23 21:30:11 +02:00
Johan Walles
da30eaf956 Handle displaying empty files
And introduce a unit test!
2019-06-13 20:04:51 +02:00
Johan Walles
f3097e7450 Reboot in Go 2019-06-08 22:12:52 +02:00