Skip to content
/ vixi Public

Vi-like editing with the Xi core, written in pure Rust

License

Notifications You must be signed in to change notification settings

jakalope/vixi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ViXi

Vi-like editing with the Xi core, written in pure Rust

Design

ViXi is written with the idea that Vi's mode switching and keystroke remapping features can be managed in a separate library and dropped into either the Xi core library or into any Xi frontend.

The strict separation of concerns implicit in this design is intended to avoid a lot of the difficulties found in extending and maintaining the Vim and Neovim codebases.

By convention, generic type names follow this pattern:

  • K is a keystroke, implementing Copy and Ord.
  • T is an arbitrary type, typically stored as a value in a map.
  • Op is an arbitrary operation type (enums from op.rs).

Todo

  • Decide on an interface between ViXi and a ViXi object's owner.
  • Implement MVP operations for Normal, Insert, and Op-pending.

About

Vi-like editing with the Xi core, written in pure Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages