aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/state/print.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/state/print.go')
-rw-r--r--internal/state/print.go61
1 files changed, 15 insertions, 46 deletions
diff --git a/internal/state/print.go b/internal/state/print.go
index 0881f199..83912d32 100644
--- a/internal/state/print.go
+++ b/internal/state/print.go
@@ -1,68 +1,37 @@
package state
import (
- "flag"
"fmt"
"os"
"strconv"
"strings"
"text/tabwriter"
- "git.ophivana.moe/cat/fortify/internal/system"
"git.ophivana.moe/cat/fortify/internal/verbose"
)
-var (
- stateActionEarly bool
- stateActionEarlyC bool
-)
-
-func init() {
- flag.BoolVar(&stateActionEarly, "state", false, "print state information of active launchers")
- flag.BoolVar(&stateActionEarlyC, "state-current", false, "print state information of active launchers for the specified user")
-}
-
-func Early() {
- var w *tabwriter.Writer
-
- switch {
- case stateActionEarly:
- if runDir, err := os.ReadDir(system.V.RunDir); err != nil {
- fmt.Println("Error reading runtime directory:", err)
- } else {
- for _, e := range runDir {
- if !e.IsDir() {
- verbose.Println("Skipped non-directory entry", e.Name())
- continue
- }
-
- if _, err = strconv.Atoi(e.Name()); err != nil {
- verbose.Println("Skipped non-uid entry", e.Name())
- continue
- }
+func MustPrintLauncherStateGlobal(w **tabwriter.Writer, runDirPath string) {
+ if dirs, err := os.ReadDir(runDirPath); err != nil {
+ fmt.Println("Error reading runtime directory:", err)
+ } else {
+ for _, e := range dirs {
+ if !e.IsDir() {
+ verbose.Println("Skipped non-directory entry", e.Name())
+ continue
+ }
- printLauncherState(e.Name(), &w)
+ if _, err = strconv.Atoi(e.Name()); err != nil {
+ verbose.Println("Skipped non-uid entry", e.Name())
+ continue
}
- }
- case stateActionEarlyC:
- printLauncherState(u.Uid, &w)
- default:
- return
- }
- if w != nil {
- if err := w.Flush(); err != nil {
- fmt.Println("warn: error formatting output:", err)
+ MustPrintLauncherState(w, runDirPath, e.Name())
}
- } else {
- fmt.Println("No information available.")
}
-
- os.Exit(0)
}
-func printLauncherState(uid string, w **tabwriter.Writer) {
- launchers, err := readLaunchers(uid)
+func MustPrintLauncherState(w **tabwriter.Writer, runDirPath, uid string) {
+ launchers, err := ReadLaunchers(runDirPath, uid)
if err != nil {
fmt.Println("Error reading launchers:", err)
os.Exit(1)