Padre is starting to smell a little bit like 1.0

The first half of 2011 was a bit of a slow period for Padre.

I was distracted with getting wxFormBuilder integration to a working state, Ahmad Zawawi was distracted by his efforts to build our own Scintilla wrapper instead of waiting for Wx to upgrade, and the broken threading had people annoyed at Padre's bugginess (and me) and not wanting to contribute a whole lot.

But with the problems of background threading, rapid GUI development and having an editor widget we can actually control solved, things are starting to move forward again rapidly.

We've also seen a recent boost to volunteer numbers, with some oldies returning (prompted in many cases by Padre's birthday party easter egg) and some newbies arriving to solve specific problem areas like Mac support and packaging.

With the big problems out the way the team is able to start looking at polishing out some of the smaller problems that weren't a priority until now, and we can start to upgrade some of our crude first-generation tools into much nicer versions.

The following screenshot sums up some of the new improvements fairly well.

padre-89-colour-squiggle-tools.png

Firstly, this setup is using the experimental feature_style_gui setting which will cause the colours of a number of tools to match themselves to the colour of the editor window. This is extremely crude at present and is done mainly to allow us to see the visual implications of allowing more control over colours (we need to ensure it works on all platforms, and so on).

Secondly, you can see Ahmad's initial demonstration of "squiggly underlines" for the syntax checker. This is a hallmark of all modern desktop IDEs, and merely having it makes us look more "real" as an IDE.

As a bonus, Padre now does proper dwell updating of tools. Tools sit silently without wasteful polling timers, and then when you stop typing for more than 500ms they all fire off and generate updated contents (in the background).

We also have an upgraded introspection tool (the lower of the two white windows) to let you interactively examine Padre's internals, and a new Parser Tester (inspired by PPI::Tester) so you can type in some content and see the parsed form of the document update in real-time per-keystroke.

Finally, for the resource constrained we've also found even more memory savings. We now delay loading Wx image handling where possible, saving 3meg of RAM in image drivers we will never need.

And a new Padre::Feature module ensures that all those experimental features and unwanted features (like folding or bookmarks) not only don't appear when disabled, but are compiled out of Padre entirely at an opcode level, saving about 2meg of RAM on my install.

The upcoming 0.90 release is looking about as close to a proper "Beta" release as we could want.

After 0.90, we have one final round of "move it or lose it" massive API breakage before we start locking in the various major APIs to allow long term support of plugins, and we should hit the final 1.00 release well before Christmas.

2 Comments

I have to say, wow, this really looks like something on par with other IDE's I worked with. I'll sure give Padre a spin and see how it really muster in relation to my current workflow, but kudos on the work already been done.

I updated the padre in his windows 7
and it began to work much faster, thanks a lot, good job!

Leave a comment

About Adam Kennedy

user-pic I blog about Perl.