// Package version — string versi & build info (dipakai CLI dan TUI). package version import ( "runtime/debug" "strings" ) // String memakai build info VCS — tanpa ldflags. func String() string { info, ok := debug.ReadBuildInfo() if !ok { return "tia dev" } ver := info.Main.Version if ver == "" || ver == "(devel)" || strings.HasPrefix(ver, "v0.0.0-") { ver = "dev" } rev, dirty := "", false for _, s := range info.Settings { switch s.Key { case "vcs.revision": if len(s.Value) >= 7 { rev = s.Value[:7] } case "vcs.modified": dirty = s.Value == "true" } } out := "tia " + ver if rev != "" { out += " (" + rev if dirty { out += "-dirty" } out += ")" } return out }