PascalGladiator 0.4 Released

The long awaited release which is Intel 10.5 compatible (requires it actually) and re-written in FPC, even compiling itself! Lots of new featuers including: code folding, typing helpers, go to symbol and smoother file loading but new crashes and bugs were introduced also due to some serious work in the editor/syntax parser and MWP -> FPC port.
I’m sorry to say at this point that this is still beta software and much under development, which means bugs and crashing. I made the terrible decision to include code folding in this release (I did this so I could test the feature for WebScripter) but it consumed a HUGE amount of time and complicated dozens of other already complicated parts of the program. In short: not worth it. The debugger is still in the same semi-functional state and I had no time to work on this area.
The next release will feature just bug/crash fixes and focus on the debugger once and for all.
Version 0.4 running on 10.5
Version 0.4 running on 10.5
Changes:
  • Code folding has been implemented into WebScripter and a language definition to work with PascalGladiator. This is a great way to get around the inherent speed bug in the text engine WASTE by closing functions you don’t need to look at.
    • Code folding is column-sensitive. That means the column in the line where the range opens, must match the closing line. The result of this is you may find your code is not folding property because the columns are not aligned and you will have to “doctor” some lines.
  • 2 new preference options to disable code folding or ignore drawing the level bars in the gutter (like Xcode).
  • Auto-pairing now respects context so commas etc… won’t be paired when typing within comments for example.
  • Because code folding introduced a few too many menu items there is now a VIEW menu freeing up the editor menu.
  • The debugger is in black and white now which helps to correct the speed problem a little.
  • The console now always keeps scrolled to the bottom (when focused).
  • There is a new UNIVERSAL compiler target in the target preferences which compiles a PPC and Intel binary, then combines them into a universal binary. Also note the universal SDK field where you can specify the SDK to link against.
  • Documents do an accurate job of remembering the selection and scrollbar position of the last saved state.
  • File info window now returns more information. 1) line count. 2) The binary type for executables (PPC, Intel or Universal) 3) The file type and 4) for libraries and frameworks a list of symbols is show (using ‘nm’ utility), but is just in text form without a way to filter results (for now).
  • If you try to build while the target application is running it will bring the application to the front.
  • Errors can be selected from the list now even if the file is not in the project but can be located by paths and related projects.
  • The file list when contextual clicking on a related project is now in alphabetical order.
  • Files now load smoothly without hanging periodically. However the styles don’t appear in sections so the file is black until loaded 100%. This is because incremental applying of styles KILLS WASTE performance.
  • There is a “Go to Symbol” command in the editor menu (command-shift-T) which lets you quickly jump to any symbol in the project instead of scrolling through long menus. After using the find function to navigate functions in large files I decided this would be better.
  • There is an application preference to set the MallocDebug library in GDB (set env DYLD_INSERT_LIBRARIES /usr/lib/libMallocDebug.A.dylib). Read the MallocDebug manual to learn about this useful tool for debugging dangerous memory scenarios.
  • Code completion is not much faster which you will notice on projects with over 2000 symbols.
  • A new simple, very useful command “Go to Cursor” in the edit menu which will bring the cursor into view if you scrolled away from it. For example, if you scroll to the top of the document to examine some record fields you hit command-option-* and go right back to where you were typing.
  • New [obj] macro which creates an empty object declaration.
  • New [conc] macro which creates”+$CURSOR+”++”. Don’t forgot the use macros, they’re cool!
  • Added new Pascal typing helpers (enable/disabled in preferences) which will auto-complete blocks like begin/end, record/end and auto-ident blocks such as: type, then, var, uses. Pretty handy or annoying, you decide.