package edit
import (
)
func ( cli.App, string) {
.CodeArea().MutateState(func( *tk.CodeAreaState) {
.Buffer.InsertAtDot()
})
}
func ( cli.App, string) {
.CodeArea().MutateState(func( *tk.CodeAreaState) {
.Buffer = tk.CodeBuffer{Content: , Dot: len()}
})
}
func ( cli.App, eval.NsBuilder) {
.AddGoFns("<edit>", map[string]interface{}{
"insert-at-dot": func( string) { insertAtDot(, ) },
"replace-input": func( string) { replaceInput(, ) },
})
:= func( interface{}) error {
var int
:= vals.ScanToGo(, &)
if != nil {
return
}
.CodeArea().MutateState(func( *tk.CodeAreaState) {
.Buffer.Dot =
})
return nil
}
:= func() interface{} {
return vals.FromGo(.CodeArea().CopyState().Buffer.Dot)
}
.Add("-dot", vars.FromSetGet(, ))
:= func( interface{}) error {
var string
:= vals.ScanToGo(, &)
if != nil {
return
}
replaceInput(, )
return nil
}
:= func() interface{} {
return vals.FromGo(.CodeArea().CopyState().Buffer.Content)
}
.Add("current-command", vars.FromSetGet(, ))
}