From 46ee45bcdd99c54849f76c4484950c7825a85616 Mon Sep 17 00:00:00 2001 From: Jose Garcia Date: Tue, 24 Aug 2021 17:46:24 -0400 Subject: [PATCH] simplify the state iteration --- cmd/ghcs/create.go | 64 +++++++++++++++---------------- cmd/ghcs/ssh.go | 2 +- internal/codespaces/codespaces.go | 3 +- 3 files changed, 33 insertions(+), 36 deletions(-) diff --git a/cmd/ghcs/create.go b/cmd/ghcs/create.go index 9c509b851..890e6b424 100644 --- a/cmd/ghcs/create.go +++ b/cmd/ghcs/create.go @@ -92,46 +92,42 @@ func Create() error { var lastState codespaces.PostCreateState var breakNextState bool -PollStates: for { - select { - case stateUpdate := <-states: - if stateUpdate.Err != nil { - return fmt.Errorf("receive state update: %v", err) - } + stateUpdate := <-states + if stateUpdate.Err != nil { + return fmt.Errorf("receive state update: %v", err) + } - var inProgress bool - for _, state := range stateUpdate.PostCreateStates { - switch state.Status { - case codespaces.PostCreateStateRunning: - if lastState != state { - lastState = state - fmt.Print(state.Name) - } else { - fmt.Print(".") - } + var inProgress bool + for _, state := range stateUpdate.PostCreateStates { + switch state.Status { + case codespaces.PostCreateStateRunning: + if lastState != state { + lastState = state + log.Print(state.Name) + } else { + log.Print(".") + } - inProgress = true - break - case codespaces.PostCreateStateFailed: - if lastState.Name == state.Name && lastState.Status != state.Status { - lastState = state - fmt.Print(".Failed\n") - } - case codespaces.PostCreateStateSuccess: - if lastState.Name == state.Name && lastState.Status != state.Status { - lastState = state - fmt.Print(".Success\n") - } + inProgress = true + break + case codespaces.PostCreateStateFailed: + if lastState.Name == state.Name && lastState.Status != state.Status { + lastState = state + log.Print(".Failed\n") + } + case codespaces.PostCreateStateSuccess: + if lastState.Name == state.Name && lastState.Status != state.Status { + lastState = state + log.Print(".Success\n") } } + } - switch { - case !inProgress && !breakNextState: - breakNextState = true - case !inProgress && breakNextState: - break PollStates - } + if !inProgress && !breakNextState { + breakNextState = true + } else if !inProgress && breakNextState { + break } } diff --git a/cmd/ghcs/ssh.go b/cmd/ghcs/ssh.go index bb1edfeee..a895b6b4d 100644 --- a/cmd/ghcs/ssh.go +++ b/cmd/ghcs/ssh.go @@ -64,7 +64,7 @@ func SSH(sshProfile, codespaceName string, sshServerPort int) error { return fmt.Errorf("error creating liveshare terminal: %v", err) } - log.Println("Preparing SSH...") + log.Print("Preparing SSH...") if sshProfile == "" { containerID, err := getContainerID(ctx, log, terminal) if err != nil { diff --git a/internal/codespaces/codespaces.go b/internal/codespaces/codespaces.go index bbf63b709..005ea0fda 100644 --- a/internal/codespaces/codespaces.go +++ b/internal/codespaces/codespaces.go @@ -66,7 +66,7 @@ func ConnectToLiveshare(ctx context.Context, log logger, apiClient *api.API, use var startedCodespace bool if codespace.Environment.State != api.CodespaceEnvironmentStateAvailable { startedCodespace = true - log.Println("Starting your codespace...") + log.Print("Starting your codespace...") if err := apiClient.StartCodespace(ctx, token, codespace); err != nil { return nil, fmt.Errorf("error starting codespace: %v", err) } @@ -97,6 +97,7 @@ func ConnectToLiveshare(ctx context.Context, log logger, apiClient *api.API, use if startedCodespace { fmt.Print("\n") } + log.Println("Connecting to your codespace...") lsclient, err := liveshare.NewClient(