awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/xi-editor

0
View on GitHub↗
19,816 stars·706 forks·Rust·Apache-2.0·1 viewxi-editor.io↗

Xi Editor

Xi Editor is a high-performance text editor core written in Rust. It employs a decoupled architecture that separates core logic from the presentation layer using a JSON-based client-server protocol.

The project features a language-agnostic plugin system that communicates with external extensions via JSON messages over pipes. It manages text buffers using a persistent rope data structure to enable efficient editing of very large files.

The system supports asynchronous editor workflows by running expensive operations in background threads using data snapshots. This prevents background processing tasks from blocking the user interface.

Features

  • Cross-Platform Editors - Provides a cross-platform text editor architecture with a decoupled backend and frontend.
  • Low-Latency Text Editing - Ensures high-performance editing of very large files with low latency using a rope data structure.
  • Protocol-Driven Editor Architectures - Features an architecture that separates core logic from the UI through a JSON-based communication protocol.
  • Text Editors - Provides a high-performance text editor core written in Rust for managing buffers and operations.
  • JSON Message Exchanges - Implements a JSON-based protocol to decouple the core editor logic from the presentation layer.
  • Rust Systems Programming - Provides a high-performance editor core implemented in Rust for memory safety and concurrency.
  • Editor Logic Decoupling - Decouples core text manipulation logic from platform-specific rendering and system I/O.
  • Rope-Based Text Storage - Uses a persistent rope data structure to enable efficient editing and manipulation of very large text files.
  • Immutable Document Snapshots - Employs immutable document snapshots to run expensive operations in the background without blocking the UI.
  • Editor Extensions - Provides a framework for building editor extensions that communicate via a language-agnostic JSON protocol.
  • Multi-Language Plugin Frameworks - Implements a language-agnostic plugin system allowing extensions to be written in any programming language.
  • Pipe-Based Communication - Communicates with external plugins using JSON messages exchanged over standard input and output pipes.
  • Asynchronous Background Processors - Offloads time-consuming editor operations to background threads to maintain interface responsiveness.
  • Editor Workflow Concurrency - Implements asynchronous workflows using data snapshots to prevent heavy processing from freezing the editor UI.
  • Editor Functionality Plugins - Supports an extensible plugin system that adds new capabilities to the editor via JSON message pipes.
  • System Design and Architecture - Example of a modern, high-performance text editor architecture.

Star history

Star history chart for google/xi-editorStar history chart for google/xi-editor

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does google/xi-editor do?

Xi Editor is a high-performance text editor core written in Rust. It employs a decoupled architecture that separates core logic from the presentation layer using a JSON-based client-server protocol.

What are the main features of google/xi-editor?

The main features of google/xi-editor are: Cross-Platform Editors, Low-Latency Text Editing, Protocol-Driven Editor Architectures, Text Editors, JSON Message Exchanges, Rust Systems Programming, Editor Logic Decoupling, Rope-Based Text Storage.

What are some open-source alternatives to google/xi-editor?

Open-source alternatives to google/xi-editor include: xi-editor/xi-editor — xi-editor is a high-performance text editor core written in Rust. It employs a client-server architecture that… limetext/lime — Lime is a multi-platform text editor designed for code and prose that supports simultaneous multi-point insertion for… micro-editor/micro — Micro is a terminal-based text editor designed for use within command-line interfaces. It provides a keyboard-centric… curlpipe/ox — Ox is an extensible code editor and integrated development environment. It functions as a terminal-integrated text… surmon-china/vue-quill-editor — vue-quill-editor is a Quill rich text editor component for Vue applications. It provides an extensible WYSIWYG… oi-wiki/oi-wiki — This project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming.…

Open-source alternatives to Xi Editor

Similar open-source projects, ranked by how many features they share with Xi Editor.
  • xi-editor/xi-editorxi-editor avatar

    xi-editor/xi-editor

    19,816View on GitHub↗

    xi-editor is a high-performance text editor core written in Rust. It employs a client-server architecture that separates the backend editor logic from the user interface, allowing diverse frontends to communicate with the core via a standardized protocol. The project is distinguished by its use of rope-based text buffers for efficient manipulation of large documents and a collaborative engine powered by conflict-free replicated data types to synchronize concurrent edits. It further features an extensible plugin system that integrates external binaries and third-party tools through JSON-based

    Rust
    View on GitHub↗19,816
  • limetext/limelimetext avatar

    limetext/lime

    15,272View on GitHub↗

    Lime is a multi-platform text editor designed for code and prose that supports simultaneous multi-point insertion for modifying text in several locations at once. It is a Python-scriptable environment that renders across desktop windows, web browsers, and terminal emulators. The editor is designed to be API-compatible with Sublime Text, enabling the execution of its plugins and the import of its configuration files, keybindings, and themes. This compatibility allows users to reuse third-party extensions and maintain a consistent experience when migrating from that environment. The project pr

    editorgolangtext-editor
    View on GitHub↗15,272
  • micro-editor/micromicro-editor avatar

    micro-editor/micro

    28,854View on GitHub↗

    Micro is a terminal-based text editor designed for use within command-line interfaces. It provides a keyboard-centric environment for creating and modifying source code and configuration files without requiring a graphical desktop system. The editor features a modular architecture centered on a plugin-driven system and an embedded scripting engine. Users can extend core functionality, automate workflows, and customize editor behavior by writing scripts or installing external extensions through a centralized package management system. This extensibility allows for the integration of custom com

    Gocommand-linecross-platformeditor
    View on GitHub↗28,854
  • curlpipe/oxcurlpipe avatar

    curlpipe/ox

    3,706View on GitHub↗

    Ox is an extensible code editor and integrated development environment. It functions as a terminal-integrated text editor that combines source code editing with an embedded interactive command-line shell. The editor is distinguished by its programmable nature, utilizing a custom scripting API to integrate external functionality such as AI assistance and productivity tools. It further enables automation through an event-capture macro system for recording and playing back editing sequences. Core capabilities include multi-cursor editing, rule-based syntax highlighting, and a hierarchical file

    Rust
    View on GitHub↗3,706
  • See all 30 alternatives to Xi Editor→