expands the Go Call Expression under your cursor to check errors
Go
143
14 commits
updated Oct 29, 2022
The expanderr (think “expander”, pronounced with a pirate accent) is a tool which expands the Go Call Expression under your cursor to check errors. As an example, assuming your cursor is positioned on this call expression:
os.Remove("/tmp/state.bin")
…invoking the expanderr will leave you with this If Statement instead:
if err := os.Remove("/tmp/state.bin"); err != nil {
return err
}
Of course, the return values match the enclosing function signature, functions returning more than one argument are supported, and the local scope is considered to ensure that your code still compiles.

Start by running go get -u github.com/stapelberg/expanderr. Then, follow the
section for the editor you use:
Add (load "~/go/src/github.com/stapelberg/expanderr/lisp/go-expanderr.el") to your Emacs configuration.
From now on, use C-c C-e to invoke the expanderr.
goreturns only inserts a return statement with zero values for the current function.
expanderr understands the signature of the call expression under your cursor and inserts the appropriate error checking statement (including a return statement). In practice, this eliminates the need of combining goreturns with an editor snippet, with the additional bonus of working correctly in a larger number of situations.
Go
93.1%
Emacs Lisp
6.9%
expands the Go Call Expression under your cursor to check errors
Go
143
14 commits
updated Oct 29, 2022
The expanderr (think “expander”, pronounced with a pirate accent) is a tool which expands the Go Call Expression under your cursor to check errors. As an example, assuming your cursor is positioned on this call expression:
os.Remove("/tmp/state.bin")
…invoking the expanderr will leave you with this If Statement instead:
if err := os.Remove("/tmp/state.bin"); err != nil {
return err
}
Of course, the return values match the enclosing function signature, functions returning more than one argument are supported, and the local scope is considered to ensure that your code still compiles.

Start by running go get -u github.com/stapelberg/expanderr. Then, follow the
section for the editor you use:
Add (load "~/go/src/github.com/stapelberg/expanderr/lisp/go-expanderr.el") to your Emacs configuration.
From now on, use C-c C-e to invoke the expanderr.
goreturns only inserts a return statement with zero values for the current function.
expanderr understands the signature of the call expression under your cursor and inserts the appropriate error checking statement (including a return statement). In practice, this eliminates the need of combining goreturns with an editor snippet, with the additional bonus of working correctly in a larger number of situations.
Go
93.1%
Emacs Lisp
6.9%