The project was put on ice because it failed to attract interest and was mostly done for research purpose. Please look at xi which has similar design goals and is written in Rust instead.
Experimental, do not look into.
Experimental, do not look into.
Experimental, do not look into.
Bringing text based editor technology past 1200 bauds.
- Editor for the 19.2kbps connected world.
- Out of process plugins for today's 2Mb RAM systems.
- Go for both program and macros.
- Fully asynchronous processing. No hang due to I/O ever.
- Extremely extensible. Everything can be overriden.
- i18n ready.
- Auto-generated help.
go get
(Go's native distribution mechanism) for both the editor and plugins.- Integrated debugging and good test coverage.
go get -u github.com/wi-ed/wi
Plugins are standalone executables or source files that are loaded by wi
. wi
discovers plugins on startup by looking for wi-plugin-*
/ wi-plugin-*.exe
and wi-plugin-*.go
in the same directory ($GOPATH/bin
) as the wi
executable.
go get -u github.com/someone/wi-plugin-awesome
*.go
files are sent to go run
for on-the-fly compilation at
the cost of slower startup time so there's no native updating support.
- No I/O done in the UI thread. UI must always be responsive even on a I/O saturated system.
- Very extensible editor with sane default settings.
- Historical reasons are not good reasons.
- Out of process plugins. If a web browser can render web pages out of process, an editor can do the same.
- Plugins written in the same language as the editor itself. No need to learn
yet another language (vimscript? lisp? python? javascript?).
- The only text editor with statically compiled macros!
- Use instrinsic Go distribution mechanism to distribute plugins. Stable
release is
go1
branch. - Broad OS support, including seamless Windows support.
- Unicode used internally.
First make sure test-only dependencies are installed with the flag -t
then
fetch and install pre-commit-go
:
cd github.com/<you>/wi
go get -t ./...
go get github.com/maruel/pre-commit-go
pre-commit-go
Once done, you can send pull requests.
A CLA (form to be determined) may eventually be required for contribution.