rust-crates / ergo

the ergo crate ecosystem: making rust's ecosystem more ergonomic, therefore more fun.
Other
58 stars 3 forks source link

Initial sub-crates #1

Open vitiral opened 6 years ago

vitiral commented 6 years ago

The following intial crates are targeted towards the following weeks:

Something that the ecosystem isn't quite ready for but is probably close

I'm considering not exporting std_prelude, and instead each crate exports the relevant traits/types in it's own prelude. I think this is the right approach.

vitiral commented 6 years ago

other sub-crates:

@killercup thoughts on these?

BurntSushi commented 6 years ago

Quick thoughts:

  1. You might reconsider chan-signal. It doesn't work on Windows, and while this project hasn't said anything about platform support (?), it is probably a good idea to keep Windows as a first class citizen.
  2. chan is hopefully in line to be deprecated soon in favor of crossbeam-channel: https://docs.rs/crossbeam-channel/0.1.2/crossbeam_channel/
vitiral commented 6 years ago

Thanks for the feedback! Ya I was actually thinking these exact thoughts. I'm almost done evaluating crossbeam-channel and was going to include ctrlc as the included library, with examples. (and just recommend some crates that could be used for posix only systems).

vitiral commented 6 years ago

See the below issues for ergo_sync. I have a feeling ergo_sync will be beta for quite a while:

richard-uk1 commented 6 years ago

Can I register my interest for helping with ergo_term.

I was planning to attempt a platform abstraction library for terminals, but working as part of a team would increase the chance of my work being useful/getting finished.

My plan for the term library was as follows:

I would design it first as an API with the assumption that all capabilities are preset (color, cursor relocation, etc), and then panic on platforms/systems where they are not available, along with an API to get available terminal capabilities.

Then, we would want to implement this for a lot of different types of systems. Embedded systems with a serial cabel right through to ansi terminal in windows 10, but including support for old terminals on windows.

Prior art:

I'm not sure if this library aims to be higher-level, or not, but either way I have some knowledge of terminals on windows and posix, so hopefully I would be useful.

vitiral commented 6 years ago

@derekdreery absolutely! I should mention that this is (in my opinion) one of the more challenging conglomeration crates -- but I think it is absolutely needed as well.

I opened #9 for further discussion. Thanks for your interest!