40 lines
710 B
Go
40 lines
710 B
Go
// preset.go
|
|
package expr
|
|
|
|
import "strings"
|
|
|
|
// Preset variables
|
|
const (
|
|
preset_last_result = "_last"
|
|
preset_bool_shortcut = "_bool_shortcut"
|
|
)
|
|
|
|
func initDefaultVars(ctx exprContext) {
|
|
ctx.SetValue(preset_bool_shortcut, true)
|
|
}
|
|
|
|
func enable(ctx exprContext, name string) {
|
|
if strings.HasPrefix(name, "_") {
|
|
ctx.SetValue(name, true)
|
|
} else {
|
|
ctx.SetValue("_"+name, true)
|
|
}
|
|
}
|
|
|
|
func disable(ctx exprContext, name string) {
|
|
if strings.HasPrefix(name, "_") {
|
|
ctx.SetValue(name, false)
|
|
} else {
|
|
ctx.SetValue("_"+name, false)
|
|
}
|
|
}
|
|
|
|
func isEnabled(ctx exprContext, name string) (status bool) {
|
|
if v, exists := ctx.GetValue(name); exists {
|
|
if b, ok := v.(bool); ok {
|
|
status = b
|
|
}
|
|
}
|
|
return
|
|
}
|