Ask HN: How to learn about text editor architectures and implementations?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • lite

    A lightweight text editor written in Lua

    Lately I've been studying lite editor which is mostly Lua code. It's quite easy to read the code and follow along.

        https://github.com/rxi/lite

  • TinyMCE

    The world's #1 JavaScript library for rich text editing. Available for React, Vue and Angular

  • Appwrite

    Appwrite - The Open Source Firebase alternative introduces iOS support . Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • kilo

    A text editor in less than 1000 LOC with syntax highlight and search.

    You could start by looking at something super simple like Kilo:

    https://github.com/antirez/kilo

    Even I could understand this one pretty well and that's no small matter.

  • tiptap

    The headless editor framework for web artisans.

    https://marijnhaverbeke.nl/blog/prosemirror.html

    They have a well architected model, including plugins to extend functionality, see https://tiptap.dev/ which is built ontop of Prosemirror

    bonus: The author talks about collaborative editing here: https://marijnhaverbeke.nl/blog/collaborative-editing.html

  • ewig

    The eternal text editor — Didactic Ersatz Emacs to show immutable data-structures and the single-atom architecture

    Ewig is an interesting implementation using immutable data structures. https://github.com/arximboldi/ewig Very proof of concept, tries to be a little vi like. Might be worth checking out.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts