Quartex Pascal, rolling my own
No rest for the wicked. Just finished work, ran to get my daughter from daycare – then back again to the office. Homework with the kids, then finally, after arguing with my 10-year-old son that the concept of a straight angle triangle is Pythagorean in nature — I had 1 hour to play with my own stuff.
So what did I add today? What did I whip up in one hour? Well, the bridge between editor (synedit) and the filesource system is now complete. In short it can be explained as this: Whenever the compiler needs a unit an event fires. But you need a unified system so that units can be found everywhere. This is basically the same as what Delphi does with its search paths (tools -> options -> libraries -> library paths). But more importantly, the system needs to be clever and not just locate a file with a name, but rather return a list of candidates. Lets just say that TDictionary and hashed lookup tables are involved in finding files quickly. Secondly, the calling routine in question then have to make a decision on which of the resulting files is the unit you need (for example, if the file is a part of a package, then naturally a filename from that package receives a higher score than a file with the same name in another location). So this is not a walk in the park but requires a bit of thinking and infrastructure.
Also you want the IDE to be as clean and abstract as possible. So i created a class system that allows me to abstract files from the ide completely. So the IDE now happily loads and works with files no matter where they are. The RTL will not be “open” but rather stored in a sealed package.
Now that I think of it, I will probably make a special “DWS only” build. You wont find a better editor for all things DWS that’s for sure. The DWS webserver deserves a good IDE and it would be fun to make different RTL/Compiler version for different tasks. But first things first: HTML5 and C#