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.showIndex
option (#1286) - Add
tabs.showFileIcon
option (#1287)
- New Buffer Menu - quickly open and switch between your open buffers. Defaulted to
-
Bug Fixes
- Fix issue where colors in
styled-components
were 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-server
path 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.synchronizeYank
andeditor.clipboard.synchronizeDelete
settings (#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.show
command (#1301) - Fixed cursor brightness in
nord
theme (#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 -
showmatch
causing 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
prepush
andprecommit
hook to runprettier
on 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_LOAD
environment variable instead ofNODE_ENV
(#1313)
- Added a
-
Refactoring
- Added
Overlays
API (#1323) - Move our
Menu
to use our newOverlay
API, instead of being baked-in to our shell (#1356) - Move
Definition
,Errors
, andScrollbar
to buffer layers (#1322) - Add
Completion Providers
API (#1329) - Create reusable
VimNavigator
component for navigating non-Vim UI - Split commands between global commands and per-editor commands (#1316)
- Added
-
Dependencies
- Upgrade
tslint
to 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+space
key (#1151) - Fix
autoread
setting (#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-server
following 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.addLayer
API, and integrate initial browser-layer plugin (#1214, #1223) - Implement status bar resize logic (#1211 - thanks @Akin909!)
- [Experimental] Sidebar: Used
styled-components
for 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.enabled
totrue
! (#922, #1181 - Thanks @TalAmuyal!) - Externalized command line / wildmenu is available via setting
experimental.commandline.mode
totrue
! (#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!
- @jordwalke
- @mhartington
- @ayohan
- @badosu
- @adambard
- @rrichardson
- @sbuljac
- @josemarluedke
- @Akin909
- @TalAmuyal
- @TotempaaltJ
- @benjamin-rood
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.highlight
tofalse
to 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 Window
menu 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.typingPrediction
tofalse
. - #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.enabled
totrue
) - Sidebar and File Explorer - wip file explorer (set
experimental.sidebar.enabled
totrue
)
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!
- @mhartington
- @ayohan
- @badosu
- @adambard
- @rrichardson
- @sbuljac
- @josemarluedke
- @Akin909
- @TalAmuyal
- @TotempaaltJ
v0.2.18
v0.2.18
-
BREAKING
- Colorschemes - colorschemes must now be specified via
ui.colorscheme
in yourconfig.js
, as opposed to in theinit.vim
editor.completions.enabled
is 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.enabled
andtabs.showVimTabs
have 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
$PATH
resolution logic - this should address some nagging path issues we had #868 - (#934 - thanks @Akin909!) - CSS Language Server -
.scss
files 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.typingPrediction
totrue
) - TextMate Highlighting - allows for finer-grained syntax highlighting leverage TextMate themes (set
experimental.editor.textMateHighlighting.enabled
totrue
) - Auto-closing pairs - auto-closing pairs, per language (set
experimental.autoClosingPairs.enabled
totrue
)
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.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
. - Windows-Only:
- Bug Fixes
- Fix #911, #900 - handle cases when
nvim
is not on path more gracefully (common issue users hit on Linux) - Fix #868, #919, along with several other
nvim
path 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.enableLanguageServerFromConfig
feature flag - configurable language servers is now on by default. (#920) - Windows: Removed
nvim-qt
executables 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
:false
if 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.enabled
setting (off by default for now)
- Auto-pairs functionality is being developed behind the
- Dependency Updates
ocaml-language-server
was 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-ripgrep
dependency, and will be publishing a new build.
v0.2.15
Some big milestones this release:
-
We have an org! Moved from
bryphe/oni
toonivim/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-server
is 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-changed
event was moved tooni.workspace.onDirectoryChanged
(#813)- Added
onBufferSaved
event
-
Other
- Implemented
Help
->About
(#872) - New setting:
editor.quickOpen.caseSensitive
(#831) C-c
andC-[
now close the menu too (#833 - thanks @jared-skinner!)- Removed
beep.wav
andASSETS.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
px
withem
for statusbar (#780) - #473 - Open binaries crashes Oni (#777)
- #562 - fix remaining boundary cases for QuickInfo positioning
- Remove
extensions
folder creation on launch (#790) - OSX - change quit to quit app instead of close current window (#787 - thanks @MikaAK!)
- #436 -
Edit neovim config
action 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
executeAutoCommand
so that it is more robust in the general case (#681) - Clean up unnecessary redux actions (#786)
- Remove unused evaluate block and replace
mode-changed
with the editor API (#792) - Remove package-lock files and .gitignore (#795)
- Make
NeovimInstance
notification 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
clangd
for 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.maximizeScreenOnStart
configuration option (#771 - thanks @CrossR!) - Add support for
clangd
as an LSP client (#757 - thanks @TalAmuyal!) - #416 - Added
oni.recorder
API (#739)
Bug Fixes
- Fix #483 -
Cmd+Q
now quits on OSX (#768) - Fix #644 -
BracketLeft
key not working on Windows 10 es-ES keyboard (#767) - Fix #713 - Provide an option to configure statusbar size (#749)
- Fix
ERR_FILE_NOT_FOUND
on 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!