Categorygithub.com/ahmedakef/goshell
repositorypackage
0.0.0-20240831133118-66ae0677841f
Repository: https://github.com/ahmedakef/goshell.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

Goshell

Goshell is REPL shell for golang.

the project is inspired by rango but took different decisions.

Table of Contents

Installation

go install github.com/ahmedakef/goshell@latest

Features

  • auto import the needed libraries using goimports just write fmt.Print() and fmt will 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

Examples

live demo

Example Demo

Simple variable printing

code you writegenerated 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 lines17 lines

Calling functions

code you writegenerated 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 lines21 lines

Contact

ahmedakef - [email protected]