1
1
mirror of https://github.com/walles/moar.git synced 2024-11-29 17:23:37 +03:00
Commit Graph

56 Commits

Author SHA1 Message Date
Johan Walles
5313c02dd6 Simplify line rendering more 2023-10-10 21:26:43 +02:00
Johan Walles
dff0774141 Simplify line rendering 2023-10-10 21:14:36 +02:00
Johan Walles
99de54c510 Pass another mutation test 2023-10-10 20:46:53 +02:00
Johan Walles
8478883821 Test another corner case
It worked!
2023-10-10 06:18:03 +02:00
Johan Walles
a082fe207e Use the correct style for the trailer 2023-10-10 06:16:09 +02:00
Johan Walles
59a636205a Add trailing whitespace test
Failing.
2023-10-10 06:01:49 +02:00
Johan Walles
d7c104e80a Be smarter about line endings
Doesn't help Kitty though, don't know why.
2023-10-09 19:52:01 +02:00
Johan Walles
cd95996e8e Shortcut common style changes 2023-10-09 19:45:43 +02:00
Johan Walles
47e72d093c Fix an outdated test 2023-10-09 19:45:27 +02:00
Johan Walles
c747b8ec0b Add test for #161
It fails.
2023-10-08 12:00:07 +02:00
Ilya Grigoriev
7b8d7eafe3 keys.go: Allow alternative Home/End key encoding
My setup is Tmux running in Alacritty on Debian Linux running on Chrome OS.
Before this change, Home and End keys did not work for me inside Tmux.
(Outside tmux, I don't think there was a problem).

I got the required sequences by running `cat` and pressing Home/End.

This looks similar to (or possibly the opposite of)
daafbcdac4.
The reference in that commit mentions these sequences for Home and End, these
kinds of sequences were already used for Delete, PgUp, and PgDown. 

For reference, the missing `\x1b[2~`  sequence would correspond to the Insert
key.
2023-09-29 23:30:38 -07:00
Johan Walles
5932600b65 Handle more TTY corner cases
Fixes #150, which I to my surprise could reproduce on my own machine.
2023-08-31 19:48:02 +02:00
Johan Walles
5a33eda766 Improve console input EOF handling
Related to #126. Need some Windows tester to tell me how it works.
2023-08-30 21:26:29 +02:00
Johan Walles
574235bc03 Print log messages on panic()
Before this change, if moar...
1. Logged some messages
2. Panicked

... then only the panic() output would be printed and the log messages
would be lost.

With this change in place, both are printed.
2023-08-27 09:02:31 +02:00
Johan Walles
848958dad0 Clarify where Windows errors come from 2023-08-14 19:47:42 +02:00
Johan Walles
daafbcdac4 Handle "SS3" arrow key events
Ref:
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-C1-_8-Bit_-Control-Characters

Fixes #138
2023-06-07 19:49:13 +02:00
Johan Walles
15a90f5f77 Do all < 32 characters, not just ESC 2023-06-06 08:50:42 +02:00
Johan Walles
6abe5ba1b1 Improve debug logging of unhandled key events
Should help troubleshooting #138.
2023-06-06 08:31:42 +02:00
Johan Walles
5ea3e61e8c Improve test diagnostics 2023-05-03 19:45:04 +02:00
Johan Walles
6f8fc89f2e Improve parsing
But it still doesn't work.
2023-05-03 19:07:32 +02:00
Johan Walles
dc0fe53366 Don't repeat the same hyperlink 2023-05-02 06:30:09 +02:00
Johan Walles
f6b7edc768 Reset hyperlinks at the end of each screen line 2023-05-02 06:29:37 +02:00
Johan Walles
a4da40ff8c Add rendering support for terminal hyperlinks 2023-05-01 15:56:08 +02:00
Johan Walles
9ee1d18ab5 Add another test
Turns out the thing I worried about wasn't moar's fault, but this test
is still valid so let's keep it.

Ref: https://gitlab.com/gnachman/iterm2/issues/10862
2023-03-23 22:42:40 +01:00
Johan Walles
a5bd7037e3 Single character shift when moving right / left
By holding ALT while pressing the right / left arrow keys.

Relates to #130.
2023-03-19 11:25:52 +01: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
e8a948ae9a Additional corner case test 2023-01-11 11:08:38 +01:00
Johan Walles
05a2153c2c Fix handling incoming pastes 2023-01-11 11:06:38 +01:00
Johan Walles
3e8ba22a0d Test all existing functionality 2023-01-11 10:44:24 +01:00
Johan Walles
31d9bdc95f Add initial input consumtion test
The idea is that when this test grows up it's going to cover
https://github.com/walles/moar/issues/73.
2023-01-11 10:14:07 +01:00
Johan Walles
3e9d6d2a44 Bump testing library to latest version 2022-09-25 09:06:46 +02:00
Johan Walles
46a5924796 Fix feature envy
The ScreenLines struct was just a subset of the pager struct.
2022-02-18 19:27:10 +01:00
Johan Walles
dd776b94fa golangci-lintify linter exclusions 2022-02-13 08:34:09 +01:00
Johan Walles
b96c88c4d1 Support retaining screen contents after exit
Fixes #76.
2021-11-09 18:56:02 +01:00
Johan Walles
46b84fb392 Add a Windows executable to the release 2021-09-10 06:50:44 +02:00
Johan Walles
e605199d92 Trim leading whitespace from wrapped lines 2021-05-23 16:23:04 +02:00
Johan Walles
8a5f6fe473 Strip trailing whitespace when wrapping 2021-05-23 15:25:46 +02:00
Johan Walles
da47a1730e Fix off-by-one screen rendering corner case 2021-05-22 11:42:42 +02:00
Johan Walles
2b1e87b8ac Log received events on trace level
If you run moar with -trace you'll get all handled events listed after
moar finishes running.

The point would be to be able to debug mishandled keys as reported
in #55.

Also, remove the screen refresh timings from the trace logs. We get lots
of them, and I don't think they provide value any more.
2021-05-13 19:12:44 +02:00
Steven Penny
f76fd6ddd3 Simplify StyleDefault definition
StyleDefault is all zero values, so we can simplify the definition. If that
changes in the future (not likely) we can go back to the old definition method.

Fixes #57
2021-05-11 08:14:15 -05:00
Steven Penny
0f9ae758d5 Use CONIN$ for Windows screen setup
Fixes #49
2021-04-22 14:03:22 -05:00
Johan Walles
a211a28f49 Correct URL, take II 2021-04-21 06:29:34 +02:00
Johan Walles
2cf40d8f0a Correct URL 2021-04-21 06:25:52 +02:00
Johan Walles
730ed46f4f Fix errcheck reported problems 2021-04-20 08:43:37 +02:00
Johan Walles
44dc59d365 Better error message on paging to non-tty 2021-04-18 18:37:55 +02:00
Johan Walles
39ab1fc93d Don't panic on no-piped-stdin on Windows 2021-04-18 13:33:13 +02:00
Johan Walles
1b292fa050 Improve messaging 2021-04-18 07:45:41 +02:00
Johan Walles
4e8c49ea8d Warn about getting piped data on Windows 2021-04-18 07:36:13 +02:00
Johan Walles
1e46089cff Fix build errors on Unix 2021-04-17 22:29:45 +02:00
Johan Walles
ff9380fe15 Restore console settings when done 2021-04-17 22:29:45 +02:00