Lapce Docs
Home
  • Introduction
  • Get started
    • Setup
    • Command palette
    • Settings
    • Keybindings
    • Modal editing
    • Remote development
    • Themes
    • Terminal
  • Features
    • Multiple cursor
    • Syntax highlighting
  • Development
    • Architecture
    • Plugin development
    • Theme
Powered by GitBook
On this page
  • Frontend
  • Proxy
  • File Editing
  1. Development

Architecture

PreviousSyntax highlightingNextPlugin development

Last updated 1 year ago

Frontend

The frontend uses for the GUI of Lapce.

Proxy

File Editing

Here is the flow of a typical file editing process. When you open a file in the GUI, lapce-app talks to lapce-proxy which reads the file from local disk and responds with the content of the file. lapce-app stores the file content locally. lapce-proxy receives the change, and applies the change locally which make the file content in sync. When you save the file in the GUI, lapce-app sends the file save request to lapce-proxy, and lapce-proxy saves the file to the local disk.

The lapce-proxy sub crate provides the interface between the frontend, and the file system, plugins and servers, so Lapce talks to files, plugins, LSP servers through the proxy. The reason for that is to provide the ability for remote development. In remote development mode, the lapce-proxy binary runs on the remote host, to provide seamless code editing, project management and language interaction .

LSP
Floem
Drawing