| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, we stopped rendering a line on its first Unicode replacement
character, because we used that special value for detecting invalid
Unicode bytes.
Now that we pre-process incoming strings to replace invalid Unicode
bytes with the Unicode replacement character [1], there is no need to
stop rendering a string on this character: it should just be passed
through as is.
[1]: 700139404044730a726af7cd57e3d2dbc07871ea
|
|
|
|
| |
I meant to add 0-padding to avoid spaces.
|
|
|
|
|
|
|
| |
OSC 8 hyperlink ID support was merged into tcell. We can now use those
IDs to help terminal emulators identify links spanning multiple lines,
possibly highlighting the whole link whe it is hovered, or creating a
single link hotkey for them.
|
|
|
|
|
|
|
|
|
|
|
| |
tcell has merged OSC support in [1], with support for more terminals
than what was added in the tcell fork we used.
Now, all terminals with mouse sequences support should receive OSC 8
hyperlinks sequences.
[1]: https://github.com/gdamore/tcell/pull/527/commits/e7b14a71dc78721c0f007fd6197262c52c1d4df9
Fixes: https://todo.sr.ht/~taiite/senpai/103
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Following a quick local profiling & benchmark, matching links with
regexes is by far (>50x) the most time-consuming processing we do,
especially on start.
Switching to a URL regex with any scheme is faster by a factor of ~x8,
probably because there are many less "or" cases between a list of 100+
schemes, instead using a simple character class.
|
| |
|
|
|
|
|
|
|
|
|
| |
According to a CPU profiling I meade, the regex applied on each incoming
message took a substantial part of the CPU time. The slowdown it caused
was noticable at startup.
This optimizes the URL parsing by eliminating fast-path cases where no
dot appears to avoid parsing the line with a regex in those cases.
|
| |
|
| |
|
|
|
|
|
|
| |
This makes multi-line links properly clickable.
See: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
|
| |
|
| |
|
|
|
|
| |
So that the colors go well with the terminal background.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- enable bracketed paste
- use hex color codes instead of ansi
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Centralize message formatting
- Make line formatting more flexible
- Provide more information in irc events
- Refactor command handling
- Add a /help command
- Make /me reply to last query if from home
- Enforce argument for /me
- Make BufferList and Editor public
- Batch processing of IRC events
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Because some characters were not using the number of cells
runewidth.RuneWidth returned, eg \u2026 and \u2192.
|
|
- Put timestamps, nicks and messages into separate columns
- Print a bar in the "typing" row
- Fix word wrapping
- Improve channel list display
|