fix(output): 全局提取 flag 改名 --jq,避免与 api 子命令 --query(查询参数)语义冲突

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
laurencewannamaker 2026-07-05 23:26:07 +00:00
parent 497bd6a071
commit 4913cf5319
4 changed files with 9 additions and 9 deletions

View File

@ -54,7 +54,7 @@ func NewRootCmd(opts RootOptions, tr *i18n.Translator) (*cobra.Command, error) {
rootCmd.PersistentFlags().StringVar(&cmdutil.Format, "format", "", tr.T("flag.format"))
rootCmd.PersistentFlags().BoolVar(&cmdutil.Debug, "debug", false, tr.T("flag.debug"))
rootCmd.PersistentFlags().StringVar(&cmdutil.Lang, "lang", "", tr.T("flag.lang"))
rootCmd.PersistentFlags().StringVarP(&output.Query, "query", "q", "", tr.T("flag.query"))
rootCmd.PersistentFlags().StringVar(&output.Query, "jq", "", tr.T("flag.jq"))
rootCmd.AddCommand(authCmd.NewAuthCmd(tr))
rootCmd.AddCommand(apiCmd.NewAPICmd(tr))

View File

@ -1,4 +1,4 @@
# 全局 `--query`/`-q` 输出字段提取
# 全局 `--jq` 输出字段提取
## 动机
@ -9,9 +9,9 @@
## 行为
- 新增全局持久 flag `--query` / `-q`,对所有命令生效
- 新增全局持久 flag `--jq`,对所有命令生效(不占用 `--query`,与 api 子命令的查询参数 flag 无冲突)
- 路径语法:点分段;段为对象键,或非负整数作为数组下标。
例:`-q data.commits.0.sha`、`-q data.total_issues_count`。
例:`--jq data.commits.0.sha`、`--jq data.total_issues_count`。
- 标量(字符串/数字/布尔/null输出裸值方便 shell 管道直接消费;
对象与数组输出缩进 JSON。
- 错误信息可操作:键不存在时列出该层全部可用键(排序后);
@ -19,9 +19,9 @@
## 生产实测
- `issue +list --limit 2 -q data.issues.0.subject` → 裸标题字符串
- `issue +list -q data.total_issues_count` → `4197`
- 误键 `-q data.issues.0.name` → 报错并列出 29 个可用键(含 `subject`
- `issue +list --limit 2 --jq data.issues.0.subject` → 裸标题字符串
- `issue +list --jq data.total_issues_count` → `4197`
- 误键 `--jq data.issues.0.name` → 报错并列出 29 个可用键(含 `subject`
## 测试

View File

@ -171,6 +171,7 @@
"flag.issue.status_id": "Issue status ID",
"flag.issue.tag_ids": "Comma-separated issue tag IDs",
"flag.issue.title": "Issue title",
"flag.jq": "Extract a value from the output by dot-separated path (e.g. data.commits.0.sha)",
"flag.lang": "Display language",
"flag.limit": "Items per page",
"flag.org.id": "Organization ID",
@ -200,7 +201,6 @@
"flag.profile.start_time": "Start time (Unix timestamp)",
"flag.profile.user": "Target user login (defaults to the authenticated user)",
"flag.profile.year": "Year for the contribution heatmap (e.g. 2025)",
"flag.query": "Extract a value from the output by dot-separated path (e.g. data.commits.0.sha)",
"flag.release.body": "Release notes",
"flag.release.id": "Release ID",
"flag.release.id_or_tag": "Release ID or tag",

View File

@ -171,6 +171,7 @@
"flag.issue.status_id": "议题状态 ID",
"flag.issue.tag_ids": "逗号分隔的议题标签 ID",
"flag.issue.title": "议题标题",
"flag.jq": "按点分路径从输出中提取字段(如 data.commits.0.sha",
"flag.lang": "显示语言",
"flag.limit": "每页条目数",
"flag.org.id": "组织 ID",
@ -200,7 +201,6 @@
"flag.profile.start_time": "开始时间Unix 时间戳)",
"flag.profile.user": "目标用户登录名(默认为当前认证用户)",
"flag.profile.year": "贡献热力图的年份(如 2025",
"flag.query": "按点分路径从输出中提取字段(如 data.commits.0.sha",
"flag.release.body": "发布说明",
"flag.release.id": "发布 ID",
"flag.release.id_or_tag": "发布 ID 或标签",