Skip to content

njskalski/sly-editor

Repository files navigation

Disclaimer

This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.

Code quality disclaimer

The project is developed in "agile" way, and by that I mean that I focus
primarily on interface and functionality. Also, I am still learning Rust. So
code is full of temporary solutions and workarounds. I am yet to figure the
complete internal design after I fully understand requirements of goals.

Progress can be tracked at:

https://github.com/njskalski/sly-editor/blob/master/progress.md

Readme

This is a work in progress project of a command line text editor. The goals are:
- support sublime-like editing experience
- minimal delays
- fuzzy search bars for:
  - file navigation
  - all options
  - options in given context (example: code symbol)
  * all key shortcuts customizable
  * all key shortcuts visualized to learn-as-you-use
- interstellar code navigation via language server protocol, services like kythe.io and custom scripts.
- syntax highlighting
- themes
- scripts for compiler output filtering to support "jump to error" or code annotations
- scripts for browsing the relevant api documentation, or even making queries about code in search services.
- nice default settings for best out-of-box experience
- strong focus on usability
- easy to learn

Future goals may include:
- more tool integration (I like debuggers)
- reading from non-file buffers
- modal editing, but more like Kakoune than Vim

I plan no support for:
- other encodings than utf-8 (at least in first versions)
- javascript plugins

The script language of choice will most probably be either Python or Go.

How to run

cargo build && cargo run . CONTRIBUTING.md 2>/dev/pts/2

(you can change /dev/pts/2 to any other place you want stderr to go, it's just
writing a lot of debug communicates now)

About

work in progress command line code editor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages