/oni2

Native, lightweight modal code editor

Primary LanguageC

Build Status Discord

Onivim 2

Lightweight, Modal Code Editor

⚠️ Currently in alpha - may have bugs or instability - use with caution ⚠️

Onivim 2

Introduction

Onivim 2 is a reimagination of the Oni editor. Onivim 2 aims to bring the speed of Sublime, the language integration of VSCode, and the modal editing experience of Vim together, in a single package.

Onivim 2 is built in reason using the revery framework.

Onivim 2 uses libvim to manage buffers and provide authentic modal editing, and features a fast, native front-end. In addition, Onivim 2 leverages the VSCode Extension Host process in its entirety - meaning, eventually, complete support for VSCode extensions and configuration.

Goals

  • Modern UX - an experience on par with modern code editors like VSCode and Atom
  • VSCode Plugin Support - use all of the features of VSCode plugins, including language servers and debuggers
  • Cross-Platform - works on Windows, OSX, and Linux
  • Batteries Included - works out of the box
  • Performance - no compromises: native performance, minimal input latency
  • Easy to Learn - Onivim 2 should be comfortable for non-vimmers, too!

The goal of this project is to build an editor that doesn't exist today - the speed of a native code editor like Sublime, the power of modal editing, and the rich tooling that comes with a lightweight editor like VSCode.

Non-goals

  • 100% VimL compatibility - we may not support all features of VimL plugins / configuration.

Documentation

Contributing

We'd ❤️ help building Onivim 2!

If you are interested in fixing issues and contributing directly to the code, please see the How to Contribute document, which includes the following:

Please also see our Code of Conduct.

Feedback

License

Onivim 2 is licensed under the Outrun Labs EULA 1.1.

The TL;DR is:

  • Free for non-commercial and educational use.
  • Commercial use requires the purchase of a license.
  • You may not redistribute source code or binaries under a different license.

You can pre-order a commercial license here: https://v2.onivim.io

As we get closer to shipping our MVP, we'll increase the pre-order price, until we settle on our full pricing model.

NOTE: Anyone who contributed financially to Onivim v1 via our past funding sources (BountySource, Patreon, PayPal, OpenCollective) - gets a lifetime license. If you haven't received your license key, and you contributed previously, please contact me at bryphe@outrunlabs.com (or feel free to reach out at Twitter or our Discord). Thank you for supporting the project!

Alternatively, you can contribute to the project through Patreon, which helps us with ongoing costs.

'Time-Delay' Dual License

Because of the support we've received from open source communities, we've decided to dual-license the code after 18 months - every commit, starting with 017c513, will be dual-licensed via the MIT License 18 months from that commit's date to master. For commit 017c513, as it was committed to master on 4/18/2019 that means it would be dual-licensed with MIT License on 10/18/2020.

For convenience, we will maintain an oni2-mit repo containing the MIT-licensed code. The first commit to that repo will be on July 2, 2020.

Any external contributions to the project from outside Outrun Labs, LLC will not be subject to this 'time-delay' - they'll be dual-licensed immediately under the MIT License.

We hope that this approach will bring us the best of worlds - the ability to have a commercially sustainable product, with high quality - as well as giving back to the open source communities by having our work eventually end up in the open, and ensuring that external contributions are always open source.

Third-Party Code

Several dependencies have their own set of license terms here: ThirdPartyLicenses.txt

Copyright (c) 2019-2020 Outrun Labs, LLC.