Building

Michael P edited this page Sep 26, 2016 · 60 revisions

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

Supplemental Platform Specific Instructions

The instructions here should be complete (if missing some platform specific details), and are periodically updated by the maintainers. Specific instructions exist for certain platforms, but they are frequently out of date, so use with caution.

Dependencies

You will need the following installed before you start:

  • Git
  • Go 1.5
  • Python 3.5
  • Oniguruma

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

We also use Glide to pin Go dependencies, but it can be considered optional (and these instructions won't use it).

Backend

Lime Text is component based, but the core package that all frontends rely on is the backend.

Install

Go get the backend, making sure all dependencies are up to date.

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

Test

Now make sure it installed correctly by running the tests.

cd $GOPATH/src/github.com/limetext/backend
make test

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.