/commands

Lime commands

Primary LanguageGo

commands

Build Status Coverage Status Go Report Card GoDoc

This package contains commands made accessible to frontends and plugins. They come in three flavours: ApplicationCommands, WindowCommands, and TextCommands."

#Goals

The goal for release 1.0 is to implement all Sublime Text commands.

##Brief overview of Commands

You first build a type of the command which you are writing.

type (
    // JoinLines removes every new line in the
    // selections and the first new line after
    JoinLines struct {
        backend.DefaultCommand
    }
)

Each command has a Run method which is executed when the command is invoked.

//Run executes the DoSomething command
func (c *DoSomething) Run(v *backend.View, e *backend.Edit) error {
    //Do something here
}

Commands need to be registered with the backend via the init function.

func init() {
    register([]backend.Command{
        &DoSomething{},
    })
}

#Implementing custom commands

If you are interested in implementing your own command, look into the Implementing commands wiki page.

Other references