This repository was archived by the owner on Apr 1, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 299
Whats New in Oni
Bryan Phelps edited this page Mar 12, 2018
·
18 revisions
- We moved from gitter to [Discord](https://discord.gg/7maEAxV)
- The default for `'tabs.mode'` has changed from `'buffers'` to `'tabs'`. If you prefer the current behavior, make sure to switch this!
- We also moved to a TypeScript configuration format - updating is _optional but recommended_ - see the [Migration Guide](https://github.com/onivim/oni/wiki/Migrating-Configuration-to-TypeScript).
-
Enhancements
- Tabs now show modified state (#1498 - thanks @CrossR!)
-
--help
option added to command line (#1509 - thanks @someguynamedmatt!) - 'Key Display' feature added (#1551)
- Implement #55 - Snippet support (#1591, #1605, #1608)
- Configuration: Use notification instead of alert for reporting errors (#1597)
- Hover: Implement syntax highlighting in Hover UI (#1443)
- Tabs: Add folder/file naming if filename is duplicated (#1566)
- Integrate template files with snippets (#1604)
- Improve error notification UX (#1618 - thanks @Akin909!)
- Add sneak buttons to notifications (#1636 - thanks @Akin909!)
- Enable textmate highlighting by default (#1638)
- Snippets: Add special buffer layer for snippets (#1641, #1648)
- Change vim directory if Oni workspace changes (#1643 - thanks @Akin909!)
- Snippets: Add out-of-box snippets for JavaScript, TypeScript, HTML, and Reason (#1649, #1650, #1668)
- Add expiration timeout to info notifications (#1637)
- Image layers (#1619)
- Switch default
'tabs.mode'
to'tabs'
- Add entrance animation to sneak (#1672)
- Snippets: Add variable resolution logic (#1692)
- Implement drag-and-drop in explorer (#1581)
- Implement TypeScript configuration editor strategy (#1620, #1733)
- Implement user snippet loader (#1669)
- Terminal: Add convenience commands to open in splits (#1731)
-
Bug Fixes
- Reduced log noise (#1538 - thanks @TalAmuyal)
- Fix #38: Better error message on startup with invalid
init.vim
(#1354) - Fix issue where null sidebar was returned in certain conditions (#1555 - thanks @someguynamedmatt!)
- Fix #1256 - Textmate Highlighting not showing until cursor moves (#1298)
- Textmate Highlighting - fix insert-mode quirkiness (#1257)
- Fix #1543 - Conflict with quickopen / menu keybindings (#1600 - thanks @TheKnarf!)
- Fix some tab creation issues (#1590 - thanks @CrossR!)
- Snippets: Fix issue with zero-length snippet placeholders (#1612)
- Snippets: Fix ordering of placeholders (#1615)
- Fix
NeovimInstance
being undefined on startup (#1630) - Fix lint issues in shell scripts (#1613 - thanks @zapashcanon!)
- Fix bug in default configuration (#1635 - thanks @TitanSnow!)
- Snippets: Fix synchronization issue when value shortens (#1638)
- Use absolute path in quickopen (#1645 - thanks @Akin909!)
- Snippets: Fix boundary case where placeholder is empty and at end of line (#1647)
- Snippets: Detect whitespace and match (#1662)
- Fix issue where
process.env
was changing during execution (#1665) - Snippets: Fix issue with snippet placeholders after visual mode selection (#1670)
- Fix open behavior in tabs vs buffers (#1677 - thanks @Akin909!)
- Fix duplicate layer issue (#1671)
- Fix #1681 - regression in open behavior when a path contains spaces (#1687)
- QuickOpen - add key to open in existing tab (#1685)
- Fix bug where image layer was added to files w/o extension (#1688, #1676 - thanks @Akin909!)
- Fix incorrect use of dom purify which was breaking
<Components />
(#1701 - thanks @Akin909!) - Snippets: Set
snippetSupport
to true in our LSP client initialization (#1714) - Fix bug in cursor position w/ snippets (#1718)
- Fix #864 - Filter completion by scopes (#1622)
- Fix #1719 - Add
snippets.enabled
configuration option (#1720) - Snippets: Fix bug where it takes two
<esc>
key presses to leave snippet mode (#1721) - Snippets: Fix
${0}
placeholder ordering issue (#1722) - Fix inverted conditional in
main.ts
(#1725) - Fix flicker in insert mode with textmate highlighting (#1724)
- Remove unused attributes from StatusResize state interface (#1739)
- Enable closing menu popups by clicking on backdrop (#1748)
- Snippets: Don't show snippets in property / member completion (#1752)
- Add configuration setting for error notifications (#1754)
- Fix config option for commandline icons (#1749 - thanks @CrossR!)
- Allow maximizing the window by double-clicking on the window title (#1762 - thanks @rgehan!)
- Snippets: Make snippet loader more robust against parse failures (#1751)
- Snippets: Exception when inserting a snippet without placeholder (#1755)
-
Dependencies
- TypeScript updated to 2.7.1 (#1535)
-
ocaml-language-server
updated to 1.0.27 (#1542 - thanks @freebroccolo and @Akin909!) - Upgrade
oni-api
to 0.0.38 (#1723)
-
Development Experience
- We now have code coverage enabled, courtesy of codecov!
- Improve caching logic for binaries on CI machines (#1592, #1595, #1606, #1616, #1621)
- Fix #1345 - Improve developer experience when starting from webpack (no refresh needed) (#1663)
- Clear lib_test folder prior to building / running tests (#1684)
- Automation: Improve process closing logic on OSX (#1689)
- Automation: OSX reliability fixes (#1700)
- Use snippet variables in our unit test template (#1729)
- Stabilize QuickOpenTest - add wait for
menu.close
command to be available (#1732)
-
Documentation
- Update CONTRIBUTING.md with details about claiming a bounty (#1734 - thanks @CrossR!)
-
Refactoring
- Remove unused SidebarPane/SidebarWidget classes (#1596)
- Factor the 'edit config' command out of editor and into configuration (#1603)
- Switch menu store to common redux infrastructure, to improve logging and performance (#1686)
-
API
- Customer input resolvers / listener API added (#1372)
- Add
getPlugin
API and way for plugins to expose methods (#1550 - thanks @TalAmuyal) - Add API for custom edit strategies (#1609)
- Add
removeLayer
API (#1640) - Add language contributions in extension manifest (#1657)
- Update
Sneak
API to be async, to support browser scenario (#1661)
-
Experimental
- Initial editor multiplexing work is in (#1405)
- Add learning pane (#1666)
- Browser: Add commands to open in horizontal / verticial split (#1690)
- Browser: Add configuration option for browser default langing page (#1693)
- Browser: Add initial preload script (prereq for sneak integration) (#1691)
- Browser: Implement sneak integration (#1699)
- Add
editor.split.mode
setting +'oni'
implementation (#1682) - Initial Achievements implementation (#1698)
-
Enhancements
- nord colorscheme by arcticicestudio is now the default
- Sidebar is enabled by default (#1392)
- QuickOpen menu now has scrollbars (#1352)
- Initial implementation of sneak-mode (#1376)
- Auto-detection of project root workspace (#1402)
- Add 'empty experience' for explorer and search (#1410)
- Sidebar: RipGrep search integration (#1394, #1428, #1448, #1451, #1522)
- Sidebar: Add toggle functionality (#1477, #1508)
- Show reverse bindings in menu (#1481)
- Add
Control+G
binding by default for Sneak mode - Add
Control+Shift+F
/Meta+Shift+F
binding for find-in-files (#1482) - Error Handling: We now have error boundaries on window splits (#1493)
-
Bug Fixes
- Add overflow handling to buffer layers (#1391)
- Fixed workspace open regressions (#1393)
- Fix OCaml LSP and diagnostic typo (#1404 - thanks @Akin909!)
- Fix behavior of top highlight when navigating between explorer and sidebar
- Styling fixes (#1417, #1418)
- Fix issue with window number error removing buffer bar highlight (#1419 - thanks @Akin909!)
- Fix regression in enter/space keys (#1423)
- Fix default config to match new colorscheme (#1429 - thanks @CrossR!)
- Fix measurement issue with hover UX (#1318 - thanks @Akin909!)
- Auto-Closing Pairs: Fix quote auto-insertion (#1375 - thanks @CrossR!)
- Fix keys in Buffer Scrollbar (#1450)
- Completion: Fix exception when no
__provider
is available (#1457) - Completion: Fix exception when a completion provider returns null (#1516)
- Fix click window behavior (#1468)
- Explorer: Fix overflow handling (#1473)
- Tab Bar: Add inner name component to truncate long names (#1489 - thanks @Akin909!)
- Windows Installer: Stop waiting for Oni instance at end of install (#1500 - thanks @CrossR!)
- Fix null exception in
handleInput
on buffer (#1501) - Fix exception when navigating window splits (#1499 - thanks @Akin909!)
- Fix exception when cancel out of open file dialog (#1514 - thanks @CrossR!)
-
Dependencies
- Upgrade to electron 1.82-beta5(#1422)
-
Development Experience
- Prettier is now added by default when committing (thanks @Akin909!)
- Easier to add configuration settings for CiTests (#1401)
- CiTests can now be run against local build instead of packed build (#1456)
- Fixed regression in react/redux devtools after upgrading eelectron (#1467)
- Failed test messages are shown at the bottom of the log (#1474 - thanks @someguynamedmatt!)
- Add checks in CiTests to fail if there are any errors (#1491)
- Add
package.json
toprettierignore
(#1497 - thanks @Akin909!) - Address hanging tests by killing any hanging instances prior to each run (#1505, #1511, #1517)
- Added
.nvmrc
with node@9 (#1510 - thanks @#someguynamedmatt!) - Enable
npm run build-debug
(#1515)
-
API
- Input: There is now a reverse-lookup API, to get check for bindings per command (#1365)
- Window Manager: Add methods to allow for showing / hiding / toggling / focusing Oni-managed window splits (and resize later!) (#1449)
-
Experimental
- Oni now has a notification API (off-by-default for this release, but will be on for future ones) (#1503, #1504, #1526)
- Notifications: Show unhandled errors / rejections (#1494)
- Welcome screen has Vim navigation
- Sidebar: Marks Pane (#1388, #1430, #1466)
- Sidebar: Plugin Pane (#1431, #1452)
- Markdown Preview: Test coverage (#1415 - thanks @TalAmuyal!)
- Textmate Highlighting: We now synchronize token colors from neovim (#1481, #1485)
-
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)