func readLine() (string, error) {
	text, err := reader.ReadString('\n')
	if err != nil {
		return "", err
	}
	text = strings.Replace(text, "\n", "", -1)
	return text, nil
}
readLine reads the next line of input and returns it.
package main
import (
	"bufio"
	"fmt"
	"os"
	"os/exec"
	"runtime"
	"sort"
	"strconv"
	"strings"
	"sync"
	"time"
	"github.com/0xAX/notificator"
	"github.com/doneland/yquotes"
	"github.com/golang/glog"
	"github.com/johnsiilver/boutique"
	"github.com/johnsiilver/boutique/example/notifier/state"
	"github.com/johnsiilver/boutique/example/notifier/state/actions"
	"github.com/johnsiilver/boutique/example/notifier/state/data"
	"github.com/olekukonko/tablewriter"
)
var (
	reader = bufio.NewReader(os.Stdin)
	store  *boutique.Store
	notify *notificator.Notificator
)
func init() {
	switch runtime.GOOS {
	case "linux", "darwin", "windows":
	default:
		fmt.Printf("Error: your OS %s is not supported\n", runtime.GOOS)
		os.Exit(1)
	}
}
func clear() {
	switch runtime.GOOS {
	case "linux", "darwin":
		cmd := exec.Command("clear")  
		cmd.Stdout = os.Stdout
		cmd.Run()
	case "windows":
		cmd := exec.Command("cls")  
		cmd.Stdout = os.Stdout
		cmd.Run()
	default:
		panic("clear is trying to clear on an unsupported OS, bad developer, bad!!!!")
	}
}
func readInt() (int, error) {
	text, err := reader.ReadString('\n')
	if err != nil {
		return 0, err
	}
	text = strings.Replace(text, "\n", "", -1)
	i, err := strconv.Atoi(text)
	if err != nil {
		return 0, fmt.Errorf("%s is not a valid integer: %s", text, err)
	}
	return i, nil
}