Goshell is REPL shell for golang.
the project is inspired by rango but took different decisions.
go install github.com/ahmedakef/goshell@latest- auto import the needed libraries using
goimportsjust writefmt.Print()andfmtwill be imported. - autocompletion for languages keywords and libraries's functions and types without the need for language server.
- print the variablles by writing them, no need to use
fmt.Print() - supports all shell line editing commands supported by liner
- don't have dependancy on goimports
| code you write | generated code |
|---|---|
>>> a:=1
>>> b:=2
>>> a
1 |
package main
import "fmt"
func main() {
a := 1
b := 2
fmt.Println(a)
use(a, b)
}
// used to avoid "declared and not used" error
func use(vals ...any) {
for _, val := range vals {
_ = val
}
} |
| 3 lines | 17 lines |
| code you write | generated code |
|---|---|
>>> func add(x,y int) int {
... return x+y
... }
>>> a:=1
>>> b:=2
>>> add(a,b)
3 |
package main
import "fmt"
func add(x, y int) int {
return x + y
}
func main() {
a := 1
b := 2
fmt.Println(add(a, b))
use(a, b)
}
// used to avoid "declared and not used" error
func use(vals ...any) {
for _, val := range vals {
_ = val
}
} |
| 6 lines | 21 lines |
ahmedakef - [email protected]
