12/6/2018 Spectacle Presentation The GUI - fication of Neovim Akin Sowemimo http://localhost:3000/#/?export 1/22
12/6/2018 Spectacle Presentation Hi � Software Developer Mon z o Based in the UK Github � � Akin 909 Twitter � � @ Akin _ So http://localhost:3000/#/?export 2/22
12/6/2018 Spectacle Presentation The Team Br y an R y an Manuel Tal Akin http://localhost:3000/#/?export 3/22
12/6/2018 Spectacle Presentation Talking Points What is Oni ? Oni ' s Architecture Oni ' s Extensibilit y Where are we now ? The Future of Oni http://localhost:3000/#/?export 4/22
12/6/2018 Spectacle Presentation What is Oni ? Oni is a Graphical User Interface ( GUI ) for Neovim . It allows users to have all the power of modal editing without the limitations of a terminal UI http://localhost:3000/#/?export 5/22
12/6/2018 Spectacle Presentation But Oni does more than that . Oni allows Neovim to have features of an IDE such as integration with language servers & more advanced s y ntax highlighting http://localhost:3000/#/?export 6/22
12/6/2018 Spectacle Presentation S y ntax Highlighting � Theme � � Night Owl http://localhost:3000/#/?export 7/22
12/6/2018 Spectacle Presentation Language Server Features � http://localhost:3000/#/?export 8/22
12/6/2018 Spectacle Presentation Oni ' s Architecture Oni is an electron app , written with React & T y pescript which speaks with Neovim via it ' s msgpack API . The editor text is rendered via webgl or canvas http://localhost:3000/#/?export 9/22
12/6/2018 Spectacle Presentation Where are we now ? � Some of Oni ' s most recentl y implemented features include - S y ntax highlighting based on Textmate File explorer - which prioritises navigation via the ke y board using vim � like mappings Git Integration - Onl y git is supported right now but the framework exists to add more version control providers Achievements - This functionalit y is aimed at getting new users interested in learning to use vim Browser Extension - This allows users to open a browser as an oni split as an oni split . http://localhost:3000/#/?export 10/22
12/6/2018 Spectacle Presentation 5 min Demo � � http://localhost:3000/#/?export 11/22
12/6/2018 Spectacle Presentation Extensibilit y Oni can be extended via plugins . const activate = Oni => { // Create a new status bar item using oni's api const gitHubRepoItem = Oni.statusBar.createItem(1, gitHubRepo) // We use react and export it as a dependency for plugins to use const React = Oni.dependencies.React // Create a command a user can call from the command palette const openGitHubRepoCommand = () => { Oni.commands.executeCommand("browser.openUrl", "https://github.com/onivim/oni") } const setGitHubRepo = () => { const gitHubIcon = Oni.ui.createIcon({ name: "github", size: Oni.ui.iconSize.Default, }) const element = React.createElement("div", { onClick: openGitHubRepoCommand }, gitHubIcon) gitHubRepoItem.setContents(element) } setGitHubRepo() gitHubRepoItem.show() }; module.exports = { activate }; http://localhost:3000/#/?export 12/22
12/6/2018 Spectacle Presentation Some Oni Plugins http://localhost:3000/#/?export 13/22
12/6/2018 Spectacle Presentation Git Blame Plugin http://localhost:3000/#/?export 14/22
12/6/2018 Spectacle Presentation Image La y er Plugin http://localhost:3000/#/?export 15/22
12/6/2018 Spectacle Presentation CSV La y er Plugin http://localhost:3000/#/?export 16/22
12/6/2018 Spectacle Presentation Where are we going ? Performance has alwa y s been one of the major advantages of using vim , it has alwa y s had a ver y quick startup time and not been too memor y intensive . http://localhost:3000/#/?export 17/22
12/6/2018 Spectacle Presentation We feel that whilst electron and t y pescript have provided us the advantages of the ecos y stem the peformance tradeoff might be too great . So �� � http://localhost:3000/#/?export 18/22
12/6/2018 Spectacle Presentation We are protot y ping Oni V 2 ( reOni ?) which will use a highl y performant ReasonML based desktop application framework we are developing called Rever y . http://localhost:3000/#/?export 19/22
12/6/2018 Spectacle Presentation reOni ( Oni V 2) Proposed architecture http://localhost:3000/#/?export 20/22
12/6/2018 Spectacle Presentation Useful Links Oni website - https : � � �� � . onivim . io / Oni Repositor y - https : � � github . com / onivim / oni Oni Api documentation - https : � � onivim . github . io / oni � api / globals . html Discord Link - https : � � discord . gg /7 maEAxV Rever y - https : � � github . com / br y phe / rever y Rever y Quick start - https : � � github . com / br y phe / rever y � quick � start http://localhost:3000/#/?export 21/22
12/6/2018 Spectacle Presentation Questions ? http://localhost:3000/#/?export 22/22
Recommend
More recommend