MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / setMetaRun

Function setMetaRun

cmd/wsh/cmd/wshcmd-setmeta.go:159–202  ·  view source on GitHub ↗
(cmd *cobra.Command, args []string)

Source from the content-addressed store, hash-verified

157}
158
159func setMetaRun(cmd *cobra.Command, args []string) (rtnErr error) {
160 defer func() {
161 sendActivity("setmeta", rtnErr == nil)
162 }()
163 var jsonMeta map[string]interface{}
164 if setMetaJsonFilePath != "" {
165 var err error
166 jsonMeta, err = loadJSONFile(setMetaJsonFilePath)
167 if err != nil {
168 return err
169 }
170 }
171
172 cmdMeta, err := parseMetaSets(args)
173 if err != nil {
174 return err
175 }
176
177 // Merge JSON metadata with command-line metadata, with command-line taking precedence
178 var fullMeta map[string]any
179 if len(jsonMeta) > 0 {
180 fullMeta = simpleMergeMeta(jsonMeta, cmdMeta)
181 } else {
182 fullMeta = cmdMeta
183 }
184 if len(fullMeta) == 0 {
185 return fmt.Errorf("no metadata keys specified")
186 }
187 fullORef, err := resolveBlockArg()
188 if err != nil {
189 return err
190 }
191
192 setMetaWshCmd := &wshrpc.CommandSetMetaData{
193 ORef: *fullORef,
194 Meta: fullMeta,
195 }
196 err = wshclient.SetMetaCommand(RpcClient, *setMetaWshCmd, &wshrpc.RpcOpts{Timeout: 2000})
197 if err != nil {
198 return fmt.Errorf("setting metadata: %v", err)
199 }
200 WriteStdout("metadata set\n")
201 return nil
202}

Callers

nothing calls this directly

Calls 7

SetMetaCommandFunction · 0.92
sendActivityFunction · 0.85
loadJSONFileFunction · 0.85
parseMetaSetsFunction · 0.85
simpleMergeMetaFunction · 0.85
resolveBlockArgFunction · 0.85
WriteStdoutFunction · 0.85

Tested by

no test coverage detected