src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/eval/builtin_ns.go (about)

     1  package eval
     2  
     3  import (
     4  	"strconv"
     5  	"syscall"
     6  
     7  	"src.elv.sh/pkg/buildinfo"
     8  	"src.elv.sh/pkg/eval/vars"
     9  )
    10  
    11  var builtinNs = BuildNsNamed("").AddVars(map[string]vars.Var{
    12  	"_":              vars.NewBlackhole(),
    13  	"pid":            vars.NewReadOnly(strconv.Itoa(syscall.Getpid())),
    14  	"ok":             vars.NewReadOnly(OK),
    15  	"nil":            vars.NewReadOnly(nil),
    16  	"true":           vars.NewReadOnly(true),
    17  	"false":          vars.NewReadOnly(false),
    18  	"buildinfo":      vars.NewReadOnly(buildinfo.Value),
    19  	"version":        vars.NewReadOnly(buildinfo.Value.Version),
    20  	"paths":          vars.NewEnvListVar("PATH"),
    21  	"nop" + FnSuffix: vars.NewReadOnly(nopGoFn),
    22  })
    23  
    24  func addBuiltinFns(fns map[string]any) {
    25  	builtinNs.AddGoFns(fns)
    26  }