/gribble

A command oriented language whose environment is defined through Go struct types by reflection.

Primary LanguageGoDo What The F*ck You Want To Public LicenseWTFPL

Gribble is a simple command oriented language whose environment of commands is 
defined by Go structs via reflection. The primary use case for Gribble is to 
provide an easy to use command language for users to interact with your 
program. The initial motivation for Gribble was for interacting with my window 
manager, Wingo (which is where the name 'Gribble' came from). Note that Gribble 
is completely decoupled from Wingo and contains no window manager or X specific 
code.

Installation
============
go get github.com/BurntSushi/gribble

Dependencies
============
Go

Quick Example
=============
go get github.com/BurntSushi/gribble/examples/int-calc
GO/PATH/bin/int-calc 'add 5 (mul 2 6)'

The output should be '17'.

Documentation
=============
gopkgdoc is well-suited to provide documentation for Gribble:
http://go.pkgdoc.org/github.com/BurntSushi/gribble

Documentation is also hosted here: 
http://godoc.burntsushi.net/pkg/github.com/BurntSushi/gribble/

Examples
========
There is an integer calculator in the 'examples' directory that demonstrates
an extremely simple example of Gribble use.

There is also a floating point calculator in the 'examples' directory that
demonstrates how to use parameters with multiple types.

Both examples will print an environment of all available commands when called
with '--help'.

Testing
=======
go test github.com/BurntSushi/gribble