| 63 | } |
| 64 | |
| 65 | func (cs *CodespaceSelector) SelectName(ctx context.Context) (string, error) { |
| 66 | if cs.codespaceName != "" { |
| 67 | return cs.codespaceName, nil |
| 68 | } |
| 69 | |
| 70 | codespaces, err := cs.fetchCodespaces(ctx) |
| 71 | if err != nil { |
| 72 | return "", err |
| 73 | } |
| 74 | |
| 75 | codespace, err := cs.chooseCodespace(ctx, codespaces) |
| 76 | if err != nil { |
| 77 | return "", err |
| 78 | } |
| 79 | |
| 80 | return codespace.Name, nil |
| 81 | } |
| 82 | |
| 83 | func (cs *CodespaceSelector) fetchCodespaces(ctx context.Context) (codespaces []*api.Codespace, err error) { |
| 84 | codespaces, err = cs.api.ListCodespaces(ctx, api.ListCodespacesOptions{}) |