Sublime Forum

Incremental compiler for ST plugins

#1

Dear colleagues,

I developed incremental parsing library - Papa Carlo. The goal of the project is providing language support plugin developers with an easy to use toolkit to build parsers and compilers that can continuously index codebase in real time while the end user edits files. As a result it makes possible to develop such features as code completion, jump to definition, code refactoring, etc. I mean, true PL support with deep understanding of the language syntax and semantic. In other words I hope that my project may help to turn Sublime Text to the same level of functionality like we have in major IDEs such as Visual Studio, IntelliJ Idea and Eclipse.

To illustrate how the incremental index works in action I did a visual Demo web application. Please, take a look: lakhin.com/projects/papa-carlo/demo/.

I would like to hear your opinion, what do you think about this approach?

Also, if you like this Demo, please star the project on GitHub: github.com/Eliah-Lakhin/papa-carlo.

Ilya.

0 Likes

#2

Thank you for your reply, tacks.

I believe deep syntax highlighting is the most trivial thing that could be done using Papa Carlo. Papa Carlo is always providing Abastract Syntax Tree that is up to date with the source code. And the library notifies plugin about changes in specific AST Nodes. So, all the plugin needs to do is updating highlighting in the editor window depending on the type of the updated nodes, or another characteristics that are easy to retrieve from the AST.

0 Likes