Source File
platform.go
Belonging Package
src.elv.sh/pkg/eval/mods/platform
// Package platform exposes variables and functions that deal with the// specific platform being run on, such as the OS name and CPU architecture.package platformimport ()//elvdoc:var arch//// The architecture of the platform; e.g. amd64, arm, ppc.// This corresponds to Go's// [`GOARCH`](https://pkg.go.dev/runtime?tab=doc#pkg-constants) constant.// This is read-only.//elvdoc:var os//// The name of the operating system; e.g. darwin (macOS), linux, etc.// This corresponds to Go's// [`GOOS`](https://pkg.go.dev/runtime?tab=doc#pkg-constants) constant.// This is read-only.//elvdoc:var is-unix//// Whether or not the platform is UNIX-like. This includes Linux, macOS// (Darwin), FreeBSD, NetBSD, and OpenBSD. This can be used to decide, for// example, if the `unix` module is usable.// This is read-only.//elvdoc:var is-windows//// Whether or not the platform is Microsoft Windows.// This is read-only.//elvdoc:fn hostname &strip-domain=false//// Outputs the hostname of the system. If the option `&strip-domain` is `$true`,// strips the part after the first dot.//// This function throws an exception if it cannot determine the hostname. It is// implemented using Go's [`os.Hostname`](https://golang.org/pkg/os/#Hostname).//// Examples://// ```elvish-transcript// ~> platform:hostname// ▶ lothlorien.elv.sh// ~> platform:hostname &strip-domain=$true// ▶ lothlorien// ```var osHostname = os.Hostname // to allow mocking in unit teststype hostnameOpt struct{ StripDomain bool }func ( *hostnameOpt) () {}func ( hostnameOpt) (string, error) {, := osHostname()if != nil {return "",}if !.StripDomain {return , nil}:= strings.SplitN(, ".", 2)return [0], nil}var Ns = eval.NsBuilder{"arch": vars.NewReadOnly(runtime.GOARCH),"os": vars.NewReadOnly(runtime.GOOS),"is-unix": vars.NewReadOnly(isUnix),"is-windows": vars.NewReadOnly(isWindows),}.AddGoFns("platform:", map[string]interface{}{"hostname": hostname,}).Ns()
The pages are generated with Golds v0.2.8-preview. (GOOS=darwin GOARCH=arm64)