q/src/cli/System.go

38 lines
690 B
Go

package cli
import (
"os"
"runtime"
"git.akyoto.dev/cli/q/src/log"
)
// System shows system information.
func System(args []string) int {
line := "%-19s%s\n"
log.Info.Printf(line, "Platform:", runtime.GOOS)
log.Info.Printf(line, "Architecture:", runtime.GOARCH)
log.Info.Printf(line, "Go:", runtime.Version())
// Directory
directory, err := os.Getwd()
if err == nil {
log.Info.Printf(line, "Directory:", directory)
} else {
log.Info.Printf(line, "Directory:", err.Error())
}
// Compiler
executable, err := os.Executable()
if err == nil {
log.Info.Printf(line, "Compiler:", executable)
} else {
log.Info.Printf(line, "Compiler:", err.Error())
}
return 0
}