-
Notifications
You must be signed in to change notification settings - Fork 298
Whats New in Oni
-
Enhancements
- Add config option for default action of QuickOpen (#2080 - thanks @CrossR!)
- Tutorial: Add visual mode tutorial (#2167 - thanks @keforbes!)
- WebGL Renderer: Add bold and italic rendering (#2199 - thanks @Cryza!)
- Add file drag/drop handler (#2179 - thanks @Akin909!)
- Tutorial:
f
,F
,t
,T
,,
,;
(#2294 - thanks @brian-yu!) - Tutorial: Targets.vim tutorial (#2192 - thanks @nwneisen!)
- Tutorial: Create text objects tutorial (#2319 - thanks @keforbes!)
- Tutorial: Cleanup, additional reinforcement & improvements (#2204, #2345 - thanks @keforbes!)
- Sidebar: Add
sidebar.width
configuration setting (#2210) - Enable use of middle-click to close tabs (#2190 - thanks @texhnolyze!)
- Configuration: Add
editor.fontWeight
configuration setting (#2232) - API: Add
setTextOptions
API on the editor (#2262) - Notifications: Improve dimensions (#2244 - thanks @badosu!)
- Configuration: Add keyboard shortcut to edit configuration (#2280 - thanks @ayohan!)
- Sidebar: Toggle sidebar item on click (#2297 - thanks @CrossR!)
- Sidebar: Add key bindings to change sidebar width (#2236 - thanks @Akin909!)
- Menu Bar: Add hidden option (#2237 - thanks @CrossR!)
- KeyDisplayer: Show full modifier key names (#2340 - thanks @Speculative!)
-
Bug Fixes
- Fix #2147 - Closed splits use up window space with
editor.split.mode
set to'oni'
- Fix
scrollIntoView
logic for tabs (#2171) - Fix #2060 - Improve responsiveness of tutorials on smaller screens (#2170)
- Fix #2047 - Canvas rendering improvement (#2187)
- Fix regression in
editor.quickInfo.show
functionality (#2193) - Fix #2191 - Snippet loading issues (#2196)
- Performance: Add selector for NeovimBufferLayerView (#2195)
- Performance: Remove accumulating error styles in document head (#2197 - thanks @Akin909!)
- WebGL Renderer: Fix out of texture space issue (#2198 - thanks @Cryza!)
- Fix regression in sneak mode for tabs (#2186 - thanks @Akin909!)
- WebGL Renderer: Fix artifacts due to overlaps in rendered glyphs (#2207 - thanks @Cryza!)
- Fix bug with
onScrolled
event not firing in all cases (#2143) - Update intro video with latest features (#2019)
- Performance: Limit key chord evaluation (#2208)
- Fix bug with
oni.input.unbind
not handling arrays (#2216 - thanks @ackey!) - WebGL Renderer: Lazily (re)initialize the glyph buffer w/ sufficient size (#2224 - thanks @Cryza!)
- Explorer: Remove call to clear the oni-backup dir on oni startup (#2227 - thanks @Akin909!)
- Fix #2185 - Remove call to set scrollbind (#2270 - thanks @Akin909!)
- Explorer: Change explorer file delete to
control+shift+d
(#2265 - thanks @nwneisen!) - QuickOpen: Fix empty item (#2278 - thanks @Speculative!)
- Fix #2163 - Override persisted workspace if folder is passed in (#2264)
- Fix staggered cursor positioner rendering (#2285 - thanks @Akin909!)
- Explorer: Allow explorer root to toggle (#2290 - thanks @rhendric!)
- IME: Fix less-than sign problem in IME (#2296 - thanks @ackey!)
- Explorer: Make
readdir
more robust (#2301 - thanks @rhendric!) - Clipboard: Fix issue with content being trimmed (#2298 - thanks @TalAmuyal!)
- Textmate Highlighting - GrammarLoader: Properly check if key is in cache (#2321 - thanks @GeorgeTG)
- Plugin: Fix handling of
--plugin-develop
argument (#2266 - thanks @nwneisen!) - Browser: Fix scroll key binding conflict (#2239)
- Fix issue where
tabState
could cause crashes when null (#2335 - thanks @Akin909!) - IME: Fix conflicts with
autoClosingPairs.enabled
(#2338, #2341 - thanks @ackey!)
- Fix #2147 - Closed splits use up window space with
-
Documentation
- Fix up contributors list (thanks @badosu!)
-
Refactoring
- Remove unused parser class (#2263)
- Convert quickinfo to use
styled-components
(#2277 - thanks @Akin909!) - Move logging to
oni-core-logging
module (#2283)
-
Developer Experience
- Use yarn to run npm scripts (#2057, #2177 - thanks @texhnolyze!)
- Issue template improvements (#2203, #2212, 2309 - thanks @dkns, @CrossR, @TalAmuyal!)
- Fix build issue with
rxjs
(#2225 - thanks @Cryza!) - Test Fix parsing issues in ui-test tabs (@2226 - thanks @Akin909!)
- Build: Skip commits that only contain markdown changes (#2303 - thanks @CrossR!)
-
Dependencies
- Upgrade
neovim
to 0.3.0 (#2304, - thanks @CrossR!) - Upgrade
electron
to 2.0.2 (#2160) - Upgrade
prettier
andpretty-quick
(#2228 - thanks @Akin909!) - Upgrade
react
to 16.3 (#2229 - thanks @Akin909!) - Update all submodules (#2287 - thanks @CrossR!)
- Upgrade
-
Experimental
- Markdown Preview: Several bug fixes (#2282 - thanks @CrossR!)
- Sidebar: Initial plugins pane (#2172)
- Add
--plugin-develop
flag (#2189))
-
Enhancements
- Add menu command to open new window (#2034 - thanks @Akin909!)
- Improve default configuration (#1933 - thanks @Himura2la!)
- Add copy-and-paste tutorial (#2045 - thanks @keforbes!)
- Prettier plugin (#1540 - thanks @Akin909!)
- QuickOpen: Leverage VSCode sorting/scoring strategy (#2009, #2126 - thanks @CrossR!)
- Add config option to have sidebar open by default or not (#2049 - thanks @Akin909!)
- Add config option for showing reference buffer (#2048 - thanks @CrossR!)
- Several language grammars added (#2061, #2068 - thanks @Akin909!)
- Use notification API instead of alerts for recording actions (#2072 - thanks @katakonst!)
- Add prompt to use
init.vim
if one is found (#1942 - thanks @Akin909!) - Remove sync calls in
ExplorerFileSystem
(#2077 - thanks @DeltaEvo!) - Add optional
baseVimBackground
for themes (#2083) - CanvasRenderer: Align text rendering to vertical pixel boundary (#2090)
- Themes: Add Hybrid and Gruvbox themes (#2088 - thanks @parkerault!)
- Use Vim shell option as default value for terminal.shellCommand (#2098 - thanks @DeltaEvo!)
- Explorer: Add file / folder manipualtion commands to explorer (#1839 - thanks @Akin909!)
- Explorer: Add FileSystemWatcher (#2116, #2121, #2149 - thanks @Akin909!)
- Explorer: Add rename file functionality (#2115)
- Add experimental WebGL renderer (#2120 - thanks @Cryza!)
- Explorer: Add new file (#2130 - thanks @Akin909!)
-
Bug Fixes
- Implement scroll delta threshold to improve MacOS scrolling experience (#2042 - thanks @samdoiron!)
- Use max width for tab names (#2074 - thanks @Akin909!)
- Stop propogation of event in File Explorer to avoid multiple click events (#2078 - thanks @DeltaEvo!)
- Markdown Preview: Fix issue with it opening horizontally instead of vertically (#2079)
- Fix null event when sneak navigation is used (#2099 - thanks @DeltaEvo!)
- Fix version check to recognize Neovim 0.3.0 (#2103)
- Add check to ensure there is an error event obj (#2122 - thanks @Akin909!)
- Fix fs event overload (#2124 - thanks @Akin909!)
- Fix #2050 - Add a 'game loop' for tutorials (#2128)
- Fix delete binding to use the
isExplorerActive
filter (#2162)
-
Developer Experience
- Build: Add back minimal caching for AppVeyor (#2052)
- Build: Add commit id when uploading builds (#2053)
- Build: Upgrade to webpack 4 (#2109 - thanks @DeltaEvo!)
-
Documentation
- Fix link in README for minimal configuration (#2040 - thanks @rmehner!)
- Fix typo (#2095 - thanks @tbroadley!)
-
OSX / Linux The path for configuration files has moved from
~/.oni
to~/.config/oni
- #1478. Make sure to move your configuration files by running:
mkdir -p ~/.config/oni
cp -r ~/.oni ~/.config/oni
NOTE: Double-check and make sure you don't already have a config file at
~/.config/oni
- you may want to back-up your config just to be safe! This will overwrite any existing configuration at~/.config/oni
.
- The filter strategy for our 'fuzzy finder' has switched from
fuse
toregex
- #1793. If you prefer the old behavior, make sure to set theeditor.quickOpen.filterStrategy
to'fuse'
. - Some opinionated defaults were removed from our
init.vim
in #1811. If you prefer the old behavior, you can bring them back in yourinit.vim
. -
vim-surround
is added as a default plugin.
NOTE: The embedded browser is enabled by default now, but it is still a WIP and an alpha-quality feature - please do NOT use it for anything security critical!
-
Enhancements
- QuickOpen: Add refinement capability (#1727 - thanks @CrossR!)
- QuickOpen: Use
regex
as the default filter strategy (#1793) - Configuration: Use XDG compliant path for config files (Linux/Mac) (#1792 - thanks @rgehan!)
- Achievements: Implement achievements feature (#1797, #1827)
- Sidebar: Add learning pane (#1617, #1812, #1825, #1869, #1924)
- Tutorial: Implement interactive tutorial framework (#1805, #1832, #1868, #1881, #1878, #1880, #1898, #1909, #1900, #1986, #1996)
- Configuration: Open a split view with a reference of available configuration settings (#1795 - thanks @rgehan!)
- Achievements: Add 'Trophy Case' buffer layer (#1810)
- Achievements: Implement initial achievements set (#1891, #1908, #1911, #1976, #1981, #1982)
- Tidy up and remove options from default vim config (#1811 - thanks @CrossR!)
- Tutorial: Basic Movement (#1820, #1830)
- Tutorial: Delete Character (#1912, #1955)
- Tutorial: Beginnings and endings (#1963)
- Tutorial: Basic word motion (#1964)
- Tutorial: Delete operator (#1965)
- Tutorial: Move-and-insert (#1956)
- Clean up styling in Menu - remove underline, replace with colored highlights (#1814 - thanks @rgehan!)
- Update title bar background color for one-dark (#1858)
- Browser: Implement editable address bar (#1834)
- Browser: Make browser buttons sneakable (#1867)
- UX: Add particle system API for use with tutorials / sneak (#1876)
- Change navigateToProjectRoot to accept folders (#1866 - thanks @CrossR!)
- Initial implementation of chorded key presses (#1892)
- Add configuration setting / metadata API (#1896)
- Browser: Enable sneaking to text input boxes (#1895)
- Browser: Add 'browser.zoomFactor' configuration value (#1901)
- Sneak: Add subtle particle effect when selected sneak item (#1910)
- Support more file types (#1936 - thanks @mikl!)
- Notification: Add buttons to the notification UX (#1937)
- Add default configuration for Haskell LSP (#1918 - thanks @Tehnix!)
- Configuration: Add syntax highlighting to config reference (#1922 - thanks @Akin909!)
- Enable
learning
andachievements
features by default (#1975) - Extend
OniCommand
to allow passing arguments (#1984 - thanks @CrossR!) - Windows: Update builds so that we have dedicated x64/x86 builds! (#1905 - thanks @CrossR!)
- Tutorial: Add notes column showing relevant keys to use (#1994)
- Add
vim-surround
as default plugin (#2003 - thanks @muream!) - Tutorial: Find in buffer (#2006 - thanks @muream!)
- Browser: Auto-prefix URL if needed (#2016 - thanks @Akin909!)
-
Bug Fixes
- Fix tabs so that they use the correct id when closing / focusing (#1761 - thanks @rgehan!)
- Statusbar: Add truncation to working directory path (#1775 - thanks @Akin909!)
- Fix jerkiness on adding a new tab (#1782)
- Fix GitHub brand typo (#1784 - thanks @montogeek!)
- Snippets: Placeholder highlighting not rendering on initial insert (#1790)
- Token colors not being overridden by
editor.tokenColors
setting (#1791) - Fix #1578 - regression in
editor.textMateHighlighting.debugScopes
(#1794) - Fix #1799 - crash with heavy macro usage (#1801)
- Hide commandline overlay when editor is disposed (#1803)
- Fix #1798 - Error on load (#1800)
- Fix regression in
autoread
workaround (#1819 - thanks @CrossR!) - Fix menu empty item selection (#1816 - thanks @CrossR!)
- Bug fix: Check if linecontent before executing getTokenAt (#1697 - thanks @Akin909!)
- Fix highlighting of differently cased words in QuickOpen (#1831 - thanks @rgehan!)
- Highlight text crash fix (#1852 - thanks @CrossR!)
- Configuration: Handle reload from any editor (#1855)
- Command Palette: Crop command details when too long (#1879)
- Fix drag-and-drop of files onto Oni (#1882 - thanks @CrossR!)
- Sneak: Don't show sneak hints for elements outside the window (#1884)
- Fix issue where input would be swallowed when switching between multiplexed editors (#1893)
- Fix regression in auto-closing pairs due to chorded input logic (#1902)
- Tutorial: Fix null goals showing up (#1904)
- Tutorial: Don't load init.vim for tutorial experiences (#1966)
- Tutorial: Improve responsiveness of tutorial completion screen (#1967)
- Configuration: Fix bug with setting a default value (#1977)
- Fix #1924 - Tutorial: Swapping tutorials does not work (#1983)
- Fix accelerator key in Exit menu entry (#2001 - thanks @tom-james-watson!)
- Fix broken OSX builds (#2014)
-
Dependencies
- Upgrade
electron
to1.8.4
(#1843) - Upgrade
oni-api
to0.0.41
(#1779) - Upgrade
electron-builder
to20.5.1
(#1844) - Upgrade
spectron
to3.8.0
(#1845) - Upgrade
rxjs
to5.5.8
(#1954)
- Upgrade
-
Refactoring
- Refactor menu-item-click to use command (#1787)
- Refactor blur/focus handling to WindowManager (#1786)
- Remove unused
errors
class (#1788) - Remove task registration from editor (#1789)
- Remove unused project configuration class (#1796)
- Improve editor disposal (#1807)
- Refactoring: Move flip animation to separate component (#1808)
- Refactor FileIcon to styled-components (#1980 - thanks @Cryza!)
- Refactor
HighlightText.tsx
to styled-components (#2000 - thanks @Cryza!)
-
Developer Experience
- We now have automation coverage for our
reason
language integration! (#1189) - Dynamic file associations - consolidation of file assocations across platforms. (#1769 - thanks @mgbennett!)
- Automation - Stop tests if one fails (#1826)
- Add test case for autoread functionality (#1824, #1841)
- Automation: Log out window count prior to stopping (#1833)
- Automation: Update buffers test to use explicit buffers mode (#1835)
- Add enzyme testing infrastructure, so that we can now test React components! (#1552 - thanks @Akin909!)
- Add additional logging for main process, to debug issues with it closing (#1849)
- Add build script to uplaod builds to azure (#1850)
- Build: Increase timeout of dmg packing on OSX (#1861)
- Automation: Update 'stop' logic to retry (#1865, #1872)
- Build: Add debug logging to electron builder (#1848)
- Automation: Retry integration tests (#1863)
- Build: Split travis build steps to improve reliability (#1889)
- Build: Upload manifest file for successful builds (#1939)
- We now have automation coverage for our
-
Experimental
- Implement closing splits with
editor.splits.mode
set tooni
(#1703) - Focus previous editor on close with
oni
split mode (#1804) - Fix exception when creating a new split after closing a split with
oni
split mode (#1854) - Generalized Preview - scaffolding of API (#1871)
- Plugin management - add 'plugins' configuration setting (#1903)
- Implement closing splits with
-
Documentation
- Update
ISSUE_TEMPLATE.md
to point to insiders page - Update
README.md
with link to Patreon - Update
BACKERS.md
with our new backers!
- Update
- We moved from gitter to Discord
- 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.
-
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)