fixed some problems with the command structure
This commit is contained in:
parent
716579f824
commit
4dc5cea89a
187
README.md
187
README.md
|
@ -68,12 +68,9 @@ Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.c
|
|||
- A `man(1)` entry
|
||||
|
||||
### Low Priority:
|
||||
- `fish(1)` autocomplete
|
||||
- `bash(1)` autocomplete
|
||||
- `zsh(1)` autocomplete
|
||||
- [Nushell](https://www.nushell.sh/) autocomplete
|
||||
- Shell autocomplete
|
||||
- Configurable search result display like [Starship](https://starship.rs)
|
||||
- Versioning system repository package management & compilation
|
||||
- Version-control system repository package management & compilation
|
||||
|
||||
## External-Dependent:
|
||||
- Conflict resolution
|
||||
|
@ -86,38 +83,34 @@ Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.c
|
|||
[Modrinth REST API
|
||||
docs](https://docs.modrinth.com/api-spec/)
|
||||
|
||||
# File Architecture
|
||||
# File Structure
|
||||
|
||||
```
|
||||
~/.hopper/
|
||||
├── hopper.conf
|
||||
├── cache/
|
||||
├── "$XDG_CONFIG_HOME"/hopper.toml
|
||||
├── "$XDG_CACHE_HOME"/hopper/
|
||||
│ ├── 1.19.1/
|
||||
│ │ └── fabric/
|
||||
│ └── 1.18.2/
|
||||
│ ├── forge/
|
||||
│ └── plugin/
|
||||
└── templates/
|
||||
└── "XDG_DATA_HOME"/templates/
|
||||
└── example-template.hop -> ~/.minecraft/mods/example-template.hop
|
||||
```
|
||||
|
||||
# Hopfile Structure
|
||||
|
||||
Hopfiles will contain a Minecraft version number, a list of packages, the name
|
||||
of the type of package it uses, and any references to other hopfiles it's based
|
||||
on, or "templates". If a hopfile is based on other template hopfiles, it
|
||||
inherits the packages from them. A hopfile does not inherit the package or
|
||||
Minecraft version from a template.
|
||||
Hopfiles will contain a Minecraft version number, a list of packages, and any
|
||||
references to other hopfiles on which it's based, or "templates". If a hopfile
|
||||
is based on other template hopfiles, it inherits the packages from them. A
|
||||
hopfile does not inherit the package or Minecraft version from a template.
|
||||
|
||||
```
|
||||
template = example-template
|
||||
|
||||
mc-version = 1.19.2
|
||||
|
||||
type = fabric
|
||||
template = "example-template"
|
||||
mc-version = "1.19.2"
|
||||
|
||||
[packages]
|
||||
sodium
|
||||
fabric-mod = [ "sodium", "lithium" ]
|
||||
resource = "alacrity"
|
||||
```
|
||||
|
||||
# Hopper Configuration File Structure
|
||||
|
@ -129,99 +122,131 @@ which to compile mods. The latter will use a (potentially custom) build file
|
|||
format to be defined at a later date.
|
||||
|
||||
```
|
||||
[hopfiles]
|
||||
file = ~/.minecraft/mods/1.19.1.hop
|
||||
hopfiles = [
|
||||
"~/.minecraft/mods/template.hop",
|
||||
"~/.minecraft/1.91.1/mods/1.19.1.hop"
|
||||
]
|
||||
|
||||
# Mod Hosts
|
||||
|
||||
[Modrinth]
|
||||
api = https://api.modrinth.com/
|
||||
|
||||
[CurseForge]
|
||||
api = https://api.curseforge.com/
|
||||
|
||||
# Git Repositories
|
||||
|
||||
[Iris Shaders]
|
||||
source = git+https://github.com/IrisShaders/Iris.git
|
||||
[sources]
|
||||
modrinth = "https://api.modrinth.com/"
|
||||
curseforge = "https://api.curseforge.com/"
|
||||
git = [
|
||||
"git+https://github.com/IrisShaders/Iris.git"
|
||||
"git+https://github.com/CaffeineMC/sodium-fabric.git"
|
||||
]
|
||||
```
|
||||
|
||||
# Docs
|
||||
|
||||
## Usage
|
||||
|
||||
`hopper [SUBCOMMAND] [OPTIONS]`
|
||||
|
||||
## Common OPTIONS:
|
||||
|
||||
`-d`, `--dir [FILE]`
|
||||
|
||||
 Specifies the path for the hopfile being utilized
|
||||
|
||||
`-f`, `--filename [FILE]`
|
||||
|
||||
 Saves to a specific file name.
|
||||
|
||||
`-m`, `--mc-version [VERSION]`
|
||||
|
||||
 Specifies for what VERSION of Minecraft PACKAGES are being managed
|
||||
|
||||
`-t`, `--type [TYPE]`
|
||||
|
||||
 Specifies what TYPE of PACKAGEs is being referenced. TYPEs include
|
||||
modloader names like `fabric`, `forge`, and `quilt`, as well as `resource` packs
|
||||
and mod`pack`s.
|
||||
`hopper [options...] [subcommand...]`
|
||||
|
||||
## OPTIONS
|
||||
|
||||
`-v`, `--verbose`
|
||||
|
||||
 Includes debug information in the output of `hopper` commands.
|
||||
 Includes debug information in the output of `hopper` subcommands.
|
||||
|
||||
## SUBCOMMANDs
|
||||
## SUBCOMMANDS
|
||||
|
||||
`get [OPTIONS] PACKAGE`
|
||||
`get [options...] [targets...]`
|
||||
|
||||
 Searches for a PACKAGE, displays the results, and downloads any selected
|
||||
PACKAGES to the local cache.
|
||||
 Searches for packages, displays the results, and downloads any selected
|
||||
packages to the local cache. If multiple targets are specified, results are
|
||||
displayed in order of specification.
|
||||
|
||||
OPTIONS
|
||||
### OPTIONS
|
||||
|
||||
 `-d`, `--dir [directory...]`
|
||||
|
||||
  Specifies the directory to download to (default is "$XDG_CACHE_HOME"/hopper/).
|
||||
|
||||
 `-m`, `--mc-version [version...]`
|
||||
|
||||
  Specifies for what version of Minecraft packages are being retrieved.
|
||||
|
||||
 `-n`, `--no-confirm`
|
||||
|
||||
  Does not display search results and downloads exact matches to the
|
||||
cache. Requires `--mc-version` and `--type` be specified.
|
||||
|
||||
`init [OPTIONS] --mc-version VERSION --type TYPE TEMPLATE`
|
||||
 `-t`, `--type [types...]`
|
||||
|
||||
  Specifies what types of packages are being queried.
|
||||
|
||||
`init [options...]`
|
||||
|
||||
 Creates a hopfile in the current directory and adds it to the global known
|
||||
hopfiles list in the configuration file. If a TEMPLATE is passed as an
|
||||
argument, the hopfile is added as a new template. A name is generated
|
||||
using the VERSION and TYPE specified unless `--filename` is used.
|
||||
hopfiles list.
|
||||
|
||||
OPTIONS
|
||||
### OPTIONS
|
||||
|
||||
 `--template [TEMPLATE1,TEMPLATE2...]`
|
||||
 `-d`, `--dir [directory...]`
|
||||
|
||||
  Specifies TEMPLATE hopfiles' names upon which to base the new
|
||||
hopfile.
|
||||
  Specifies the directory in which the hopfile is being created.
|
||||
|
||||
`install [OPTIONS] PACKAGE`
|
||||
 `-f`, `--hopfile [hopfiles...]`
|
||||
|
||||
 Adds a PACKAGE to the current hopfile and runs `hopper update`. If the
|
||||
PACKAGE cannot be found in the package cache, it runs `hopper get` first.
|
||||
  Specifies templates upon which to base the new hopfile. Hopfile
|
||||
names should be comma-delineated.
|
||||
|
||||
OPTIONS
|
||||
 `-m`, `--mc-version [version]`
|
||||
|
||||
 `--template [TEMPLATE1,TEMPLATE2...]`
|
||||
  Specifies for what version of Minecraft packages are being managed.
|
||||
|
||||
  Specifies a template hopfile to which to install mods
|
||||
 `-t`, `--type [type...]`
|
||||
|
||||
`list [OPTIONS]`
|
||||
  Specifies what type of packages will be listed in this hopfile.
|
||||
|
||||
`install [options...] [packages...]`
|
||||
|
||||
 Adds packages to the current hopfile, symlinking them to its directory. If
|
||||
the package cannot be found in the package cache, `hopper get` is run first.
|
||||
|
||||
### OPTIONS
|
||||
|
||||
  `-f`, `--hopfile [hopfiles...]`
|
||||
|
||||
  Specifies hopfiles to which mods will be added. Hopfile names and
|
||||
paths should be comma-delineated.
|
||||
|
||||
`list [options...]`
|
||||
|
||||
 Lists all installed packages.
|
||||
|
||||
`update [OPTIONS] PACKAGE`
|
||||
### OPTIONS
|
||||
|
||||
  `-f` `--hopfile [hopfiles...]`
|
||||
|
||||
  Lists packages installed in a specified hopfile.
|
||||
|
||||
 `-m`, `--mc-version [version]`
|
||||
|
||||
  Specifies for what version of Minecraft packages are being managed.
|
||||
|
||||
 `-t`, `--type [types...]`
|
||||
|
||||
  List all packages of a specified type.
|
||||
|
||||
`update [options...]`
|
||||
|
||||
 Updates installed packages and adds mods if they're missing to directories
|
||||
with known hopfiles.
|
||||
|
||||
### OPTIONS
|
||||
|
||||
 `-f`, `--hopfile [hopfiles...]`
|
||||
  Updates only packages in the specified hopfile. Note that this
|
||||
option creates a new file and symlink as it does not update the packages for
|
||||
other hopfiles.
|
||||
|
||||
 `-t`, `--type [types...] [packages...]`
|
||||
|
||||
  Updates only packages of a specified type. Optionally takes a list
|
||||
of packages as an argument.
|
||||
|
||||
 `-m`, `--mc-version [version]`
|
||||
|
||||
  Specifies for what version of Minecraft packages are being updated.
|
||||
|
||||
 Updates installed PACKAGEs and adds mods if they're missing to directories
|
||||
with known hopfiles. If a PACKAGE is passed, `--type` must be specified so that
|
||||
hopper `update`s the correct package.
|
Loading…
Reference in New Issue