chore: import upstream snapshot with attribution
CI / license-header (push) Has been skipped
CI / e2e-dry-run (push) Has been skipped
CI / fast-gate (push) Failing after 0s
Test PR Label Logic / test-pr-labels (push) Failing after 1s
Skill Format Check / check-format (push) Failing after 2s
CI / security (push) Failing after 5s
CI / unit-test (push) Has been skipped
CI / lint (push) Has been skipped
CI / script-test (push) Has been skipped
CI / deterministic-gate (push) Has been skipped
CI / coverage (push) Has been skipped
CI / results (push) Has been cancelled
CI / deadcode (push) Has been cancelled
CI / e2e-live (push) Has been cancelled
CI / license-header (push) Has been skipped
CI / e2e-dry-run (push) Has been skipped
CI / fast-gate (push) Failing after 0s
Test PR Label Logic / test-pr-labels (push) Failing after 1s
Skill Format Check / check-format (push) Failing after 2s
CI / security (push) Failing after 5s
CI / unit-test (push) Has been skipped
CI / lint (push) Has been skipped
CI / script-test (push) Has been skipped
CI / deterministic-gate (push) Has been skipped
CI / coverage (push) Has been skipped
CI / results (push) Has been cancelled
CI / deadcode (push) Has been cancelled
CI / e2e-live (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package cmdutil
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
const tipsAnnotationKey = "tips"
|
||||
|
||||
// SetTips sets the tips for a command (stored as JSON in Annotations).
|
||||
func SetTips(cmd *cobra.Command, tips []string) {
|
||||
if len(tips) == 0 {
|
||||
return
|
||||
}
|
||||
if cmd.Annotations == nil {
|
||||
cmd.Annotations = map[string]string{}
|
||||
}
|
||||
data, _ := json.Marshal(tips)
|
||||
cmd.Annotations[tipsAnnotationKey] = string(data)
|
||||
}
|
||||
|
||||
// AddTips appends tips to a command (merges with existing).
|
||||
func AddTips(cmd *cobra.Command, tips ...string) {
|
||||
existing := GetTips(cmd)
|
||||
SetTips(cmd, append(existing, tips...))
|
||||
}
|
||||
|
||||
// GetTips retrieves the tips from a command's annotations.
|
||||
func GetTips(cmd *cobra.Command) []string {
|
||||
if cmd.Annotations == nil {
|
||||
return nil
|
||||
}
|
||||
raw, ok := cmd.Annotations[tipsAnnotationKey]
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
var tips []string
|
||||
err := json.Unmarshal([]byte(raw), &tips)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return tips
|
||||
}
|
||||
Reference in New Issue
Block a user