package main import ( "os" "os/exec" "strings" ) func GetPager() (string, []string) { pager, hasPager := os.LookupEnv("PAGER") if hasPager { return pager, nil } return "less", []string{"--RAW-CONTROL-CHARS"} } func ShowPaged(content string) error { pager, args := GetPager() cmd := exec.Command(pager, args...) cmd.Stdin = strings.NewReader(content) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr return cmd.Run() }