skylark: github.com/google/skylark/repl Index | Files

package repl

import "github.com/google/skylark/repl"

The repl package provides a read/eval/print loop for Skylark.

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

Package Files

repl.go

func MakeLoad Uses

func MakeLoad() func(thread *skylark.Thread, module string) (skylark.StringDict, error)

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 PrintError Uses

func PrintError(err error)

PrintError prints the error to stderr, or its backtrace if it is a Skylark evaluation error.

func REPL Uses

func REPL(thread *skylark.Thread, globals skylark.StringDict)

REPL executes a read, eval, print loop.

Before evaluating each expression, it sets the Skylark 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.

Package repl imports 9 packages (graph) and is imported by 1 packages. Updated 2019-07-25. Refresh now. Tools for package owners.