myroslavarm / Experimental-Completion

My internship project: improving code completion for Pharo
6 stars 3 forks source link
code-completion code-quality gsoc gsoc-2019 internship pharo smalltalk

Experimental-Completion

Information about the project:

This is a project I started working on during my internship in the summer of 2018 and continued during GSoC2019. The project's goal it is to improve the code completion in Pharo.

Important note: most of the recent changes as of late July 2019 are only available in Pharo 8 and this repository is only maintained as a draft dev version.

The architecture is like this:

If you go to Settings Browser -> Code Browsing -> Code Completion you can choose between CompletionController (our completion) and NECController (old completion) for the Controller, and (right now) between AlphabeticSorter and ReverseAlphabeticSorter for the Sorter. Later we want to have an n-gram based and an OCOompletion-inspired sorting strategies.

alt-text

Blog posts about the progress and further plans:

Improving Code Completion @ GSoC 2019: introduction - link.

Progress with Code Completion [June] - link.

Test Code Completion has been added to Pharo 8! - link.

Latest completion update: simpler, better - link.

Discovering AST implementation errors in Pharo - link.

Machine Learning for Code Completion - link.

Code Completion in Pharo: GSoC Project Summary - link.

More links related to the work:

Video summing up the work done - link.

List of PRs into the main Pharo repository - link.

Work still left to do (list of issues in the repository) - link.

alt-text