wide-midnight-78598
07/16/2022, 8:02 PM% ./pants help fmt
`fmt` goal options
------------------
Autoformat source code.
Activated by pants.core
Config section: [fmt]
--fmt-only="['<str>', '<str>', ...]"
PANTS_FMT_ONLY
only
default: []
current value: []
Only run these formatters and skip all others.
The formatter names are outputted at the final summary of running this goal, e.g. `isort` and `shfmt`. You can also run `fmt --only=fake` to get a list of all activated formatters.
You can repeat this option, e.g. `fmt --only=isort --only=shfmt` or `fmt --only=['isort', 'shfmt']`.
bitter-ability-32190
07/16/2022, 8:06 PMwide-midnight-78598
07/16/2022, 8:06 PMbitter-ability-32190
07/16/2022, 8:07 PMwide-midnight-78598
07/16/2022, 8:44 PMhappy-kitchen-89482
07/16/2022, 8:53 PM./pants goal --foo ::
instead of ./pants --goal-foo goal ::
?wide-midnight-78598
07/16/2022, 9:31 PMhelp-all
it's marked as unscoped/scoped_cmd_line_args
bitter-ability-32190
07/16/2022, 9:40 PMchanged
subsystemcurved-television-6568
07/16/2022, 9:47 PMwide-midnight-78598
07/16/2022, 10:15 PMproud-dentist-22844
07/16/2022, 11:25 PMhappy-kitchen-89482
07/16/2022, 11:43 PMwide-midnight-78598
07/17/2022, 12:10 AMfast-nail-55400
07/18/2022, 5:59 PMwide-midnight-78598
07/18/2022, 8:02 PMparse out the goal, and try to autocomplete the goal-specific optionsThat's what this version can do. My test that seems to work well is goal options, and putting scoped ones in the global namespace (working on this part) - best of both worlds, more or less. Also gets a bit weird, because after each goal, I think you can validly put global options in there, but they're not auto-completed
bitter-ability-32190
07/18/2022, 8:19 PMwide-midnight-78598
07/18/2022, 8:25 PM% pants --
zsh: do you wish to see all 220 possibilities (37 lines)?
bitter-ability-32190
07/21/2022, 7:02 PMwide-midnight-78598
07/21/2022, 7:04 PMbitter-ability-32190
07/21/2022, 7:05 PMwide-midnight-78598
07/21/2022, 7:05 PMbitter-ability-32190
07/21/2022, 7:05 PMwide-midnight-78598
07/21/2022, 7:05 PM% pants --
--auth-acquire-description --filter-address-regex --no-dependencies-transitive --no-update-build-files-check --publish-output --spec-files
--auth-acquire-headless --filter-granularity --no-dynamic-ui --no-update-build-files-fix-safe-deprecations --py-constraints-output-file --stats-record-option-scopes
--auth-acquire-local-port --filter-output-file --no-experimental-bsp-server --no-update-build-files-fmt --py-constraints-summary --streaming-workunits-complete-async
--auth-acquire-output --filter-sep --no-filedeps-absolute --no-verify-config --pythonpath --streaming-workunits-level
--auth-acquire-test-page --filter-tag-regex --no-filedeps-globs --no-watch-filesystem --remote-auth-plugin --streaming-workunits-report-interval
--backend-packages --filter-target-type --no-filedeps-transitive --pants-bin-name --remote-ca-certs-path --subproject-roots
--build-file-prelude-globs --fmt-batch-size --no-lint-skip-formatters --pants-config-files --remote-cache-eager-fetch --tag
--build-ignore --fmt-only --no-list-documented --pants-distdir --remote-cache-read --tailor-alias-mapping
--build-patterns --generate-lockfiles-custom-command --no-local-cache --pants-ignore --remote-cache-read-timeout-millis --tailor-build-file-header
--ca-certs-path --generate-lockfiles-resolve --no-log-show-rust-3rdparty --pants-ignore-use-gitignore --remote-cache-rpc-concurrency --tailor-build-file-indent
--changed-dependees --ignore-warnings --no-loop --pants-physical-workdir-base --remote-cache-warnings --tailor-build-file-name
--changed-diffspec --level --no-pants-ignore-use-gitignore --pants-subprocessdir --remote-cache-write --tailor-check
--changed-since --lint-batch-size --no-pantsd --pants-version --remote-execution --tailor-ignore-adding-targets
--check-only --lint-only --no-pantsrc --pants-workdir --remote-execution-address --tailor-ignore-paths
--colors --lint-skip-formatters --no-peek-exclude-defaults --pantsd --remote-execution-extra-platform-properties --test-debug
--concurrent --list-documented --no-plugins-force-resolve --pantsd-invalidation-globs --remote-execution-headers --test-debug-adapter
--dependees-closed --list-output-file --no-print-stacktrace --pantsd-max-memory-usage --remote-execution-overall-deadline-secs --test-extra-env-vars
--dependees-output-file --list-sep --no-process-cleanup --pantsd-pailgun-port --remote-execution-rpc-concurrency --test-force
--dependees-sep --local-cache --no-process-execution-local-enable-nailgun --pantsd-timeout-when-multiple-invocations --remote-instance-name --test-open-coverage
--dependees-transitive --local-execution-root-dir --no-py-constraints-summary --pantsrc --remote-oauth-bearer-token-path --test-output
--dependencies-closed --local-store-dir --no-remote-cache-eager-fetch --pantsrc-files --remote-store-address --test-report
--dependencies-output-file --local-store-directories-max-size-bytes --no-remote-cache-read --paths-from --remote-store-batch-api-size-limit --test-report-dir
--dependencies-sep --local-store-files-max-size-bytes --no-remote-cache-write --paths-output-file --remote-store-chunk-bytes --test-shard
--dependencies-transitive --local-store-processes-max-size-bytes --no-remote-execution --paths-to --remote-store-chunk-upload-timeout-seconds --test-timeout-default
--dynamic-ui --local-store-shard-count --no-repl-restartable --peek-exclude-defaults --remote-store-headers --test-timeout-maximum
--dynamic-ui-renderer --log-levels-by-target --no-run-cleanup --peek-output-file --remote-store-rpc-concurrency --test-timeouts
--engine-visualize-to --log-show-rust-3rdparty --no-run-debug-adapter --plugins --remote-store-rpc-retries --test-use-coverage
--experimental-bsp-groups-config-files --logdir --no-show-log-target --plugins-force-resolve --repl-restartable --unmatched-build-file-globs
--experimental-bsp-runner-env-vars --loop --no-streaming-workunits-complete-async --print-stacktrace --repl-shell --unmatched-cli-globs
--experimental-bsp-server --loop-max --no-tailor-check --process-cleanup --roots-output-file --update-build-files-check
--experimental-explorer-address --named-caches-dir --no-test-debug --process-execution-cache-namespace --roots-sep --update-build-files-fix-safe-deprecations
--experimental-explorer-port --no-auth-acquire-headless --no-test-debug-adapter --process-execution-graceful-shutdown-timeout --rule-threads-core --update-build-files-fmt
--filedeps-absolute --no-colors --no-test-force --process-execution-local-enable-nailgun --rule-threads-max --update-build-files-formatter
--filedeps-globs --no-concurrent --no-test-open-coverage --process-execution-local-parallelism --run-args --verify-config
--filedeps-output-file --no-dependees-closed --no-test-report --process-execution-remote-parallelism --run-cleanup --watch-filesystem
--filedeps-sep --no-dependees-transitive --no-test-timeouts --process-per-child-memory-usage --run-debug-adapter
--filedeps-transitive --no-dependencies-closed --no-test-use-coverage --process-total-child-memory-usage --show-log-target
bitter-ability-32190
07/21/2022, 7:06 PM--foo
and --no-foo
yeah OK 😛wide-midnight-78598
07/21/2022, 7:07 PM./pants --changed-since=origin/main --lint-skip-formatters=... fmt --only=...
bitter-ability-32190
07/21/2022, 7:09 PMwide-midnight-78598
07/21/2022, 7:10 PM./pants fmt --fmt-only
bitter-ability-32190
07/21/2022, 7:11 PMwide-midnight-78598
07/21/2022, 7:13 PMI'm saying we likely shouldn't auto-complete scoped options.... anywhere. Only ever scoped options, and only after the relevant goalShould one of these say unscoped? e.g. "scoped_cmd_line_args": ["--fmt-only"], "unscoped_cmd_line_args": ["--only"],
we should support subsystem optionsSuch as?
bitter-ability-32190
07/21/2022, 7:22 PM--fmt-only
, just fmt --only
--docker-env-vars=...
or --pylint-skip
or --isort-args=[...]
wide-midnight-78598
07/21/2022, 7:27 PM% ./pants -
zsh: do you wish to see all 627 possibilities (157 lines)?
It's the worst case, I know - but man is that funny to seebitter-ability-32190
07/22/2022, 1:44 PMwide-midnight-78598
07/22/2022, 1:56 PMhttps://media.giphy.com/media/D3OdaKTGlpTBC/giphy.gif▾