Hi,

After another intense week, we are happy to announce that the Brick editor now supports some advanced syntax highlighting.

To put it in perspective, let us take a look at one screenshot showing an inspector presentation containing a Brick editor opened on a Pillar file that includes some text, a code snippet and a reference to a picture:


This shows both that we style the text based on the Pillar grammar, but also that we can style Smalltalk code (in fact, we have two nested stylers here).

But, the more interesting thing is that below the picture reference, we get to see the actual picture (which happens to be another inspector screenshot). In fact, this picture is actually just another text attribute (we call it an adornment) that can be dynamically added to any text elements. This opens up a whole lot of expression power and it is all easily compose-able. This is another reason why we say that this editor is moldable and you should expect new applications making use of this moldability and combining it with the liveliness of Pharo.

The latest Brick code is loadable through:
Metacello new
baseline: 'Brick';
repository: 'github://pharo-graphics/Brick/src';
load: #development.

If you want to play with Pillar, load the following extra code and just inspect a Pillar file:
Metacello new
smalltalkhubUser: 'Pier' project: 'Pillar';
configuration: 'Pillar';
version: #development;
load.
((IceRepository registry detect: [ :each | each name = 'Brick' ])
packageNamed: 'Brick-Editor-Pillar') loadLatest.

One other thing to mention is performance. What Alex (Syrel) managed to do is quite remarkable. To see the impact in practice, try editing the largest method in Pharo (UnicodeDefinitions class >> #data) in both the built-in editor and in the Brick editor by inspecting:
BrTextEditor onMethod: UnicodeDefinitions class >> #data

There are still issues left to deal with and we will focus on them in the following weeks. But, we can safely say that the most important challenges are now behind us and that the design of the editor code is stable and robust.

Please do let us know what you think.

Cheers,
The feenk team


--
www.tudorgirba.com
www.feenk.com

"If you interrupt the barber while he is cutting your hair,
you will end up with a messy haircut."