aboutsummaryrefslogtreecommitdiffhomepage
path: root/state.go
blob: 3a3f9a680f443c846102c73e8eeba7520bf11857 (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
package main

import (
	"flag"
	"fmt"
	"text/tabwriter"

	"git.ophivana.moe/security/fortify/internal/fmsg"
	"git.ophivana.moe/security/fortify/internal/state"
)

var (
	stateActionEarly bool
)

func init() {
	flag.BoolVar(&stateActionEarly, "state", false, "print state information of active launchers")
}

// tryState is called after app initialisation
func tryState() {
	if stateActionEarly {
		var w *tabwriter.Writer
		state.MustPrintLauncherStateSimpleGlobal(&w, os.Paths().RunDirPath)
		if w != nil {
			if err := w.Flush(); err != nil {
				fmsg.Println("cannot format output:", err)
			}
		} else {
			fmt.Println("No information available")
		}

		fmsg.Exit(0)
	}
}