Port Fig postProcess, token-aware generators, and filters - #392
Merged
acarl005 merged 20 commits intoSep 4, 2026
Conversation
Contributor
Author
|
This PR was generated with Warp. Comment |
acarl005
approved these changes
Sep 4, 2026
Replace line-split parsing with shared helpers for JSON, tables, and other structured Fig postProcess. Add a token-aware Fig Teams user generator.
Add shared file/folder filters for Python, YAML playbooks, direnv .envrc, and ts-node tsconfig, recovered from original Fig filepaths generators.
Rename fig_parse/fig_filters/fig_teams_latest to output_parsers, template_filters, and fig_teams. Use semantic generator names for Teams users/teams. Add token-aware generators for cargo, docker, gh, apt, bun, trivy, chown, and related commands.
Wire token-aware custom generators (degit, git-flow, dd, man, file, esbuild, robot, scc) and recover filepaths({extensions}) filters from withfig sources onto JSON filterTemplateName.
Replace line-split callbacks for ansible-doc, tailscale peers, 1Password accounts, projj cache/hooks, trex imports/scripts, turbo pipeline, cargo read-manifest bins, and elm package search with the original object-specific postProcess mappings.
…mantics Parse Docker search JSON-lines, StepZen schema/GitHub contents, youtube-dl playlist JSON, and Lerna package.json END streams. Map other non-name-only line registrations to description, git-branch, YAML hook-id, and related structured callbacks.
Parse ~/.ssh/known_hosts host fields (comma lists, hashed skip, user@ prefix) for mosh/sftp/ssh instead of SSH-config Host directives. Walk pre-commit YAML repos[].hooks[].id scalars instead of matching raw id: text.
Sequence items at the same column as `repos:` or `hooks:` stay in that container; sibling mappings still end it. Quoted hook IDs strip wrapping quotes before comments.
Wire deno doc_json, register hub generators under hub, rename fig-teams.json to match fig-teams@latest, and align other filename/registry mismatches so JSON generatorName values resolve.
Join the filtered original token stream instead of prepending
`deno doc`, and parse `deno doc --json` `{version, nodes}` using
node name and jsDoc.doc.
Preserve the `conv=` token prefix so remaining conversion names match, and remove leftover filepaths templates from Trivy remaining-enum args.
Parse hub status --short as paths, list Linux groups with a colon prefix, and keep scc -f on remaining formats instead of colon path completion.
Keep the fatal: guard on a trimmed view of the whole output, but slice column 3 from the original status line so a leading space in XY is not eaten before the path.
…, and j Wire npms_search on top-level pnpm add. Expand $PWD/Dockerfile instead of single-quoting it, and drop leftover filepaths from docker --target. Do not grep cargo test -- --list for the --test flag, attach test_list to TESTNAME, and read autojump's Linux db path as well as the macOS one.
Warp's case-sensitive lookup rejects a spec whose name field differs from the filename token, so hub.json named git never attached. Match each spec name to its file, and send a GitHub User-Agent when listing NativeScript templates.
Keep test_list on positional TESTNAME. --test now uses cargo metadata targets whose kind contains test, matching names like integration_target rather than test function names.
contains(\".envrc\") accepted .envrc.txt. Keep folders for navigation and only boost files named .envrc.
GNU find treats -depth as a boolean, so -depth 3 failed with paths must precede expression. Use -maxdepth 3, and still emit loader types when Warp splits --loader: so the last token has no colon.
-maxdepth is not portable across BSD find. Keep -type f, name filter, and node_modules exclusion so GNU and macOS find both list extensions.
Print the first N :: segments so shardmod::case matches shardmod::case_alpha, and stop putting HostName in display_name so Warp prefixes match shard-peer:.
acarl005
force-pushed
the
factory/port-fig-postprocess
branch
from
September 4, 2026 02:56
ee91968 to
e3b09c9
Compare
2 tasks
acarl005
pushed a commit
to warpdotdev/warp
that referenced
this pull request
Sep 4, 2026
## Description Bump `warp-command-signatures` (and the locked `warp-completion-metadata` from the same git source) from `6a39d62048abbf3885be54a7887f1916ebcf7445` to `d69b340ef622540ac28340ef565dae45287d51d8`. That revision includes [command-signatures#391](warpdotdev/command-signatures#391) and [command-signatures#392](warpdotdev/command-signatures#392) (Rust Fig generators and template filters). Lockfile sources for both packages were updated to the same rev. Unrelated `cargo update` resolution churn was not included. ## Linked Issue - [APP-5776](https://linear.app/warpdotdev/issue/APP-5776/port-fig-javascript-argument-generators-and-template-filters-to-rust) ## Testing Verification was not run, at the requester’s direction. - [ ] I have manually tested my changes locally with `./script/run` ## Agent Mode - [ ] Warp Agent Mode - This PR was created via Warp's AI Agent Mode CHANGELOG-NONE <!-- warp:pr-description-artifacts start --> <!-- warp:pr-description-artifacts end --> Co-authored-by: warp-agent-staging[bot] <240773466+warp-agent-staging[bot]@users.noreply.github.com>
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
Stacked on #391. Ports remaining structured Fig
postProcessparsers, token-aware custom generators, and recoveredfilepaths({extensions})template filters. Does not implementgenerateSpec.Changes
conv, man-Ssections, file--parameterkeys, esbuild loaders, robot variables/tags/test cases, and scc languages/format-multigeneratorNamewiring for previously stripped custom sites (apt, brew, bun, cargo, chown, docker, eslint, expo, gh, ni, npm, nx, pnpm, rush, st2, trivy, yarn, youtube-dl, and the commands above)filepaths({extensions})/equalsgenerators and wired viafilterTemplateNamedeno docdoc_json, Hub generators keyedhub,fig-teams@latest.json, plusj/tns/nativescript/phpunit-watcherdeno doctoken builder joins the filtered original stream (no duplicatedeno doc); DocNode parser reads{version,nodes:[name,jsDoc.doc]}Verification
cargo test --workspace --lib: 176 + 10 passedcargo fmt,cargo clippy --all-targets --all-features -- -D warnings: passeddd conv=: dashless options andrequiresSeparatordo not bind in the legacy completer (evidence)--loader:/--banner:: the completer splits option arguments only on=, not:(evidence)@-prefixed Nx and NativeScript values: Warp's global mention picker intercepts the active token; empty/non-@controls prove generator output (Nx, NativeScript, ns, tns)Local Warp videos
Generator screenshots
Shard 0 — 15 generator registrations
bun:npms_searchdd:conv_remaining— Warp binding limitationdeno:doc_jsonelm:elm_packagesexpo:npms_searchgh:repo_list_ownerhub:branches_nohub:settings_generatorhub:tagnativescript:nativescript_templates— semantic dropdown proofnx:plugin_list— semantic dropdown proofrobot:variablesst2:users_or_groupstrivy:pkg_types_remainingyarn:npms_searchShard 1 — 15 generator registrations
cargo:crates_io_searchdegit:github_user_reposdeployctl:deploy_versionsesbuild:loader— Warp colon-separator limitationfig-teams@latest:teams_listgit-flow:type_brancheshub:loghub:stasheshub:treeishni:npms_searchphpunit-watcher:testsrush:npms_searchstepzen:github_schemastrivy:scanners_remainingyoutube-dl:flat_playlistShard 2 — 16 generator registrations
apt:list_prefixcargo:test_listcargo:test_targetsdeno:deno_binariesdocker:from_aseslint:env_remainingfig-teams@latest:users_for_selected_teamhub:aliaseshub:remoteshub:statusj:catnpm:npms_searchpnpm:npms_searchrustup:rustup_docstailscale:peers_colontrivy:severity_remainingShard 3 — 15 generator registrations
brew:gist_logs_actionschown:users_or_groupsdeno:deno_versionsdocker:searchexpo-cli:npms_searchfile:param_keyshub:brancheshub:revshub:status_staged_or_unstagedman:sections_remainingns:nativescript_templates— semantic dropdown proofrobot:test_casesscc:format_multitns:nativescript_templates— semantic dropdown proofyarn:create_package_search