Documentation ¶
Overview ¶
Package repl provides a read/eval/print loop for Starlark.
It supports readline-style command editing, and interrupts through Control-C.
If an input line can be parsed as an expression, the REPL parses and evaluates it and prints its result. Otherwise the REPL reads lines until a blank line, then tries again to parse the multi-line input as an expression. If the input still cannot be parsed as an expression, the REPL parses and executes it as a file (a list of statements), for side effects.
Index ¶
- Variables
- func AsTm(tms string) time.Time
- func ExecFileNoFreeze(thread *starlark.Thread, src interface{}, globals *starlark.StringDict) error
- func MakeLoad() func(thread *starlark.Thread, module string) (*starlark.StringDict, error)
- func PackageMaker(_ *starlark.Thread, _ *starlark.Builtin, args starlark.Tuple, ...) (starlark.Value, error)
- func PrintError(err error)
- func REPL(thread *starlark.Thread, globals *starlark.StringDict)
- type MontyEnv
- type TestBar
Constants ¶
This section is empty.
Variables ¶
var NYC *time.Location
var Natives = make(map[string]func() interface{})
var UtcTz *time.Location
Functions ¶
func ExecFileNoFreeze ¶
func ExecFileNoFreeze(thread *starlark.Thread, src interface{}, globals *starlark.StringDict) error
ExecFileNoFreeze is starlark.ExecFile without globals.Freeze().
func MakeLoad ¶
MakeLoad returns a simple sequential implementation of module loading suitable for use in the REPL. Each function returned by MakeLoad accesses a distinct private cache.
func PackageMaker ¶
func PrintError ¶
func PrintError(err error)
PrintError prints the error to stderr, or its backtrace if it is a Starlark evaluation error.
func REPL ¶
func REPL(thread *starlark.Thread, globals *starlark.StringDict)
REPL executes a read, eval, print loop.
Before evaluating each expression, it sets the Starlark thread local variable named "context" to a context.Context that is cancelled by a SIGINT (Control-C). Client-supplied global functions may use this context to make long-running operations interruptable.