Comments (1)
What about just supporting the ANSI Escape SGR parameters?
This way we don't have to invent new markup.
If we re-built Label on top of XTermSharp
we'd get this mostly for free.
In my opinion we should do the following:
- Implement a robust read-only text engine that supports:
- left, right, center, justifiied justifiction
- line wrap (both word and character based)
- rendering ANSI color/formatting sequences
- Put this text engine under Label
Use Label as a child control (or renderer) inside all other controls that display read-only text: Window.Title, MessageBox, TextField, etc...
@migueldeicaza has been doing work on a better text editor component for SwiftTerm. I suspect that work will not be useful to Terminal.Gui since it's probably tied to iOS. I think having a robust read-only text engine is more important that having BOTH that and an editor. And I'm not convinced they need to be based on the same thing (although one could argue that you'd read-only to just be a read-only version of edit.
(FWIW, I recently built an engine that comes close to this as part of https://github.com/tig/winprint. It doesn't support right, center, or justified and has lame word wrapping, but it DOES do ANSI formatting. It is based on https://github.com/rasmus-toftdahl-olesen/libvt100. I didn't know about @migueldeicaza's XtermSharp when I started, and XtermSharp doesn't support > 8bit color sequences, so I kept with libvt100. It's possible that one way to build this all is to simply layer it on top of XtermSharp or libvt100. I may build a POC of this.)
from terminal.gui.
Related Issues (20)
- Not always getting `Button1Clicked` events on `Netdriver` or `CursesDriver`
- NetDriver sometimes isn't decoding the correct color value HOT 2
- `Dialog` width sometimes increases before it close. HOT 3
- WindowsDriver is sending mouse button pressed only on moving. HOT 4
- `WindowsDriver` emits spurious Button press mouse events HOT 1
- `WindowsDriver` makes it impossible for an app to get fast mouse clicks HOT 1
- v2: Application.Top is null HOT 2
- Title Centering HOT 3
- Button clicked event is raised even with mouse button pressed on another view. HOT 3
- View.Dispose doen't call UngrabMouse if MouseGrabView is the view itself. HOT 6
- `ListViewWIthSelection` scenario does not show all rows and other issues HOT 1
- Does Terminal.GUI supports aarch64 arhitecture? HOT 3
- Mouse doubleclick stops continous pressed events. HOT 2
- Fix focus and keyboard nav with `Adornments`
- Refactor `Border` to use subviews for title, lines, and close button
- Long-standing repaint-flicker issue. HOT 8
- `Content Scrolling` Scenario doesn't illustrate `ClearContentOnly` properly
- Improve redraw performance by making `Clip` be a `Region` instead of `Rectangle` HOT 22
- `TextFormatter` bugs HOT 35
- Add internal analyzers and source generators HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terminal.gui.