-
Notifications
You must be signed in to change notification settings - Fork 387
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add multi-tool config for jj fix
#4079
Conversation
bd538e3
to
59b3d99
Compare
59b3d99
to
0eb882e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not familiar with jj fix
, but the change looks good to me, thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LG
e1e9db2
to
6ad70f9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LG, there's one last Nit though.
8224c47
to
a5d6ea0
Compare
This allows tests to easily distinguish the effects of multiple formatters that could be applied during a single `jj fix` command, which is helpful for testing the feature for configuring multiple formatters on potentially overlapping filesets. Uppercase is a counterpart to lowercase. Append exposes the number of changes and their order of execution in the file content, which provides a terse way of writing test expectations.
…ilesets The high level changes include: - Reworking `fix_file_ids()` to loop over multiple candidate tools per file, piping file content between them. Only the final file content is written to the store, and content is no longer read for changed files that don't match any of the configured patterns. - New struct `ToolsConfig` to represent the parsed/validated configuration. - New function `get_tools_config()` to create a `ToolsConfig` from a `Config`. - New tests; the only old behavior that has changed is that we don't require `fix.tool-command` if `fix.tools` defines one or more tools. The general approach to validating the config is to fail early if anything is weird. Co-Authored-By: Josh Steadmon <[email protected]>
a5d6ea0
to
b403a7e
Compare
Checklist
If applicable:
CHANGELOG.md