Skip to content

hhhhhhhhhn/wr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wr

A small proof-of-concept text editor, adding multiple cursors and a modular suckless-like architecture. Read this article for more information.

example usage

Features

  • It is designed around the basic Vim keybinds.
  • It has multiple cursor support, but instead of using special keybinds, the visual-block mode is replaced by a new mode that adds a new cursor instead of moving. For example, to add two new cursors down below where you are, you would press <C-v>jj<Esc>.
  • It includes a simple and extensible command system.
  • It is written in Go, making it easy to program and extend, with a quick compilation time of less than half a second.
  • It is fast, with instant startup and the ability to perform multi-line edits on thousands of lines at a time.
  • It is programmed in a functional, modular, and readable style, which takes advantage of Go's type system. For example, movements are simply functions that return a new position from the old one. Core components, like the buffer, are hot-swappable by implementing the basic interface.
  • It uses immutable data structures, allowing for a fast and memory-efficient undo tree.
  • It has tests for every component, which are consistent due to the functional style. Also, it is really easy to profile.

About

simple text editor written in golang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published