package edit
import (
)
func ( *Editor, *eval.Evaler, eval.NsBuilder) {
:= newBindingVar(emptyBindingsMap)
:= newMapBindings(, , )
.AddNs("minibuf",
eval.NsBuilder{
"binding": ,
}.AddGoFns("<edit:minibuf>:", map[string]interface{}{
"start": func() { minibufStart(, , ) },
}).Ns())
}
func ( *Editor, *eval.Evaler, tk.Bindings) {
:= tk.NewCodeArea(tk.CodeAreaSpec{
Prompt: mode.Prompt(" MINIBUF ", true),
Bindings: ,
OnSubmit: func() { minibufSubmit(, ) },
})
.app.SetAddon(, false)
.app.Redraw()
}
func ( *Editor, *eval.Evaler) {
:= .app
, := .CopyState().Addon.(tk.CodeArea)
if ! {
return
}
.app.SetAddon(nil, false)
:= .CopyState().Buffer.Content
:= parse.Source{Name: "[minibuf]", Code: }
, := makeNotifyPort()
defer ()
:= []*eval.Port{eval.DummyInputPort, , }
:= .Eval(, eval.EvalCfg{Ports: })
if != nil {
.Notify(.Error())
}
}