Skip to content
Native, lightweight modal code editor
Reason JavaScript Shell OCaml Inno Setup PowerShell Dockerfile
Branch: master
Clone or download
This branch is 91 commits behind onivim:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci Refactor: Initial syntax highlight refactor to Feature/Service model (o… Feb 29, 2020
assets Feature - UX - Semibold / italic font for UI (onivim#1182) Jan 25, 2020
bench.esy.lock Feature - Terminal: Allow setting separate font from editor (onivim#1390 Mar 1, 2020
bench Feature - Terminal: Allow setting separate font from editor (onivim#1390 Mar 1, 2020
development_extensions/oni-dev-extension Developer: Add command to show the list of workspaceFolders (onivim#1320 Feb 11, 2020
docs Fix onivim#1364 - Characters overlapping, cursor not positioned corre… Feb 28, 2020
esy.lock Feature - Terminal: Allow setting separate font from editor (onivim#1390 Mar 1, 2020
extensions Dependency - Extensions (NPM): Add 'which' and other deps for vscode … Jan 30, 2020
integration_test Refactoring - BufferUpdates: Add old/new state to context (onivim#1383) Feb 29, 2020
integrationtest.esy.lock Feature - Terminal: Allow setting separate font from editor (onivim#1390 Mar 1, 2020
node Dependency: vscode-exthost -> 1.33.4 (onivim#1323) Feb 11, 2020
scripts Tests: Integrate address sanitizer in integration_test (on Linux) (on… Feb 22, 2020
src Feature - Terminal: Allow setting separate font from editor (onivim#1390 Mar 1, 2020
test.esy.lock Feature - Terminal: Allow setting separate font from editor (onivim#1390 Mar 1, 2020
test Selection behavior for inputs (onivim#1264) Mar 1, 2020
vendor Extension: Vendor reason-language-server binaries (onivim#1006) Dec 5, 2019
.gitattributes Fix onivim#1215: Clean up extension collateral (onivim#1228) Jan 21, 2020
.gitignore Experimental Feature: Auto-closing pairs (onivim#746) Sep 10, 2019
.prettierrc Textmate: Buffer sync protocol (onivim#111) Mar 6, 2019
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (onivim#255) Apr 18, 2019
Oni2.opam Module: Core (onivim#8) Jan 7, 2019
OniBench.opam Performance: Initial benchmarking infra (onivim#60) Feb 19, 2019
OniIntegrationTests.opam Initial integration test framework (onivim#400) Jul 11, 2019
OniUnitTestRunner.opam Module: Core (onivim#8) Jan 7, 2019
Outrun-Labs-EULA-v1.1.md Fix typo in EULA (onivim#925) Nov 12, 2019
README.md Update README.md - preparation for Alpha Jan 1, 2020
ThirdPartyLicenses.txt ocaml-decoders conversion experiment (onivim#1280) Feb 3, 2020
azure-pipelines.yml Feature - Terminal - Part 2: Service / Feature scaffolding (onivim#1348) Feb 22, 2020
bench.json Developer Experience - Speed up Oni2 build (onivim#241) Apr 16, 2019
dune Fix onivim#1148: Feature - Logging: Bundle in commitId / version (oni… Jan 16, 2020
dune-project Input: 'when' clause parser (onivim#905) Nov 16, 2019
install-node-deps.js Exthost: Integrate css-language-features plugin (onivim#957) Nov 27, 2019
integrationtest.json Initial integration test framework (onivim#400) Jul 11, 2019
package.json Feature - Terminal: Allow setting separate font from editor (onivim#1390 Mar 1, 2020
test.json Fix onivim#1238 - File Explorer (Windows): Nodes not expanding (onivi… Feb 4, 2020
update-lockfiles.sh Initial integration test framework (onivim#400) Jul 11, 2019

README.md

Build Status Discord

Onivim 2

Lightweight, Modal Code Editor

⚠️ Alpha - may be 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 2019 Outrun Labs, LLC.

You can’t perform that action at this time.