The clap-generated zsh completion scripts use unescaped double-quoted
strings for the subocommand description text, which causes backtick
characters to be evaluated.
Remove backticks from the subcommand descriptions, to un-break the zsh
completion scripts.
type: fixed
pr: https://github.com/casey/intermodal/pull/365
The command `--help` text output in the book was very wide, which caused
it to be clipped and require scrolling horizontally to see it all.
This diff renders the text at 80 columns, which makes it visible without
scrolling at reasonable screen sizes.
To do this, `env::run` now checks for the presence of the environment
variable `IMDL_TERM_WIDTH`, which, if set to a positive integer, will be
passed to `Clap::set_term_width`.
`bin/man` now uses this to render the help text at 80 characters.
type: documentation
pr: https://github.com/casey/intermodal/pull/364
Use the `wide_bar` indicatif format specifier to truncate the progress
bar when the terminal is narrow. This prevents the progress bar from
printing mulitple times when the terminal is narrow
type: fixed
pr: https://github.com/casey/intermodal/pull/353
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