As a student for Google Summer of Code 2018, I will be working on a C# API client library for the .NET platform. I am very excited to have the opportunity to contribute to Neovim this summer with guidance from my mentor @justinmk. Here are the implementation details and timeline from my proposal:
async keyword. The library will allow Neovim requests and notifications to be handled through assigned callbacks, which will also be called asynchronously.nvim --api-info.May 14 - June 3 (4 weeks):
June 4 - July 1 (4 weeks):
--api-info argument.July 2 - July 15 (2 weeks):
July 16 - July 29 (2 weeks):
July 30 - August 6 (1 week):
The API client is finished with all features listed in the comment above. It allows plugins to be created by using method attributes for specifying functions, commands, and autocommands that will be exported by the plugin. It is similar to other Neovim API clients, but the library also provides XML documentation for all API methods and a simpler way of handling UI events.
After completing my proposed project ahead of schedule, I spent the remainder of my time creating a basic Visual Studio extension called VSNvim that integrates most of Neovim's functionality inside of the IDE. The extension supports Visual Studio 2017 and is written in C++/CLI so it can interact seamlessly with both the .NET extension API and the libnvim C API. The extension should allow most of Neovim's functionality to be used, however, more work needs to be done to better integrate it with Visual Studio.
Participating in GSoC was very exciting and educational. I would like to thank my mentor @justinmk for his guidance and also the Neovim organization for giving me the opportunity to learn and contribute.
Most helpful comment
.NET API Client
The API client is finished with all features listed in the comment above. It allows plugins to be created by using method attributes for specifying functions, commands, and autocommands that will be exported by the plugin. It is similar to other Neovim API clients, but the library also provides XML documentation for all API methods and a simpler way of handling UI events.
Visual Studio Extension
After completing my proposed project ahead of schedule, I spent the remainder of my time creating a basic Visual Studio extension called VSNvim that integrates most of Neovim's functionality inside of the IDE. The extension supports Visual Studio 2017 and is written in C++/CLI so it can interact seamlessly with both the .NET extension API and the libnvim C API. The extension should allow most of Neovim's functionality to be used, however, more work needs to be done to better integrate it with Visual Studio.
Participating in GSoC was very exciting and educational. I would like to thank my mentor @justinmk for his guidance and also the Neovim organization for giving me the opportunity to learn and contribute.