manrajgrover / halo

💫 Beautiful spinners for terminal, IPython and Jupyter
MIT License
2.86k stars 148 forks source link

feat: @halo wrapped function can accept halo instance as 'spinner' parameter #174

Open YodaDaCoda opened 1 year ago

YodaDaCoda commented 1 year ago

Description of new feature, or changes

When wrapping a function with @Halo syntax the wrapped function has no access to the spinner and therefore cannot do any of the extra stuff with the spinner, such as change the text. With this change, if the wrapped function accepts a spinner parameter, the halo instance is passed as the value for that parameter.

Considerations: If the wrapped function is called passing a value to the spinner parameter, this may override it or produce an error, I'm unclear. The behaviour here, or the possibility to configure the name of the parameter, are things I've considered but not put effort into implementing - love to discuss.

(the change is working great as-is in a personal project of mine)

TODO: tests, based on outcome of above discussion.

Checklist

Related Issues and Discussions

n/a

People to notify

n/a