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

Not implementing all flags of original lolcat #51

Closed
dancojocaru2000 opened this issue May 4, 2023 · 3 comments
Closed

Not implementing all flags of original lolcat #51

dancojocaru2000 opened this issue May 4, 2023 · 3 comments

Comments

@dancojocaru2000
Copy link

dancojocaru2000 commented May 4, 2023

My distributions, to my disappointment, distribute this lolcat instead of the original, despite this lolcat not implementing the following parts of original lolcat --help and breaking my scripts:

  -p, --spread=<f>      Rainbow spread (default: 3.0)
  -F, --freq=<f>        Rainbow frequency (default: 0.1)
  -S, --seed=<i>        Rainbow seed, 0 = random (default: 0)
  -a, --animate         Enable psychedelics
  -d, --duration=<i>    Animation duration (default: 12)
  -s, --speed=<f>       Animation speed (default: 20.0)
  -t, --truecolor       24-bit (truecolor)

True color is implemented as --24bit and -b, but, since -t and --truecolor are not accepted, this also breaks compatibility. Similarly, --seed is implemented in both, but in this version the short form is -s and in the original lolcat it is -S.

@jaseg
Copy link
Owner

jaseg commented May 5, 2023

This lolcat intentionally does not have the same feature set as the ruby one. Otherwise, it wouldn't be as small and as fast. For instance, properly implementing --animate requires pretty much a whole terminal emulator.

I'd welcome a PR that adds aliases for the ruby lolcat's argument format, and I'd also be okay with aliases that just ignore parameters to the ruby lolcat that this lolcat doesn't support (instead of throwing an error message).

@dancojocaru2000
Copy link
Author

If it intentionally does not have the same features, then calling it a clone or an implementation of the original feels misleading.

I will try to look into submitting such a PR, but I quite dislike C, and for now my workaround is replacing lolcat with a shell script running a Docker container containing the original lolcat (very much not reducing the world's carbon dioxide emissions), so I'm not in that hurried.

That said, I don't use animation mode myself, so the flags that are not related to that should hopefully be easy to implement? Maybe?

@jaseg
Copy link
Owner

jaseg commented May 5, 2023

Command-line compatibility is now tracked in #52. I'm closing this issue because I find your tone a bit off. Nobody forces you to use this lolcat, if you want the other one just get a ruby and install it. rvm even has a nice curl | bash installer that I'm sure will work on your distro.

@jaseg jaseg closed this as completed May 5, 2023
Repository owner locked and limited conversation to collaborators May 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants