An experimental, kakoune-inspired CLI-centric text/code editor with |-shaped cursor (in Rust)
Branch: master
Clone or download
Latest commit 26c4ec7 Jan 25, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Improvements(?) around undo Jan 23, 2019
.gitignore Initial tests Jan 10, 2019
.travis.yml Add .travis.yml Jan 15, 2019
Cargo.lock Rename to `brz` Jan 15, 2019
Cargo.toml Rename to `brz` Jan 15, 2019
README.md Update README Jan 25, 2019
rustfmt.toml Initial tests Jan 10, 2019

README.md

Travis CI Build Status Gitter Chat

Primarily hosted on sr.ht

Github repo is just a mirror for discoverability.

breeze - An experimental, kakoune-inspired CLI-centric text/code editor with |-shaped cursor (in Rust)

Features & Goals

  • Modal & CLI-centric, but in a modern edition
    • |-shaped cursor
    • Kakoune-inspired editing experience
  • Core library should compile to WebAssembly, so it can run everwhere, especially in the browser
  • WebAssembly plugin support
    • Plugin-centric
    • Sandboxed, so they can't steal your Bitcoins!

I have recently switched to kakoune after years (decades?) of using Vim. I think changing action, movement into movement, action is a brilliant idea. I enjoy simplicity of Kakoune and I am generally quite happy using it.

However I have couple of ideas how Kakoune could be better and/or disagree with a couple of things in it.

So I decided to hack together my own code editor to demonstrate / try them.

What is distinct about Breeze

Rust. Life is too short not to use Rust.

Terminals can do |-shaped cursors now, people! We don't have to use the blocky cursor anymore! Am I really the only one to figure it out? In Breeze | is the only cursor shape. It feels more like a graphical text editor, than traditional CLI ones.

Kakoune seem very Vim-golf-centric. In Breeze the philosophy is slightly different. It doesn't matter to me in how many keystrokes one can perform certain editing operation. What matter to me most is predictable, natural, easy to use modal text edition. Muscle memory and rapid keypressing without having to pay much attention is what I am aiming for first.

Status and plans

Breeze Screenshot

Some stuff works, but still very, very early. And considering how little time I have, it will probably stay this way for a long while. I might hack on it continously in the future, or I might loose the motivation. I am happy to accept collaborators and help.

Running

If you don't have Rust installed go to https://rustup.rs

Aftewards:

cargo run --release -- [file_path]

to run from source code, or

cargo install -f

to install.