summaryrefslogtreecommitdiff
path: root/main.go
blob: 8295ea39fbfaabddcec96bc1d1038af389cfe409 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"

	"github.com/Shugyousha/stasher/conf"
	"github.com/Shugyousha/stasher/filter/str"
	"github.com/Shugyousha/stasher/input/stdin"
	"github.com/Shugyousha/stasher/manager"
	"github.com/Shugyousha/stasher/output/stdout"
)

func main() {
	f, err := os.Open("stasher.cfg")
	if err != nil {
		fmt.Fprintf(os.Stderr, "Could not open config file 'stasher.cfg': %q\n", err)
		os.Exit(1)
	}

	man := conf.NewManagerFromConfig(bufio.NewReader(f))
	fmt.Fprintf(os.Stderr, "manager: %#v\n", man)

	ffmap := make(map[string]func(string) string, 10)
	ffmap["F"] = func(s string) string { return strings.ToUpper(s) }

	m := manager.Manager{
		Input:  stdin.New(nil),
		Filter: str.New(ffmap),
		Output: stdout.New(nil),
	}

	m.Run()
}