Comments (8)
Thanks for the issue, you are right windows terminals are not supporting attributes. Not sure what you mean with 'partial attributes'. The link you sent is about the ANSI escape codes which could be used for Windows 10 systems. Currently, crossterm already uses ANSI escape codes instead of WinApi for Windows 10 systems.
Could you elaborate more on what you mean with 'partial support' or 'partial attributes'?
from crossterm.
As in, unless I'm understanding this incorrectly, this shows that it supports bold (among others):
https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences#text-formatting
from crossterm.
Ah, yea now I see. I did never saw those options in the document, must have overlooked them. This is actually really cool and will be implemented of course. Thanks for creating this issue and letting me know.
Just for issue record:
The following attributes are needed to be implemented.
Value | Description | Behavior |
---|---|---|
0 | Default | Returns all attributes to the default state prior to modification |
1 | Bold/Bright | Applies brightness/intensity flag to foreground color |
4 | Underline | Adds underline |
24 | No underline | Removes underline |
7 | Negative | Swaps foreground and background colors |
27 | Positive (No negative) | Returns foreground/background to normal |
Currently, this is already working for UNIX terminal and so it is just a matter of removing some #[cfg(unix)]
attributes from the following methods. So that windows systems are also able to call those style methods.
https://github.com/TimonPost/crossterm/blob/master/src/modules/style/styledobject.rs#L84
https://github.com/TimonPost/crossterm/blob/master/src/modules/style/styledobject.rs#L101
https://github.com/TimonPost/crossterm/blob/master/src/modules/style/styledobject.rs#L120
from crossterm.
Hm, I might be wrong.
While it says it supports it, the terminal would disagree...
from crossterm.
Ok, nevermind.
I missed the foreach loops when I was removing the cfg(unix)
s.
It works now, but my god, it's barely visible...
It's basically just more... white....
from crossterm.
That's strange lol. However, how is Underline etc. doing?
from crossterm.
This is the final result with the PR I just made (Excluding the double "Bold Text". I had a duplicate line...).
from crossterm.
Awesome, work!
from crossterm.
Related Issues (20)
- Support OSC 52 for clipboard interraction HOT 1
- Support win32-input-mode
- `crossterm::event::poll` function fails on macOS with a timeout larger than 100 million seconds
- serde support for Attributes
- add support for win32-input-mode
- Synchronized Update doesn't work on Windows
- Support Pixel Coordinates in Mouse Events HOT 1
- Macros to reduce the syntactic burden of parsing events HOT 4
- Mouse down event isn't registered when it happened shortly after another click (double click)
- Document buffering behavior for events
- inconsistent and incorrect touch behaviour HOT 1
- available_color_count is wrong on Windows HOT 1
- Build break from #862
- Build error with use-dev-tty HOT 5
- * `use-dev-tty` is useless without `events`
- crossterm::terminal::size() returns Ok((0, 0)) in eshell
- Capture additional keys (Media keys, caps lock, etc.)
- Feature request: uefi support
- Can not capture `MediaKeyCode`s
- Color names
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 crossterm.