vezel-dev / cathode

A terminal-centric replacement for the .NET console APIs.
https://docs.vezel.dev/cathode
BSD Zero Clause License
91 stars 7 forks source link

Make `TextReader`/`TextWriter` properties on `TerminalReader`/`TerminalWriter` extensible #69

Closed alexrp closed 2 years ago

alexrp commented 2 years ago

https://github.com/alexrp/system-terminal/blob/b898186ffa1ec21e0a235d9b3b811253ec3b515b/src/core/IO/TerminalReader.cs#L11-L19

https://github.com/alexrp/system-terminal/blob/b898186ffa1ec21e0a235d9b3b811253ec3b515b/src/core/IO/TerminalWriter.cs#L10-L21

These properties should be made abstract like the Stream property. The implementation code above should be moved into NativeTerminalReader/NativeTerminalWriter.

alexrp commented 2 years ago

Related: TextReader.Synchronized and TextWriter.Synchronized return instances where even the asynchronous methods run synchronously. We should see if there's a better way.

alexrp commented 2 years ago

Related: TextReader.Synchronized and TextWriter.Synchronized return instances where even the asynchronous methods run synchronously. We should see if there's a better way.

Addressed in f559b4da9c07e82b54073ce53eda83a1704eaecd.