Blame


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