Documentation
¶
Overview ¶
Package repl wires Vinculum's live configuration into the generic functy REPL engine (github.com/tsarna/functy/repl), reached via "vinculum serve -i". After normal server startup it presents a prompt at which the user types VCL expressions evaluated against the running configuration. The generic loop, result history, bindings, completion, and formatting live in the engine; this package supplies the Vinculum host adapter (see host.go: the per-eval `ctx` object, trace span, reserved-name policy, and log-control meta-commands) plus the interactive log sink (logsink.go). Exiting the REPL shuts the server down.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Logging ¶
type Logging struct {
// Logger is the base logger handed to the ConfigBuilder via WithLogger.
Logger *zap.Logger
// contains filtered or unexported fields
}
Logging bundles the interactive-mode logger with the handles the REPL needs to manage it: the swappable destination sink and the atomic level that the :loglevel / :quiet / :logs meta-commands manipulate.
func NewInteractiveLogging ¶
NewInteractiveLogging builds the logger used in interactive mode: a console encoder (human-readable + color) writing through zapcore.Lock(sink) at a runtime-adjustable level. The sink starts pointed at os.Stderr (before the line editor exists). Both Config.Logger and Config.UserLogger inherit this sink and level because they derive from this single base logger.
type Session ¶
Session is the interactive REPL session; it is the generic engine session driven by the Vinculum host. Callers invoke Run to drive the loop.