Oni: Modern Modal Editing - powered by Neovim
Showcase
Enhancements
<Control+Tab>
(#1334 - thanks @Akin909!)tabs.showIndex
option (#1286)tabs.showFileIcon
option (#1287)Bug Fixes
styled-components
were not updated when theme changes (#1276)ocaml-language-server
path in packaged builds (#1380 - thanks @Akin909!)<space>
rather than literal (#1333 - thanks @someguynamedmatt!)editor.clipboard.synchronizeYank
and editor.clipboard.synchronizeDelete
settings (#1342)editor.quickInfo.show
command (#1301)nord
theme (#1311)showmatch
causing tab to lose focus (#1271)Documentation
Development
prepush
and precommit
hook to run prettier
on source files, to ensure consistent styling (#1361 - thanks @Akin909!)ONI_WEBPACK_LOAD
environment variable instead of NODE_ENV
(#1313)Refactoring
Overlays
API (#1323)Menu
to use our new Overlay
API, instead of being baked-in to our shell (#1356)Definition
, Errors
, and Scrollbar
to buffer layers (#1322)Completion Providers
API (#1329)VimNavigator
component for navigating non-Vim UIDependencies
tslint
to 5.9.1 (#1384)Experimental Features
Next release is tentatively planned for 2/12 (2 weeks cadence). It'll be a big release, because I'd like to enable several 'experimental' features to be on-by-default:
I'm also working on getting a code-signing certificate for Windows - hopefully we'll finally have Windows code-signing for this release.
It's ambitious... but I'm very excited about where we're heading!
Thanks to all our backers and contributors for making Oni possible!
Shout to all our supporters this month!
If you find Oni useful, please consider supporting us via:
Bug Fixes
shift+space
key (#1151)autoread
setting (#1156 - thanks @CrossR!)Enhancements
flow-language-server
following the instructions here: JavaScript and Flow - (#1190 - thanks @Akin909!)buffer.addLayer
API, and integrate initial browser-layer plugin (#1214, #1223)styled-components
for sidebar (#1229)Development
Refactoring
NeovimEditor
(#1175)Dependencies
styled-components
(#1134 - thanks @samvv!)css-language-server
with vscode-css-languageserver-bin
(#1207 - Thanks @DeltaEvo!)oni-api
to 0.0.23
(#1222)vscode-html-languageserver-bin
(#1208 - thanks @DeltaEvo!)Documentation
Experimental:
experimental.markdownPreview.enabled
to true
! (#922, #1181 - Thanks @TalAmuyal!)experimental.commandline.mode
to true
! (#1177, #1179, #1191 - Thanks @Akin909!)Thanks to all our backers and contributors for making Oni possible!
If you find Oni useful, please consider supporting us via:
Shout to all our supporters this month!
Bug Fixes
Enhancements
tabs.highlight
to false
to disable this.New Window
menu item is now available on the OSX dock menu (#1111 - thanks @Akin909!)Performance
editor.typingPrediction
to false
.Documentation
Other
Experimental
experimental.editor.textMateHighlighting.enabled
to true
)experimental.sidebar.enabled
to true
)Thanks to all our backers and contributors for making Oni possible!
If you find Oni useful, please consider supporting us via:
Shout to all our supporters this month!
BREAKING
ui.colorscheme
in your config.js
, as opposed to in the init.vim
editor.completions.enabled
is now editor.completions.mode
, with the following options:
'oni'
(default) - Uses Oni's language server completion, and externalizes Neovim's popup menu'hidden'
- Turns off Oni's language server completion, but still externalizes Neovim's popup menu'native'
- Turns off Oni's language server completion and the externalized popup menu -uses the native Vim popup menutabs.enabled
and tabs.showVimTabs
have been coalesced into tabs.mode
:
'buffers'
(default) - show buffers with Oni's tab UX'tabs'
- show neovim tabs with Oni's tab UX'native'
- show neovim tabs, with neovim's native UX'hidden'
- don't show any tabs at allEnhancements
$PATH
resolution logic - this should address some nagging path issues we had #868 - (#934 - thanks @Akin909!).scss
files are now added to the default configuration (#960)Bug Fixes
<ESC>
presses were needed to close the completion menu (#995).go
(thanks @josemarluedke)Configuration Changes
editor.completions.mode
(#1022 - thanks @CrossR!)editor.scrollBar.cursorTick.visible
optioneditor.fontFamily
setting for completion & tooltipsui.fontSmoothing
option (#1033)Dependencies
Documentation
EXPERIMENTAL
experimental.editor.typingPrediction
to true
)experimental.editor.textMateHighlighting.enabled
to true
)experimental.autoClosingPairs.enabled
to true
)Thanks to all our backers and contributors for making Oni possible!
If you find Oni useful, please consider supporting us via:
Shout out to our all our supporters this month!
config.js
location has moved from %HOME%/.oni/config.js
to %APPDATA%/oni/config.js
- thanks @CrossR!If you are on Windows, and have a custom configuration, make sure to move your
config.js
to the new location. This does not affectinit.vim
.
nvim
is not on path more gracefully (common issue users hit on Linux)nvim
path issues - this was a major pain point for OSX users. Thanks @Akin909 for tackling this, and congrats on the first PR! :smile:experimental.enableLanguageServerFromConfig
feature flag - configurable language servers is now on by default. (#920)nvim-qt
executables from packaged binaries, since they are unused (#917)<ESC>
to leave terminal mode (#915)ui.animations.enabled
: false
if you find it distracting!experimental.autoClosingPairs.enabled
setting (off by default for now)ocaml-language-server
was updated to 1.0.12 - thanks @freebroccolo!Some cool works-in-progress in varying states:
In addition, there are some additional language server features that need to be polished - rename
, code actions
(refactoring), and code lens
. Wrapping those up will get us to our 0.3 milestone.
Thanks to all our backers and contributors for making Oni possible!
If you find Oni useful, please consider supporting us via:
vscode-ripgrep
dependency in response to #889 - Windows builds are back.ui.fontFamily
- allowing for separate fonts for the shell and editor (thanks @badosu for catching the typos)NOTE: Windows builds were temporarily removed due to a report of malware - #889. It is not clear if it is a false positive (Windows Defender does not detect any malware), but to be safe, please scan your machine. To be safe, I've removed the
vscode-ripgrep
dependency, and will be publishing a new build.
Some big milestones this release:
We have an org! Moved from bryphe/oni
to onivim/oni
We have a website! http://onivim.io
We have an Open Collective!
Language Server Support
ocaml-language-server
is included with Oni (#841), to enable first-class support with Reason & OCamlUI Improvements
Bug Fixes
API Changes
directory-changed
event was moved to oni.workspace.onDirectoryChanged
(#813)onBufferSaved
eventOther
Help
-> About
(#872)editor.quickOpen.caseSensitive
(#831)C-c
and C-[
now close the menu too (#833 - thanks @jared-skinner!)beep.wav
and ASSETS.md
(#866)There is still a bit more work to do around the language service - especially around streamlining the UX and adding code actions / refactoring.
In addition, we're starting to make progress on adding some enhanced UX functionality - like a file explorer and syntax highlighting - bringing us closer to the vision of breaking free of terminal limitations.
Shout out to our supporters this month!
Thank you for your support!
oni.enhancedSyntaxHighlighting
configuration value to enable enhanced syntax highlighting from Oni (#785)oni.loadInitVim
to take a string
value to a custom init.vim
path (#784 - thanks @CrossR!)debug
settings to help narrow down #490 (#796)oni.menu
API (#764)px
with em
for statusbar (#780)extensions
folder creation on launch (#790)Edit neovim config
action doesn't always work on Windows (#799)executeAutoCommand
so that it is more robust in the general case (#681)mode-changed
with the editor API (#792)NeovimInstance
notification arguments immutable (#794 - thanks @cdelahousse!)The next planned release will be 10/30, and the goal for that is to continue the language client work. The primary goal is to enable language server integration to be specified by configuration, along with bug fixes.
There are also a few stretch goals:
Shout out to our supporters this month!
Thank you for your support!
clangd
for C/C++ completion! Thanks @TalAmuyal for your PR and investigation to enable this.oni.maximizeScreenOnStart
configuration option (#771 - thanks @CrossR!)clangd
as an LSP client (#757 - thanks @TalAmuyal!)oni.recorder
API (#739)Cmd+Q
now quits on OSX (#768)BracketLeft
key not working on Windows 10 es-ES keyboard (#767)ERR_FILE_NOT_FOUND
on startup in developer tools (#754)The focus for the next release is continuing to address blockers preventing you from using Oni as your daily editor. In addition, we'll be ramping up the investment on language server support - making it easier to use Oni with your favorite language.
Shout out to our supporters this month!
Thank you for your support!