Outreachy Mid-point Progress Report

This blog is a progress report of all that I’ve accomplished in the first half of the Outreachy internship.

My role as an intern!

My internship goals are to create FSAC support for .NET Template Engine i.e. to introduce commands and functions that allows a user to query and discover .NET templates through the editor. For eg, querying for a list of installed templates and their details, creating new project from template such as a Console Application and to discover online templates to install them. In other words enhancing user experience on editors by adding the backend support in FSAC for creating new .NET projects by searching .NET templates from the editor’s UI.

First half of the internship

The first task of my internship involved creating DotnetNewList command that will list all the installed dotnet new templates. This command helps the user to search for all the templates of interest for the new project files. After the search a list of templates is shown and the user can scroll through and select the required template.

The next task was to display details for the selected template and for that DotnetNewGetDetails command was implemented. This command will show the complete details such as template’s name, its author, its short description and a list of options/parameters with description and default values. The user can then make changes to the parameters as per required.

The details and parameter list will then be used by DotnetNewCreateCli command to create a usual dotnet command line such as dotnet new console -lang F# -n myApp to run in the backend and result with the creation of a project from the desired template.

In every software there is a need to test and check if the functionalities work as per the requirement or not. And so after successfully creating first two commands I also extended integration tests for the commands. The tests cases are for testing the commands in LSP(Language Server Protocol) environment.

Final words

Every project drafts an estimated plan for project development. We try our best to stick to that plan but sometimes either we are ahead in the project timeline or a bit behind. It feels good that I was able to accomplish around 45% of the internship project plan in the first half. I look forward to improving my pace and work productivity. And I must not forget to mention how grateful I am to the F# community which is always available to help me out when I’m stuck. :)