-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Building
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.
- Arch Linux
- Debian (Sid)
- Fedora 21
- Mac OS X
- Raspberry Pi 2
- Ubuntu (14.04)
- Ubuntu (13.10)
- Vagrant
- Windows
Most of Lime's logic is in the backend package, so that's where you'll probably want to start.
Using your package manager of choice, make sure you have the following installed before you start:
- Git
- Mercurial
- Go 1.4
- Python 3.4
- Oniguruma
You should also make yourself familiar with writing code in Go.
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
Now make sure it all installed correctly by running the tests.
go test github.com/limetext/lime-backend/lib/...
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.
To run the QML frontend, you'll also need Qt 5 installed.
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
To build and run:
cd $GOPATH/src/github.com/limetext/lime-qml/main
go build
./main
Press Ctrl / Cmd + Q to quit.
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
To build and run:
cd $GOPATH/src/github.com/limetext/lime-termbox/main
go build
./main main.go
Press Ctrl / Cmd + Q to quit.
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
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.