If a user passes `--input foo`, print "Searching `foo` for files…",
instead of the resolved, absolute path to `foo`, since the former is
what the user typed in.
This was way harder, and had way more edge cases, than I thought it would
be!
One takaway, lexical path cleaning is excellent.
type: changed
fixes:
- https://github.com/casey/intermodal/issues/252
- https://github.com/casey/intermodal/issues/332
When an empty path is passed to `Env::resolve`, the result is the
current working directory. This is bad, so forbid the user to pass in
empty paths.
type: fixed
Torrents may now be created from standard input by passing `--input -`.
Since `--name` and `--output` cannot be deduced, they are required when
`--input -`.
type: added
Shell completion scripts can be generated for `bash`, `elvish`, `fish`,
`powershell`, and `zsh` with the `completions` subcommand:
$ imdl completions --shell zsh > imdl.zsh
The same scripts are available in the `completions` directory. Please
refer to your shell's documentation for more information on how to
install and use completion scripts.
type: added
Sort specs are of the form `KEY:ORDER`, and allow sorting files in a
torrent by multiple criteria. Multiple sort specs can be passed with
`--sort-by` upon torrent creation.
type: added
The order in which files appear in torrents can now be controlled
with the `--order` flag:
imdl torrent create --input foo --order alphabetical-asc
See `--help` documentation for possible values.
type: added
- Trigger GitHub Actions workflow on release tags
- Make build script tolerate not being called in git directory
- Omit git hash in created by message if not built in git directory
- Test created by message format
type: distribution
Add additional data to magnet links in `imdl torrent link`.
- Set the `dn` query parameter with `metinfo.info.name`
- Add peers to the `x.pe` query parameter:
imdl torrent link --peer HOST:PORT
type: added
The `0.1.0` release is coming up, and a prerequisite to publish to
crates.io is to not depend on any non crates.io dependency.
We're using the `{binary_bytes_per_sec}` formatting spec, which is only
in my fork.
I published my fork to crates.io as `imdl-indicatif`, and this diff
starts depending on that fork.
type: distribution
- Switch to my branch of indicatif on github
- Use binary braille spinner
- Use fine-grained progress bar
- Improve template formatting
- Use SI units for bytes/s
type: changed
The torrent summary is large, and makes it easy to miss the create
progress bar and messages. Only show summary if the user passes
`--show` / `-S` to `imdl torrent create`.
type: changed
- Use lowercase table names when priting to terminal
- Use `Creation Date` instead of `Created`, to make it
distinct from the `Created` field
type: changed
- Format with nightly rustfmt
- Enable unstable options in rustfmt.toml
- Turn off git text file detection, so newlines are always unix newlines
type: reform
The --dht-node flag can be used to add DHT bootstrap nodes to new torrents.
This is the only piece of metainfo-related functionality in BEP 5, so we can mark BEP
5 as implemented.
type: added