Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Instead of changing the current directory with
env::set_current_dir
to be implicitly inherited by subprocesses, we now use
Command::current_dir
to set it explicitly. This feels much better,since we aren't dependent on the implicit state of the process's
current directory.
Subcommand execution is much improved.
Added a ton of tests for config parsing, config execution, working
dir, and search dir.
Error messages are improved. Many more will be colored.
The Config is now onwed, instead of borrowing from the arguments and
the
clap::ArgMatches
object. This is a huge ergonomic improvement,especially in tests, and I don't think anyone will notice.
--edit
now uses$VISUAL
,$EDITOR
, orvim
, in that order,matching git, which I think is what most people will expect.
Added a cute
tmptree!{}
macro, for creating temporary directoriespopulated with directories and files for tests.
Admitted that grammer is LL(k) and I don't know what
k
is.Fixes #485.