So I just finished work on another addition to my crystal-term project. This one, Term::Spinner is a fully featured async spinner library for Crystal CLI applications. It allows you to create a spinner which can be used to track the progress of a task, updated to show different statuses, and indicate error or success once the task is complete. For example:
You can also use
Term::Spinner::Multi to create a multispinner, which can contain any number of other individual spinners, each with their own jobs:
It’s been hard work getting to this point, a lot more than I thought for just making spinners in a terminal, but it should be ready to use. Let me know if you have any thoughts!