Add completion spec: OpenSSL (openssl) — top-level subcommands + global flags - #304
Conversation
Add command-signatures/json/openssl.json defining the top-level openssl command: all 53 standard subcommands (each with a short description) plus the global -help flag. Per-subcommand option trees are out of scope (tracked as separate child issues). Add a regression test asserting the signature exists with its subcommand list and top-level flag. Resolves APP-3963. Co-Authored-By: Warp Agent <agent@warp.dev>
|
@warp-agent-staging[bot] I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR adds a static top-level openssl command signature with global -help and OpenSSL subcommands, plus a regression test that checks representative subcommands and descriptions.
Concerns
- The static subcommand inventory is missing
skeyutl, which is present in current OpenSSL 3.x command output, so completion would be incomplete for users on those builds.
Verdict
Found: 0 critical, 1 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
| "description": "Display a summary of standard commands and options" | ||
| } | ||
| ], | ||
| "subcommands": [ |
There was a problem hiding this comment.
skeyutl, which appears in current OpenSSL 3.x output from openssl list -1 -commands; add it here so openssl <Tab> is complete for those installations.
- Add the openssl 3.5 subcommand skeyutl (Perform opaque symmetric key (EVP_SKEY) operations) so the top-level list is complete for users on the current LTS. - Remove the openssl_signature_has_top_level_subcommands_and_flags test at the requester's explicit request; the PR is now a data-only change to command-signatures/json/openssl.json. The repo's existing deserialization/generator invariants remain the coverage. Co-Authored-By: Warp Agent <agent@warp.dev>
Summary
Adds a top-level completion spec for
opensslso that typingopenssl <Tab>in Warp surfaces the subcommand list and top-level flags.command-signatures/json/openssl.jsondefines the top-levelopensslcommand:req,x509,genrsa,genpkey,s_client,s_server,enc,dgst,verify,ca,pkcs12,rsa,ec,ecparam,pkey,list,version, …, includingskeyutl(OpenSSL 3.5, the current LTS).-helpflag.openssl req …,openssl x509 …) are tracked as separate child issues and are intentionally not added here.This is a data-only change to
command-signatures/json/openssl.json. The subcommand/description inventory was mined from the Fish reference (openssl.fish), the closed-without-merge prior-art PR #258 (reference only), andopenssl list -1 -commands, extended to cover OpenSSL 3.5'sskeyutl. The spec is static (no generator added), which matches the dominant pattern for multi-subcommand specs in this repo.Verification
script/presubmitpasses:npm run format:check,cargo fmt --check,cargo clippy -D warnings, andcargo testall green.lib.rs(every JSON spec deserializes; all referencedgeneratorNames resolve; generator commands contain no unsafe newlines), which exercise the newopenssl.json.Rework changes
skeyutl("Perform opaque symmetric key (EVP_SKEY) operations"); the original list was mined from OpenSSL 3.0.13, which predatesskeyutl(added in OpenSSL 3.5). Re-checked the rest of the list against 3.5's standard commands;skeyutlwas the only addition relevant to the top-level scope.openssl_signature_has_top_level_subcommands_and_flagstest fromcommand-signatures/src/lib.rsat the requester's explicit request, so this PR is a data-only change. Per the request, no replacement test was added; the repo's existing deserialization/generator invariants remain the coverage.Originating thread: https://warpdev.slack.com/archives/C0BDQDW8V5E/p1785980156397719
This PR was generated with Oz.