:GoImpl
command for Go
When you have an interface
type Foo interface {
DoSomething()
}
Implement struct of struct/interface under the cursor
:GoImpl
type FooImpl struct {
}
type (f *FooImpl) DoSomething() {
panic("not implemented") // TODO: Implement
}
Implement struct of struct/interface with given interface
:GoImpl io.Reader
func (r *Reader) Read(p []byte) (n int, err error) {
panic("not implemented") // TODO: Implement
}
Implement struct of struct/interface with given interface and given name
:GoImpl io.Reader Bar
type Bar struct {
}
func (b *Bar) Read(p []byte) (n int, err error) {
panic("not implemented") // TODO: Implement
}
For vim-plug plugin manager:
Plug 'mattn/vim-goimpl'
MIT
Yasuhiro Matsumoto (a.k.a. mattn)