Add SDKMAN (sdk) completion spec and version generator#211
Closed
lucieleblanc wants to merge 1 commit into
Closed
Conversation
APP-3515 Add sdkman completion spec + version generator
No See GitHub #3344 |
Add completion support for the SDKMAN 'sdk' command:
- sdk.json: Full completion spec covering all subcommands (install, uninstall,
list, use, config, default, home, env, current, upgrade, version, broadcast,
help, offline, selfupdate, update, flush) with their aliases, args, and options.
- sdk.rs: Three Rust generators:
- sdk_candidates: Lists all available SDK candidates from the local cache
- sdk_installed_candidates: Lists locally installed candidates
- sdk_versions: Context-aware generator that lists installed versions for the
candidate specified in the preceding token
Closes warpdotdev/warp#3344
Co-Authored-By: Oz <oz-agent@warp.dev>
72087d5 to
c0f1dc9
Compare
Contributor
Author
|
Closing since no UI verification was done for the SDKMAN completion; will retry this once skills are being correctly loaded. Also cc @bnavetta another instance of the agent mistakenly using ZL's GitHub auth token |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Add completion support for the SDKMAN
sdkcommand, resolving warpdotdev/Warp#3344.Changes
command-signatures/json/sdk.jsonFull completion spec covering all SDKMAN subcommands with their aliases:
install/i,uninstall/rm,list/ls,use/u,default/d,home/h,env/e,current/c,upgrade/ug,version/v,broadcast/bconfig,help,offline,selfupdate,update,flushenvqualifiers (init/install/clear),offline(enable/disable),selfupdate(force), andflushtargets (tmp/metadata/version)command-signatures/src/generators/sdk.rsThree Rust-based generators referenced via
generatorNamein the JSON spec:sdk_candidates— reads~/.sdkman/var/candidates(comma-separated cache file) to list all available SDK candidatessdk_installed_candidates— lists directories under~/.sdkman/candidates/to show locally installed candidatessdk_versions— context-awarecommand_from_tokensgenerator that reads the candidate name from the preceding token and lists installed versions from~/.sdkman/candidates/<candidate>/, filtering out thecurrentsymlinkcommand-signatures/src/generators/mod.rsRegistered the new
sdkmodule and wiredsdk::generator()intodynamic_command_signature_data().Testing
cargo build— compiles cleanlycargo test— all 21 tests pass, including:all_command_specs_succeed_deserialization— validatessdk.jsonparses correctlyall_referenced_generators_exist— confirms allgeneratorNamereferences resolve to Rust generatorsall_command_specs_have_no_newlines— ensures generator commands are TMUX-safeConversation: https://staging.warp.dev/conversation/fb4d2764-da21-46ac-9539-18f35a80c68c
Run: https://oz.staging.warp.dev/runs/019d473b-6e4a-7e85-b558-9f22b9138624
This PR was generated with Oz.