Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust rewrite, initial part #579

Merged
merged 48 commits into from Nov 2, 2023
Merged

Rust rewrite, initial part #579

merged 48 commits into from Nov 2, 2023

Conversation

ku1ik
Copy link
Contributor

@ku1ik ku1ik commented Nov 2, 2023

This is the initial work for the upcoming 3.0 release, which will be based on full rewrite in Rust.

I've contemplated this, but I didn't have as many good reasons to justify it in the past. However, there's plenty of good reasons for me to do a Rust rewrite now.

Amongst other things the rewrite will:

  • allow easy integration of avt (which is written in Rust) to implement things like conversion to pure text, and give asciinema insight into what is actually happening in a terminal, enabling many more features
  • allow easy integration of tst (which is written in Rust) to implement terminal live streaming
  • allow easy integration of agg (which is written in Rust) so one doesn't need to install a separate tool
  • make startup faster - desired when automatically recording all shells/terminal tabs

Last but not least, I enjoy working with Rust much much more than with Python :)


More about the rewrite: https://discourse.asciinema.org/t/rust-rewrite-of-the-asciinema-cli/777

How to build/test the new version: https://discourse.asciinema.org/t/testing-the-new-rust-version-of-the-asciinema-cli/778/10

The plan for 3.0: https://discourse.asciinema.org/t/the-plan-for-the-asciinema-cli-3-0/790

@ku1ik ku1ik added this to the 3.0 milestone Nov 2, 2023
@ku1ik ku1ik merged commit 4393bb8 into develop Nov 2, 2023
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant