Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4b6209e

Browse files
chore: listen to feedback
1 parente12ccc7 commit4b6209e

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

‎agent/agentcontainers/devcontainercli.go‎

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,8 @@ func (d *devcontainerCLI) Up(ctx context.Context, workspaceFolder, configPath st
196196
cmd.Stderr=io.MultiWriter(stderrWriters...)
197197

198198
iferr:=cmd.Run();err!=nil {
199-
varresultdevcontainerCLIResult
200-
iferr2:=parseDevcontainerCLILastLine(ctx,logger,stdoutBuf.Bytes(),&result);err2!=nil {
199+
result,err2:=parseDevcontainerCLILastLine[devcontainerCLIResult](ctx,logger,stdoutBuf.Bytes())
200+
iferr2!=nil {
201201
err=errors.Join(err,err2)
202202
}
203203
iferr2:=result.Err();err2!=nil {
@@ -206,8 +206,8 @@ func (d *devcontainerCLI) Up(ctx context.Context, workspaceFolder, configPath st
206206
return"",err
207207
}
208208

209-
varresultdevcontainerCLIResult
210-
iferr:=parseDevcontainerCLILastLine(ctx,logger,stdoutBuf.Bytes(),&result);err!=nil {
209+
result,err:=parseDevcontainerCLILastLine[devcontainerCLIResult](ctx,logger,stdoutBuf.Bytes())
210+
iferr!=nil {
211211
return"",err
212212
}
213213
iferr:=result.Err();err!=nil {
@@ -286,8 +286,8 @@ func (d *devcontainerCLI) ReadConfig(ctx context.Context, workspaceFolder, confi
286286
returnDevcontainerConfig{},xerrors.Errorf("devcontainer read-configuration failed: %w",err)
287287
}
288288

289-
varconfigDevcontainerConfig
290-
iferr:=parseDevcontainerCLILastLine(ctx,logger,stdoutBuf.Bytes(),&config);err!=nil {
289+
config,err:=parseDevcontainerCLILastLine[DevcontainerConfig](ctx,logger,stdoutBuf.Bytes())
290+
iferr!=nil {
291291
returnDevcontainerConfig{},err
292292
}
293293

@@ -296,7 +296,9 @@ func (d *devcontainerCLI) ReadConfig(ctx context.Context, workspaceFolder, confi
296296

297297
// parseDevcontainerCLILastLine parses the last line of the devcontainer CLI output
298298
// which is a JSON object.
299-
funcparseDevcontainerCLILastLine[Tany](ctx context.Context,logger slog.Logger,p []byte,resultT)error {
299+
funcparseDevcontainerCLILastLine[Tany](ctx context.Context,logger slog.Logger,p []byte) (T,error) {
300+
varresultT
301+
300302
s:=bufio.NewScanner(bytes.NewReader(p))
301303
varlastLine []byte
302304
fors.Scan() {
@@ -307,18 +309,18 @@ func parseDevcontainerCLILastLine[T any](ctx context.Context, logger slog.Logger
307309
lastLine=b
308310
}
309311
iferr:=s.Err();err!=nil {
310-
returnerr
312+
returnresult,err
311313
}
312314
iflen(lastLine)==0||lastLine[0]!='{' {
313315
logger.Error(ctx,"devcontainer result is not json",slog.F("result",string(lastLine)))
314-
returnxerrors.Errorf("devcontainer result is not json: %q",string(lastLine))
316+
returnresult,xerrors.Errorf("devcontainer result is not json: %q",string(lastLine))
315317
}
316318
iferr:=json.Unmarshal(lastLine,&result);err!=nil {
317319
logger.Error(ctx,"parse devcontainer result failed",slog.Error(err),slog.F("result",string(lastLine)))
318-
returnerr
320+
returnresult,err
319321
}
320322

321-
returnnil
323+
returnresult,nil
322324
}
323325

324326
// devcontainerCLIResult is the result of the devcontainer CLI command.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp