Generate if err != nil { block for current function.
Install and update by
$ go install github.com/koron/iferr@latestRun, it get if err != nil { block for the postion at 1234 bytes.
$ iferr -pos 1234 < main.go
if err != nil {
return ""
}$ iferr -pos 1234 < main.go
if err != nil {
return ""
}Customize your error message:
$ iferr -pos 110 -message 'fmt.Errorf("failed to %w", err)' < main.go
if err != nil {
return 0, fmt.Errorf("failed to %w", err)
}Copy vim/ftplugin/go/iferr.vim as ~/.vim/ftplugin/go/iferr.vim.
It defines :IfErr command for go filetype. It will insert if err != nil {
block at next line of the cursor.
Before:
package foo
import "io"
func Foo() (io.Reader, error) { // the cursor on this line.
}Run :IfErr then you will get:
package foo
import "io"
func Foo() (io.Reader, error) {
if err != nil {
return nil, err
}
} // new cursor is at here.