Welcome to MUGS ⚄♠♞🏹 (Multi-User Gaming Services)! | github.com/Raku-MUGS | v0.1.4 has been released! (github.com/Raku-MUGS/MUGS/blob/mai...v0.1.4.md) | This channel is logged for historical purposes; logs at irclogs.raku.org/mugs/index.html
Set by japhb on 3 March 2024.
Geth Terminal-Widgets/main: 5 commits pushed by (Geoffrey Broadwell)++ 08:41
japhb patrickb: The above allows working backwards from a mouse click location to a RenderSpan and then to the TextContent it came from. 09:02
This means that you'll be able to know the actual semantic content that backs up the rendered display at a given point 09:03
(Regardless of wrapping, squashing, etc.)
I have a commit that adds demo of that to the rich-text-viewer example, but unfortunately it reveals a bug on narrow displays which I need to fix before I push. (Because in the wrong set of circumstances, it can cause 100% CPU -- I probably have an edge case somewhere where one of the algorithms doesn't make progress.) 09:05
patrickb So I can get a click position at the text content level and be entirely oblivious that the text was span-ripped apart and wrapped. Yup, that's pretty nice
japhb Exactly. And since the text content model can carry arbitrary attributes around, you can for example have a span for a variable name in the source code you're inspecting that actually knows the real VAR it represents. 09:07
We might actually be able to use RakuAST parsing to produce the text content, and point back to the AST nodes from each rendered span automatically. :-D 09:09
patrickb Yeah, all of those edge cases. I am still fascinated of how complex the TUI Domain actually is. I'd have never expected for so many edge cases to exist. (Recalling my work on TreeView and RichText)
japhb NODNODNOD
I have an in-timezone bud that regularly gets to hear me rant about how text layout is going to drive me insane at some point. ;-) 09:10
The other thing is that now every rendered span knows the LineGroup and hard line number within that LineGroup from whence it came. So it "should be" easy to expand from a single clicked span to the entire original source line it came from. 09:13
A task for another day, since I need to go to sleep now.
Goodnight &
patrickb Sleep well!
Geth Terminal-Widgets/main: 5990616bac | (Geoffrey Broadwell)++ | lib/Terminal/Widgets/WrappableBuffer.rakumod
Fix various subtle line wrapping bugs
18:24
Terminal-Widgets/main: 2d299ebf2e | (Geoffrey Broadwell)++ | examples/rich-text-viewer.raku
Show more useful info in rich-text-viewer click-log
japhb patrickb: ^^ found and fixed the bugenses
You might want to launch rich-text-viewer in a large terminal to make it easier to read the detailed info in the click-log 18:25
Geth Terminal-Widgets/main: ec7c6d8775 | (Geoffrey Broadwell)++ | examples/rich-text-viewer.raku
Improve readability by factoring out process-click
18:38
Terminal-Widgets/main: 1aefcc2392 | (Geoffrey Broadwell)++ | examples/rich-text-viewer.raku
Darken click-log wrap markers slightly