Castalia’s code template system for the Delphi IDE is actually a scripting system. Borrowing from web programming systems like PHP or ASP, Castalia’s templates are a combination of text to be inserted directly into the editor and of scripting code, contained between {% and %} markers.
The scripting language is Delphi-based, so there’s no syntax to learn as you write really powerful code templates. Here’s an example of what the ifb template looks like (ifb inserts an if statement with a begin..end block):
if {% InsertCursor(0) %} then
begin
{%= Indent %}{% InsertCursor (1) %}
end;
Everything not between {% %} markers is inserted directly into the Delphi code editor. Code between the {% %} markers is executed. This example shows the InsertCursor(AOrder: Integer) procedure, which drops a stack bookmark at that point in the text. The bookmark with AOrder = 0 will be the location of the cursor after the template is done executing. The bookmarks are then picked up in the order indicated by the AOrder parameter.
Also notice the {%= marker, which means “insert the result of this code into the editor.” Indent returns a string of spaces matching your indent size.
Here’s an example of a template to insert the current method name as a string:
{% if ClassName <> ” then
begin
%}{%= ClassName %}.{% end %}{%= ProcedureName %}
Notice the Delphi code right in the template to check whether there is a current class and insert the “ClassName.” before the method name.
Castalia comes with quite a few built-in templates, but the real power is in writing your own.

Want to give it a try? Download Castalia today and see what you can do with Castalia’s powerful code templates for the Delphi IDE.