Skip to content
Native, lightweight modal code editor
Branch: master
Clone or download
Akin909 Feature/add quickopen (#167)
![quickopen](https://user-images.githubusercontent.com/22454918/54567902-508c3500-49cd-11e9-95be-3c001ec73728.gif)

**Update**: with input
![quickopen-2](https://user-images.githubusercontent.com/22454918/54644792-2cdef280-4a92-11e9-807d-f831bbb5d219.gif)

### Outstanding (for a separate PR: see revery-ui/revery#408):
There's still a few kinks to iron out which primarily relate to things in revery
so I'd like to tie those up and then return to this in a separate PR once those changes are in.

- [x] Input should autofocus on open
- [x] Expose the key pressed (in Revery) so that logic based on the specific key can be handled in the onchange - use this to handle pressing escape which should return focus to Oni2
- [x] Fix cursor positioning on start
- [x] Add arrow key behaviour to input
- [ ] Fix backspace not responding
Latest commit bc73a10 Mar 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci
assets Feature/add quickopen (#167) Mar 23, 2019
bench.esy.lock Dependency: revery -> 0.15.0 (#180) Mar 22, 2019
bench Bugfix: Cursor is incorrectly positioned when text is scaled (#158) Mar 19, 2019
docs Update MOTIVATION.md (#14) Jan 9, 2019
esy.lock
extensions added syntax highlighting for python (#171) Mar 20, 2019
scripts Swap bootstrap script to JS. (#165) Mar 19, 2019
src Feature/add quickopen (#167) Mar 23, 2019
test/editor Update Rely. (#176) Mar 22, 2019
vendor Feature: Textmate - tokenize line (#103) Mar 1, 2019
.gitattributes Feature/bootstrap-script (#43) Feb 15, 2019
.gitignore Update Rely. (#176) Mar 22, 2019
.prettierrc Textmate: Buffer sync protocol (#111) Mar 6, 2019
Oni2.opam Module: Core (#8) Jan 7, 2019
OniBench.opam Performance: Initial benchmarking infra (#60) Feb 19, 2019
OniUnitTestRunner.opam Module: Core (#8) Jan 7, 2019
Oni_Core.opam Module: Core (#8) Jan 7, 2019
Oni_Extensions.opam Refactoring: Make room for Extensions module (#136) Mar 12, 2019
Oni_Model.opam Refactoring: Make room for Extensions module (#136) Mar 12, 2019
Oni_Neovim.opam Neovim: Add vendored binaries (#13) Jan 8, 2019
Oni_UI.opam Module: Core (#8) Jan 7, 2019
README.md Add note on required build packages. (#163) Mar 17, 2019
ThirdPartyLicenses.txt Add onedark pro, update ThirdPartyLicenses.txt (#105) Mar 1, 2019
azure-pipelines.yml Feature - Initial textmate service (#100) Feb 28, 2019
bench.json Performance: Switch Minimap rendering to use 'Minimal' layout (#93) Feb 27, 2019
dune-project CI: Enforce formatting (#91) Feb 27, 2019
package.json Dependency: revery -> 0.15.0 (#180) Mar 22, 2019

README.md

Build Status

Oni 2

Lightweight, Modal Code Editor

⚠️ Pre-alpha - not yet usable! ⚠️

Onivim 2

Introduction

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

Oni 2 is built in reason using the revery framework.

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
  • Ease Learning Curve - Oni 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 lighweight editor like VSCode.

Non-goals

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

Build

Prerequisites

Build

Build the front-end

  • git clone https://github.com/onivim/oni2
  • esy install
  • esy bootstrap
  • esy build

Build the textmate service

  • cd src/textmate_service
  • node install.js
  • npm run build

Run

  • esy run

Tests

  • esy test

Benchmarks

  • esy '@bench' install
  • esy '@bench' build
  • esy '@bench' x oni-bench

Documentation

Coming soon

Contributing

We'd ❤️ help building Oni 2 - more info soon.

License

Onivim 2 is currently licensed under the CC-BY-NC-4.0 license.

This means that Onivim 2 is free to use for non-commercial or educational uses.

NOTE: We're reviewing our license terms with a lawyer, so they may change slightly (it turns out the CC-BY-NC-4.0 isn't the perfect fit for software - we might need a more official EULA).

For commercial use licenses, we're still working through the details - but once Onivim 2 has reached "MVP" (target - end of May), we'll transition from crowdfunding to selling commercial licenses. Our current planned price point is $10/month.

However, until that time, we're offering anyone who donates to the project - any dollar amount - an individual, perpetual-use commercial license. We don't want early adopters to have to pay again, ever, as we launch Onivim 2 - we truly appreciate the support as we transition to a commercial offering, and we know it's a leap of faith to back an early-stage project!

More information about this decision in this Reddit Thread: Question About Oni 2 License.

You can donate to the project through one of these avenues:

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.