Skip to content
Felix Laurie von Massenbach edited this page Dec 15, 2015 · 66 revisions

We'll go through how to set up Lime for development here. If you have trouble, try one of the platform specific instruction sets below, or the Troubleshooting page.

Platform Specific Instructions

Backend

Most of Lime's logic is in the backend package, so that's where you'll probably want to start.

Install Dependencies

Using your package manager of choice, make sure you have the following installed before you start:

  • Git
  • Mercurial
  • Go 1.4
  • Python 3.5
  • Oniguruma

You should also make yourself familiar with writing code in Go.

Get the Backend

Go get the backend.

go get github.com/limetext/lime-backend/lib/...

If you have various other go packages on your machine, it's possible that your local copies of those libraries are stale and need to be updated. If that's the case, add the -u flag to update all the dependencies.

go get -u github.com/limetext/lime-backend/lib/...

You also need to init and update all the submodules which isn't done automatically by go get.

cd $GOPATH/src/github.com/limetext/lime-backend
git submodule update --init --recursive

Test It

Now make sure it all installed correctly by running the tests.

go test github.com/limetext/lime-backend/lib/...

Frontends

There are currently three frontends to work on. Our main focus right now is the QML frontend, but there is also an HTML frontend as well as a termbox frontend in development.

QML

To run the QML frontend, you'll also need Qt 5 installed.

Get the QML Frontend

Go get the QML frontend.

go get github.com/limetext/lime-qml/main/...

You also need to init and update all the submodules again.

cd $GOPATH/src/github.com/limetext/lime-qml
git submodule update --init --recursive

Building the QML Frontend

To build and run:

cd $GOPATH/src/github.com/limetext/lime-qml/main
go build
./main

Press Ctrl / Cmd + Q to quit.

Termbox

Get the Termbox Frontend

Go get the termbox frontend.

go get github.com/limetext/lime-termbox/main/...

You also need to init and update all the submodules again.

cd $GOPATH/src/github.com/limetext/lime-termbox
git submodule update --init --recursive

Building the Termbox Frontend

To build and run:

cd $GOPATH/src/github.com/limetext/lime-termbox/main
go build
./main main.go

Press Ctrl / Cmd + Q to quit.

HTML

Get the HTML Frontend

Go get the HTML frontend.

go get github.com/limetext/lime-html/main/...

You also need to init and update all the submodules again.

cd $GOPATH/src/github.com/limetext/lime-html
git submodule update --init --recursive

Building the HTML Frontend

To build and run:

cd $GOPATH/src/github.com/limetext/lime-html/main
go build
./main

This starts a webserver listening on localhost:8080. Point your browser there.