Architectural Overview - adamallaf/lime GitHub Wiki

Start with the Go Docs

The best place to start for understanding the LimeText architecture are the limetext godocs. As these docs are generated from source, it will continue to be the most up to date resource.

GoDoc

Basic Architecture

Lime has the following components:

  1. backend: This contains all the code which defines Lime itself, like Project, File, Window etc For more details refer [backend's Github repo] (github.com/limetext/backend)
  2. commands: They will be imported whenever the User does something like Open a new Project, save a file etc. For more details see commands' Github repo
  3. frontend: Users will use the lime text editor in one of its possibly many frontends, for instance the [lime-qml] (github.com/limetext/lime-qml).
  4. packages: They allow us to support multiple languages, their syntax highlighting, autocomplete etc

Frontends

HTML Architecture & Development Guide

QML Architecture & Development Guide

Backend

Getting Started

Your first resource for understanding the lime backend should be the godoc for the backend package.

"backend talks to frontend mostly through Frontend interface (it's not completed yet) and somehow the registered events but currently the frontend is free to import and use exported api of backend packages. There are some discussions on #281 about the api and other stuff."

-zoli