jirashell/pager.go
Sebastiaan de Schaetzen d5812297b2
All checks were successful
/ build (push) Successful in 31s
Add pager support
2024-10-18 16:14:48 +02:00

25 lines
433 B
Go

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()
}