Releases: onivim/oni
v0.2.21
v0.2.21
Installation Guide
What's new?
-
Showcase
- Recent files menu by @akin909 (accessible by <Control+Tab>):
-
Enhancements
- New Buffer Menu - quickly open and switch between your open buffers. Defaulted to
<Control+Tab>(#1334 - thanks @akin909!) - Add file associations on OSX (#1245 - thanks @akin909!)
- Hover improvements - render markdown and fix tooltip dimensions (#1253, #1339 - thanks @akin909!)
- Fix #571 - Workspace: Persist opened folder (#1312)
- Workspace: Close Folder command (#1384)
- Workspace: Per-workspace configuration (#1282, #1270)
- Theme picker menu (#1340)
- Use file icons in QuickOpen (#1327)
- Add
tabs.showIndexoption (#1286) - Add
tabs.showFileIconoption (#1287)
- New Buffer Menu - quickly open and switch between your open buffers. Defaulted to
-
Bug Fixes
- Fix issue where colors in
styled-componentswere not updated when theme changes (#1276) - Fix #1295: Crash when opening a window w/o navigating to it (#1309)
- OSX: Fix opening a new file when Oni is closed (#1246)
- Workspace: Validate path exists before switching to workspace (#1382 - thanks @akin909!)
- Languages: Fix
ocaml-language-serverpath in packaged builds (#1380 - thanks @akin909!) - Fix #1300 - Handle
<space>rather than literal (#1333 - thanks @someguynamedmatt!) - Linux: Oni would immediately go to background ('stopped') when starting (#1368)
- Removed duplicate 'Open Folder' command (#1370)
- Fix #1297 - Add
editor.clipboard.synchronizeYankandeditor.clipboard.synchronizeDeletesettings (#1342) - Fix #1247 - Definition should work when 'editor.quickinfo.enabled' is true
- Fix #1296 - Colors not showing up correctly for some themes (#1303)
- Fix regression in
editor.quickInfo.showcommand (#1301) - Fixed cursor brightness in
nordtheme (#1311) - Remove icon for default command line (#1293)
- Auto-closing pairs: Fixed race condition on initial buffer enter (#1273)
- Fix #1263 - Rename also renames strings (#1274)
- Fix #1251 - TypeScript standalone server is always spawned on startup (#1267)
- Fix #1265 - Flicker / movement of neovim popup menu (#1268)
- Fix #1264 -
showmatchcausing tab to lose focus (#1271)
- Fix issue where colors in
-
Documentation
- Fixed issues with OpenCollective integration (sponsors / backers should now show up correctly)
- Updated our OpenCollective to use flexible tiers for backers
-
Development
- Added a
prepushandprecommithook to runprettieron source files, to ensure consistent styling (#1361 - thanks @akin909!) - Test Fixes for QuickOpen test (#1356)
- Enabled CiTests for linux builds (#1338)
- Integration test for per-project configuration (#1289)
- Fix instability with 'NoAdditionalProcesses' test (#1335)
- Use
ONI_WEBPACK_LOADenvironment variable instead ofNODE_ENV(#1313)
- Added a
-
Refactoring
- Added
OverlaysAPI (#1323) - Move our
Menuto use our newOverlayAPI, instead of being baked-in to our shell (#1356) - Move
Definition,Errors, andScrollbarto buffer layers (#1322) - Add
Completion ProvidersAPI (#1329) - Create reusable
VimNavigatorcomponent for navigating non-Vim UI - Split commands between global commands and per-editor commands (#1316)
- Added
-
Dependencies
- Upgrade
tslintto 5.9.1 (#1384)
- Upgrade
-
Experimental Features
- External Commandline: Remove icon (#1249)
- Explorer: Implement 'delete' gesture (#1262)
- Explorer: Focus editor window when file is selected (#1374)
- Explorer: Fix focus behavior when scrolling between top and bottom, and fix mouse interactiosn (#1364)
- Oni window split management (#1363)
- Workspace: Test file mappings (#1283, #1360)
- Sidebar: Some styling tweaks (#1355)
- Welcome: Initial layer UX (#1285)
- Welcome: Add version number (#1351)
- Explorer: Input handling fixes (#1341)
- Snippets: Initial service + session management (#1284, #1328)
- Textmate highlighting - #1272: Clearing highlights when line has moved (#1278)
- Browser: Add initial layer + experimental configuration (#1233)
- Browser: Add basic commands (#1290)
Looking forward
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:
- Sidebar
- Explorer
- Bookmarks
- Search w/ ripgrep
- External commandline / wildmenu
- Textmate Highlighting
- Welcome Experience
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!
Thanks to all our backers and contributors for making Oni possible!
Shout to all our supporters this month!
- @jordwalke
- @mhartington
- @ayohan
- @badosu
- @adambard
- @rrichardson
- @sbuljac
- @josemarluedke
- @akin909
- @TalAmuyal
- @TotempaaltJ
- @mchalkley
- @benjamin-rood
- @christianralph
If you find Oni useful, please consider supporting us via:
v0.2.20
v0.2.20
-
Bug Fixes
- Fix bug with buffer state on buffer deletion (#1086 - thanks @akin909!)
- Fix completion flicker (#1147)
- Handle
shift+spacekey (#1151) - Fix
autoreadsetting (#1156 - thanks @CrossR!) - Fix blank screen when Neovim is not available (#1157)
- TypeScript: Improve error reporting (#1161)
- Fix regression in opening files from command line (#1182)
- #1178 LSP: Fix sending incorrect client capabilities (blocking Go language server) (#1185)
- Fix regression for missing titlebar in OSX, and add test (#1218)
- Fix #963 - delete word in 'lightweight' text control (#1227)
- Add key to scrollbar container (#1228)
- Fix vertical rendering cracks (#1224)
- Fix default config json syntax (#1244 - Thanks @sethwoodworth!)
-
Enhancements
- Fix #1009 - persist background color (#1117)
- Added solarized theme (#1122)
- [Experimental] File Explorer: Implement folder expansion (#1158)
- Window state is now persisted when closing / opening Oni (#1160)
- You can now use
flow-language-serverfollowing the instructions here: JavaScript and Flow - (#1190 - thanks @akin909!) - Add focus gained and focus lost hooks (#1198 - thanks @akin909!)
- Pass statusbar priority from config (#1210 - thanks @akin909!)
- Oni now renders bold and italic styles! (#1203 - thanks @akin909!)
- Add
buffer.addLayerAPI, and integrate initial browser-layer plugin (#1214, #1223) - Implement status bar resize logic (#1211 - thanks @akin909!)
- [Experimental] Sidebar: Used
styled-componentsfor sidebar (#1229) - Performance: Separate loading / entrance animations for shell & editors (#1236)
-
Development
- Add react dev tools and redux dev tools - greatly improving the development experience. (#1142 - thanks @akin909!)
- Automation: Fixed issue where OSX tests would always show as passing (#1153)
- Fix #1154 - Automation: CiTests no longer clobber configuration files (#1167)
- Automation: Use spectron to get console logs instead of our own strategy (#1239)
-
Refactoring
- Split bundle via async imports (#1123)
- Remove global state from
NeovimEditor(#1175) - Track size for all windows on tabpage (#1180)
- Fix initialization path, and make dependencies explicit for statusbar (#1184)
- Remove unused cross-browser-ipc request (#1206)
- [Experimental] TextMate highlighting - add unit tests (#1215)
- [Experimental] Sidebar: Add API for dynamically adding sidebar items
-
Dependencies
-
Documentation
- Fix link to build section
-
Experimental:
- Experimental features are currently unstable and off-by-default - but we'd love your feedback!
- Markdown Preview is now available via setting
experimental.markdownPreview.enabledtotrue! (#922, #1181 - Thanks @TalAmuyal!) - Externalized command line / wildmenu is available via setting
experimental.commandline.modetotrue! (#1177, #1179, #1191 - Thanks @akin909!) - Add search icon for commandline (#1230 - Thanks @akin909!)
Thanks!
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!
v0.2.19
v0.2.19
-
Bug Fixes
- Path issues in OSX are addressed (#1066 - thanks @akin909!)
- #980 - Rename is undo-grouped per file (#1005)
- #1063 - Only underline items if a definition is available (#1070)
- Hide neovim popup menu when switching buffers (#1077)
- #1076 - Fix crash on buffer change event (#1079)
- Prevent text selection of statusbar (#1088 - thanks @akin909!)
- Fix off-by-one issue in quick fix window (#1092 - thanks @CrossR!)
- Fix colors for syntax highlighting
- Fix #1064 - large files crash in Oni (#1113)
- Fix #1076 - hide the titlebar in OSX when fullscreen (#1115)
- Fix language support when opening typescript/javascript file from args (#1126)
- Fix git branch in statusbar (thanks @akin909!)
-
Enhancements
- Icon themes - we now bundle Seti UI icons and use them by default (#1087)
- The mode is now highlighted in the tab bar (#1091). You can set
tabs.highlighttofalseto disable this. - Add language-specific token regexes (#1099 - thanks @CrossR!)
- Add default font units in configuration (#1097 - thanks @CrossR!)
- Auto-closing pairs is now enabled by default. See Auto Closing Pairs for information on configuring.
New Windowmenu item is now available on the OSX dock menu (#1111 - thanks @akin909!)
-
Performance
- Typing prediction is now enabled by default. If you see any oddities in insert mode, this can be disabled via setting
editor.typingPredictiontofalse. - #372 - Metrics added for startup performance, and some initial work to parallelize startup tasks
- Typing prediction is now enabled by default. If you see any oddities in insert mode, this can be disabled via setting
-
Documentation
-
Other
- Auto-update is off by default, since it is a no-op anyway (#1101)
- OSX build is now code-signed!
-
Experimental
- Experimental features are currently unstable, incomplete, and off-by-default
- TextMate Highlighting - allows for finer grained syntax highlighting leveraging TextMate themes (set
experimental.editor.textMateHighlighting.enabledtotrue) - Sidebar and File Explorer - wip file explorer (set
experimental.sidebar.enabledtotrue)
Thanks!
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!
v0.2.18
v0.2.18
-
BREAKING
- Colorschemes - colorschemes must now be specified via
ui.colorschemein yourconfig.js, as opposed to in theinit.vim editor.completions.enabledis noweditor.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 menu
tabs.enabledandtabs.showVimTabshave been coalesced intotabs.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 all
- Colorschemes - colorschemes must now be specified via
-
Enhancements
- #63 - Synchronize titlebar color on OSX
- Performance: Use 'redux-batched-subscribe' in our redux stores to minimize rendering overhead (#1011, #1026)
- Clean up outdated examples (#999)
- Fix our
$PATHresolution logic - this should address some nagging path issues we had #868 - (#934 - thanks @akin909!) - CSS Language Server -
.scssfiles are now added to the default configuration (#960) - Scrollbar enhancements in the tabline (#993 - thanks @akin909!)
- #950 - Colors can be customized for UI elements (#975)
-
Bug Fixes
- Edit Neovim config command now works correctly (#969 - thanks @CrossR!)
- Minimize keybinding now works correctly on OSX (#964 - thanks @akin909!)
- #1006 - Fix hover + definition behavior when moving the cursor (#1044)
- Fix QuickOpen sizing (#1030 - thanks @akin909!)
- #956 - Several autocompletion oddities are fixed, and we now have unit tests to exercise problematic cases (#972, #1049)
- Fix selection issue on buffer bar (#1013 - thanks @akin909!)
- Fix bug where two
<ESC>presses were needed to close the completion menu (#995) - Bug fixes with rename dialog (#968)
- Status bar fixes for language server (#967)
- Fix TextMate highlighting in cases where Vim filetype contains a '.' (#1047 - thanks @akin909!)
- Add default TextMate files for
.go(thanks @josemarluedke)
-
Configuration Changes
-
Dependencies
- Upgrade to Neovim 0.2.2
- Upgrade TypeScript to 2.6.1
- Our dependent Vim plugins have been migrated to submodules (thanks @CrossR!)
-
Documentation
-
EXPERIMENTAL
- Experimental features are currently unstable and off-by-default
- Typing Predictions - faster insert mode typing (enable by setting
experimental.editor.typingPredictiontotrue) - TextMate Highlighting - allows for finer-grained syntax highlighting leverage TextMate themes (set
experimental.editor.textMateHighlighting.enabledtotrue) - Auto-closing pairs - auto-closing pairs, per language (set
experimental.autoClosingPairs.enabledtotrue)
Thanks!
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!
v0.2.17
v0.2.17
- BREAKING
- Windows-Only:
config.jslocation has moved from%HOME%/.oni/config.jsto%APPDATA%/oni/config.js- thanks @CrossR!
If you are on Windows, and have a custom configuration, make sure to move your
config.jsto the new location. This does not affectinit.vim. - Windows-Only:
- Bug Fixes
- Fix #911, #900 - handle cases when
nvimis not on path more gracefully (common issue users hit on Linux) - Fix #868, #919, along with several other
nvimpath issues - this was a major pain point for OSX users. Thanks @akin909 for tackling this, and congrats on the first PR! 😄 - Fix keybinding conflict between QuickOpen and Symbol Search in #927 - thanks @CrossR!
- Fix #923 - configuration in after folder is not recognized (#935)
- Removed
experimental.enableLanguageServerFromConfigfeature flag - configurable language servers is now on by default. (#920) - Windows: Removed
nvim-qtexecutables from packaged binaries, since they are unused (#917) - Fix completion details flickering (#915)
- Fix #911, #900 - handle cases when
- Other
- Integrated css-language-server - completion out-of-the-box for CSS and LESS!
- Add default binding for
<ESC>to leave terminal mode (#915) - Add subtle cursor motion for instant typing feedback (#888) - you can disable this by setting
ui.animations.enabled:falseif you find it distracting!
- Documentation
- Shorcuts page added to our wiki - thanks @CrossR!
- Development - clarifications around dependencies + linux build - thanks @keforbes!
- Experimental
- Auto-pairs functionality is being developed behind the
experimental.autoClosingPairs.enabledsetting (off by default for now)
- Auto-pairs functionality is being developed behind the
- Dependency Updates
ocaml-language-serverwas updated to 1.0.12 - thanks @freebroccolo!
Looking forward
Some cool works-in-progress in varying states:
- Markdown Preview - thanks @TalAmuyal for looking at this!
- File Explorer
- TextMate Syntax Highlighting
- Responsiveness Improvements (Optimistic Typing Updates)
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!
Thanks to all our backers and contributors for making Oni possible!
If you find Oni useful, please consider supporting us via:
v0.2.16
v0.2.15
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-ripgrepdependency, and will be publishing a new build.
v0.2.15
Some big milestones this release:
-
We have an org! Moved from
bryphe/onitoonivim/oni -
We have a website! http://onivim.io
-
We have an Open Collective!
-
Language Server Support
- Oni supports configurable language servers. See Language Support for more information on using this functionality.
- Complete refactoring of existing plugin infrastructure
- Trigger characters for completion are customizable (#861 - thanks @CrossR!)
- TypeScript / JavaScript completion bug fixes (#839)
ocaml-language-serveris included with Oni (#841), to enable first-class support with Reason & OCaml- Signature Help is now supported (#814)
- Symbol search is now supported (#819)
- Rename is now available (F2) (#819)
-
UI Improvements
-
Bug Fixes
- Scroll bar / cursorline not in correct window (#818)
-
API Changes
directory-changedevent was moved tooni.workspace.onDirectoryChanged(#813)- Added
onBufferSavedevent
-
Other
- Implemented
Help->About(#872) - New setting:
editor.quickOpen.caseSensitive(#831) C-candC-[now close the menu too (#833 - thanks @jared-skinner!)- Removed
beep.wavandASSETS.md(#866) - More robust automated tests (#850)
- Windows Installer: There is now an option to add Oni to right-click menus (thanks @CrossR!)
- Improved OSX defaults for QuickOpen and Command Palette (#824)
- Implemented
Looking Forward
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.
Supporters
Shout out to our supporters this month!
Thank you for your support!
v0.2.14
v0.2.13
v0.2.13
Updates
- Configuration
- Enhancements
- Bug Fixes
- #541 - Fix for redrawing during resize, and improving font quality when there is no background (#753)
- Replace
pxwithemfor statusbar (#780) - #473 - Open binaries crashes Oni (#777)
- #562 - fix remaining boundary cases for QuickInfo positioning
- Remove
extensionsfolder creation on launch (#790) - OSX - change quit to quit app instead of close current window (#787 - thanks @MikaAK!)
- #436 -
Edit neovim configaction doesn't always work on Windows (#799) - Added border for QuickInfo UI (#798 - thanks @josemarluedke for the proposal and idea!)
- Documentation
- Depedencies
- Upgrade TypeScript dependencies and check-in package lock files (#791)
- Refactoring
- Refactor
executeAutoCommandso that it is more robust in the general case (#681) - Clean up unnecessary redux actions (#786)
- Remove unused evaluate block and replace
mode-changedwith the editor API (#792) - Remove package-lock files and .gitignore (#795)
- Make
NeovimInstancenotification arguments immutable (#794 - thanks @cdelahousse!)
- Refactor
Looking Forward
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:
- Improved go-to definition UX
- Refactoring / code action support
- Code lens support
- Enhanced syntax highlighting (via TextMate themes)
Supporters
Shout out to our supporters this month!
Thank you for your support!
v0.2.12
v0.2.12
Updates
Highlights
- Oni can now leverage
clangdfor C/C++ completion! Thanks @TalAmuyal for your PR and investigation to enable this.
- QuickOpen and Command Palette now match the colorscheme:
New Features
- Support opening file in a new tab from QuickOpen (#761 - thanks @badosu!)
- Added
oni.maximizeScreenOnStartconfiguration option (#771 - thanks @CrossR!) - Add support for
clangdas an LSP client (#757 - thanks @TalAmuyal!) - #416 - Added
oni.recorderAPI (#739)
Bug Fixes
- Fix #483 -
Cmd+Qnow quits on OSX (#768) - Fix #644 -
BracketLeftkey not working on Windows 10 es-ES keyboard (#767) - Fix #713 - Provide an option to configure statusbar size (#749)
- Fix
ERR_FILE_NOT_FOUNDon startup in developer tools (#754) - Fix #714 - HDPI issues and setup QuickOpen to match colorscheme (#749)
Looking Forward
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.
Supporters
Shout out to our supporters this month!
Thank you for your support!




