The current publish recipe has a race condition, where pushing a release
tag will trigger a new GitHub Actions, build, causing the push to master
to fail, because the status checks are still in progress.
Finish with `just merge` instead of `just done`, which will wait on the
status checks to finish again.
type: development
pr: https://github.com/casey/intermodal/pull/368
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
- Don't fail now that archive contains directory
- Change default install location to `~/bin`
- Suggestion installing in ~/bin
- Add instructions to create `~/bin`, install there, and add `~/bin` to
the PATH variable.
type: distribution
pr: https://github.com/casey/intermodal/pull/352
Generates man pages and book entries for all subcommands, and keeps the
commands index in the book up to date.
There is much cursed roff munging in this diff.
type: documentation
This change Makes the changelog generator ignore fixup commits.
`git commit --fixup` can be used to mark that a commit should be
squashed before merging, which can be done automatically with
`git rebase --autosquash`. Fixup commits have a summary that starts with
`fixup!`
type: development
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
Document signature policy in readme. This will require changing the
workflow for merging commits, to avoid polluting the commit history with
signatures by a GitHub-controlled key.
type: documentation
Uses a crate in `bin/demo` to output a demo script of commands, with a
per-character and per-line delay, and a dummy prompt. Capture output
and render to a gif.
type: documentation
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