38 lines
690 B
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
|
|
}
|