Blog | Projects

rlworkbench

rlworkbench is my project where I try to build a language workbench. What is that? What am I trying to build?

The way I think about it is that rlworkbench should be a text editor that is aware of the language of the text that is being edited. That awareness can give you syntax highlighting for example. But it can also give you more if it knows more about the language. For example, there might be an editor operation to expand the selection. If the cursor is inside a function, expanding the selection might select the whole function. Because the editor is aware of the language, it knows where the function starts and ends. Furthermore, defining the languages that rlworkbench knows about should be easy. And the norm should be the create many small domain specific languages. And when you define a language, it not only gives you editor support, but you can also define how that language should be compiled or translated.

Screenshots

Here is rlworkbench editing the README file. A markup language has been defiend and it provides both the syntax highlighting as well as the ability to turn the README file into html for display on this webpage.

Screenshot of rlworkbench editing the README file.

Blog

When I write about rlworkbench on my blog, I tag the posts #rlworkbench.

Changelog

1.2.0

1.1.0 (2026-01-09)

1.0.0 (2026-01-04)

How to make a release

TODO

Structure/C

Platform layer

Test framework

Editor

Highlighting

Language integration

Rendering

Markup language

Meta language/compiler