Blob


1 package main
3 import (
4 "flag"
5 "fmt"
6 "log"
7 "os"
8 "strconv"
10 "9fans.net/go/acme"
11 )
13 var (
14 cl = flag.Bool("c", false, `Clear the tag`)
15 gt = flag.Bool("g", false, `Get the content of the tag`)
16 )
18 func open() (*acme.Win, error) {
19 winid := os.Getenv("winid")
20 id, err := strconv.Atoi(winid)
21 if err != nil {
22 return nil, err
23 }
24 win, err := acme.Open(id, nil)
25 return win, err
26 }
28 func usage() {
29 me := os.Args[0]
30 fmt.Println(me, "- manage acme(1) tag")
31 fmt.Println("Usage:", me, " [-ch] [entries...]")
32 fmt.Println(" where entries are words to be added to acme' tag bar")
33 flag.PrintDefaults()
34 os.Exit(1)
35 }
37 func main() {
38 flag.Usage = usage
39 flag.Parse()
41 win, err := open()
42 if err != nil {
43 os.Exit(1)
44 }
45 defer win.CloseFiles()
47 if *gt {
48 tag, err := win.ReadAll("tag")
49 if err != nil {
50 log.Fatalln(err)
51 }
52 fmt.Println(string(tag))
53 }
55 if *cl {
56 win.Ctl("cleartag")
57 }
59 sep := ""
60 for _, arg := range flag.Args() {
61 _, err = win.Write("tag", []byte(sep+arg))
62 sep = " "
63 }
64 }