| 1234567891011121314151617181920212223242526 |
- package version
- import "runtime/debug"
- // Build-time parameters set via -ldflags
- var Version = "unknown"
- // A user may install crush using `go install github.com/charmbracelet/crush@latest`.
- // without -ldflags, in which case the version above is unset. As a workaround
- // we use the embedded build version that *is* set when using `go install` (and
- // is only set for `go install` and not for `go build`).
- func init() {
- info, ok := debug.ReadBuildInfo()
- if !ok {
- // < go v1.18
- return
- }
- mainVersion := info.Main.Version
- if mainVersion == "" || mainVersion == "(devel)" {
- // bin not built using `go install`
- return
- }
- // bin built using `go install`
- Version = mainVersion
- }
|