internal/pkg/cli/docs.go (41 lines of code) (raw):
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
package cli
import (
"fmt"
"os/exec"
"runtime"
"github.com/aws/copilot-cli/cmd/copilot/template"
"github.com/aws/copilot-cli/internal/pkg/cli/group"
"github.com/spf13/cobra"
)
const (
docsURL = "https://aws.github.io/copilot-cli/"
)
// BuildDocsCmd builds the command for opening the documentation.
func BuildDocsCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "docs",
Short: "Open the copilot docs.",
Long: "Open the copilot docs.",
RunE: runCmdE(func(cmd *cobra.Command, args []string) error {
var err error
switch runtime.GOOS {
case "linux":
err = exec.Command("xdg-open", docsURL).Start()
case "windows":
err = exec.Command("rundll32", "url.dll,FileProtocolHandler", docsURL).Start()
case "darwin":
err = exec.Command("open", docsURL).Start()
default:
err = fmt.Errorf("unsupported platform")
}
if err != nil {
return fmt.Errorf("open docs: %w", err)
}
return nil
}),
Annotations: map[string]string{
"group": group.GettingStarted,
},
}
cmd.SetUsageTemplate(template.Usage)
return cmd
}