Awesome Open Source
Awesome Open Source


golab was a Go IDE for Linux.

This project is no longer maintained and might not build due to chganges in dependency projects.

The author (mb0) does use neovim and is quite happy with it, while missing the convenient auto install and test facilities. The ot (operation transformation) package is worth a look and a good start for any collaborative text editing project, there is also a utf-8 based version with js client that can be shared.

golab screenshot


Requires Linux and Go 1.1.

go get
echo 'yay! magic!'

Basic Usage

golab watches all files under your goroot and gopath (go help gopath). It automatically installs and tests a list of packages specified by the -work flag and prints colored reports to stdout.

Flag -work specifies a path list to the packages you are working on. Multiple paths can be seperated by a colon :. The default ./... uses the current directory and all it child packages.


cd $GOPATH/src/
golab -work=../garyburd/go-websocket/websocket:./lab/...

Html5 UI

golab -http starts a web interface for reports and collaborative editing of text files.

Flag -addr=localhost:8910 specifies the http address.


cd $GOPATH/src
golab -http -addr=:80


  • Report view for go errors and test failures with links to sources.
  • Ace editor with gentle highlights and error markers for go, js and css.
  • Document collaboration with operational transformation.
  • External filesystem changes to open documents are merged.
  • godoc Ctrl+Alt+Click on imports in go source files opens the doc view.
  • gofmt Ctrl+Shift+F changes the document (does not save to disk)
  • gocode Ctrl+Space shows gocode completion proposals if installed.

I recommend using the Chrome browser, because the visual feedback seems faster than other browsers.


Yes please!


golab is BSD licensed, Copyright (c) 2013 Martin Schnabel

Server code attributions

  • Go (c) The Go Authors (BSD License)
  • go-websocket (c) Gary Burd (Apache License 2.0)

Client code and asset attributions

  • require.js (c) The Dojo Foundation (BSD/MIT License)
  • json2.js by Douglas Crockford (public domain)
  • Underscore (c) Jeremy Ashkenas (MIT License)
  • Zepto (c) Thomas Fuchs (MIT License)
  • Backbone (c) Jeremy Ashkenas (MIT License)
  • Ace (c) B.V. (BSD License)
  • Font Awesome by Dave Gandy (SIL, MIT and CC BY 3.0 License)
  • Qunit (c) jQuery Foundation and others (MIT License)

Recycled code attribution // was easier than adapting to golab

  • ot.js (c) Tim Baumann (MIT License)
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Go (160,616
Ide (8,796
Collaborative (6,120
Collaborative Editing (195
Operational Transformation (95