doron-cohen / antidot

Cleans up your $HOME from those pesky dotfiles
MIT License
305 stars 18 forks source link

All my changes in one PR, since I had made a mess of things - support ion, simplify logic #172

Open magnus-ISU opened 2 years ago

magnus-ISU commented 2 years ago

The biggest change is that this PR simplifies a lot of logic, makes the program touch less stuff / have less files that could break, resolving #162, also improves some help messages and causes antidot init to tell the user what to do with the output / how to run it. These messages explicitely say to use -s for fish and ion since on Garuda Linux running fish still keeps $SHELL == bash somehow.

Also makes it marginally easier to support new shells.

Previously antidot clean would generate ~/.local/share/antidot/kvstore.json, ~/.local/share/antidot/env.sh, and ~/.local/share/antidot/alias.sh and then antidot init would create a default script that would source those two scripts, with extra logic to test if those scripts exist and other nonsense.

Now antidot clean generates ~/.local/share/antidot/kvstore.json and antidot init creates a script based on the kvstore that creates all aliases and sources all variables.

Next, this PR adds support for the ion shell.

Additionally, this PR improves some help and error messages.

Finally, this PR adds a section to the README about how to build antidot, and adds the binary file to the .gitignore.

doron-cohen commented 1 year ago

@magnus-ISU thanks for the PR. I really appreciate the effort. It's been some time since I actively maintained this project but now I am back. I plan to make some changes in the code and some align with what you did here. I will take some of your patches and push them in the next few weeks.