github.com/elves/elvish@v0.15.0/pkg/edit/command_api.go (about)

     1  package edit
     2  
     3  import (
     4  	"github.com/elves/elvish/pkg/cli/addons/stub"
     5  	"github.com/elves/elvish/pkg/eval"
     6  )
     7  
     8  //elv:fn command:start
     9  //
    10  // Starts the command mode.
    11  
    12  func initCommandAPI(ed *Editor, ev *eval.Evaler, nb eval.NsBuilder) {
    13  	bindingVar := newBindingVar(EmptyBindingMap)
    14  	binding := newMapBinding(ed, ev, bindingVar)
    15  	nb.AddNs("command",
    16  		eval.NsBuilder{
    17  			"binding": bindingVar,
    18  		}.AddGoFns("<edit:command>:", map[string]interface{}{
    19  			"start": func() {
    20  				stub.Start(ed.app, stub.Config{
    21  					Binding: binding,
    22  					Name:    " COMMAND ",
    23  					Focus:   false,
    24  				})
    25  			},
    26  		}).Ns())
    27  }