Implement init command and hopfiles #22

Open
BlankParenthesis wants to merge 2 commits from BlankParenthesis/hopper:impl-hopfiles into main

I went back and forth a lot on the best layout for hopfiles, but eventually stuck mostly to how it was described in the README. There are still a lot of questions surrounding the best format for this file and what info it should and should not store.

For example: should currently installed versions be stored here? what about project IDs rather than names? Regarding sources, I settled on a simple string format of "provider:modname" where provider can currenly only be "modrinth" with the expectation that other recognised sources
may exist in future.

Regarding the init command itself, I decided to avoid updating any existing file since this seemed like a predicatable and non-destructive implementation. I also briefly considered dropping the output location argument and having the file be written to stdout so that it could written by the shell, but stuck with the README once again.

In addition to all this, it's also possible an init command is unnesseary and the add/install command itself should be sufficient, but if a choice on that needn't be made right now this can be used as a placeholder to sketch out how hopfiles should be used.

I went back and forth a lot on the best layout for hopfiles, but eventually stuck mostly to how it was described in the README. There are still a lot of questions surrounding the best format for this file and what info it should and should not store. For example: should currently installed versions be stored here? what about project IDs rather than names? Regarding sources, I settled on a simple string format of "provider:modname" where provider can currenly only be "modrinth" with the expectation that other recognised sources may exist in future. Regarding the init command itself, I decided to avoid updating any existing file since this seemed like a predicatable and non-destructive implementation. I also briefly considered dropping the output location argument and having the file be written to stdout so that it could written by the shell, but stuck with the README once again. In addition to all this, it's also possible an init command is unnesseary and the add/install command itself should be sufficient, but if a choice on that needn't be made right now this can be used as a placeholder to sketch out how hopfiles should be used.
BlankParenthesis added 2 commits 2022-12-25 19:40:55 +00:00
c12be7b126 Implement init command
Which comes with basic hopfile support. I went back and forth a lot on
the best layout but eventually stuck mostly to how it was described in
the README. There are still a lot of questions surrounding the best
format for this file and what info it should and should not store.

For example: should currently installed versions be stored here? what
about project IDs rather than names? Regarding sources, I settled on a
simple string format of "provider:modname" where provider can currenly
only be "modrinth" with the expectation that other recognised sources
may exist in future.

Regarding the init command itself, I decided to avoid updating any
existing file since that seemed like a predicatable and non-destructive
implementation. I also briefly considered dropping the output location
and having the file be written to stdout so that it could written by the
shell, but stuck with the README once again.
emma referenced this issue from a commit 2023-03-23 04:19:06 +00:00
emma added the
enhancement
label 2023-03-23 04:28:10 +00:00
emma referenced this issue from a commit 2023-03-23 05:40:52 +00:00
This pull request can be merged automatically.
You are not authorized to merge this pull request.
You can also view command line instructions.

Step 1:

From your project repository, check out a new branch and test the changes.
git checkout -b BlankParenthesis-impl-hopfiles main
git pull impl-hopfiles

Step 2:

Merge the changes and update on Forgejo.
git checkout main
git merge --no-ff BlankParenthesis-impl-hopfiles
git push origin main
Sign in to join this conversation.
No description provided.