Some notes. I assume this is for Linux, based on the beginning of the article.

> It used to be possible to run a terminal session 'attached' to Lazarus, so that it could be debugged from the IDE, but since a previous update this always seems to fail on my PC.

There could be some lingering settings. In my Lazarus build (from git, so it has the latest and greatest features and bugs) it is possible to run a program using a separate "launcher" from Run -> Run Parameters -> Check the "Use launching application" and then type something like "xterm -e some command that runs your app". In fact in my PC it pre-fills "/usr/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"

This should allow for debugging terminal programs from Lazarus.

> I'm not sure what the rationale is for maintaining the text mode FP IDE. It seems kinda quaint in 2022 to maintain a recreation of the old Turbo Pascal editor.

It provides a basic IDE wherever Free Pascal is available. Note that, e.g., Free Pascal runs on DOS, OS/2, AmigaOS, etc and the IDE works in those environments too (DOS support is also why the IDE "embeds" the compiler instead of calling out fpc.exe).

It also works as a showpiece for Free Vision (also part of Free Pascal) which provides a TUI framework. Sadly, as it is based on the original Turbo Vision, it uses the old "object"-based types instead of "class"-based types, so it misses a lot of useful functionality for programming - but from a user's perspective it is IMO a perfectly fine TUI.

> I'm not sure why this is the default setup, but you need to tell the IDE where to find the Free Pascal files on your system.

This might be some installation problem, on a fresh install FP should be able to work out of the box. Perhaps some distro issue? Try to use the generic tar-based installer from the Free Pascal site and install it system-wide.

> One of the main differences in the interface, compared to Lazarus, is that instead of a tabbed interface it has a series of windows. With the right font size, I actually prefer this interface as it means that I can see several related files on screen at once.

Note that you can have multiple source windows with Lazarus too, right click on any tab and select "Clone in new window" and it will create a new source window you can have side by side with other windows (sadly you can't use Alt+number to switch between them though - but your window manager might be able to do that for you). This way you can have both tabbed and floating windows if you want.

> The biggest thing that I'm missing so far is a good auto complete. The IDE will offer suggestions for completing Pascal keywords but, unlike Lazarus, it won't try to autocomplete your own variables or procedure names.

And auto-completing function/procedure definitions, etc in interfaces section to the implementation section, and symbol renames, and a quick jumps to declarations or between the interface and implementation section for a function/procedure, and a bunch of other stuff :-P. It'd be neat if those were added at some point though.

But i'm not sure how many people really work on the IDE nowadays, IIRC it used to be an external project that was merged with Free Pascal early in Free Pascal's history. I think nowadays even main FPC developers use Lazarus instead (note that despite being joined at the hip, Free Pascal and Lazarus are technically two different projects with each having its own development team).

But having said that and regardless of the limitations, i wrote a very large part of Post Apocalyptic Petra[0]'s code in Free Pascal and the game can be compiled and debugged from the IDE just fine. I did eventually switch to using Lazarus when i started working on the editor though (since i needed the GUI bits) and the standalone "Petra Engine"[1] (which contains only the engine part of the game, slightly modified) is really meant to be used with Lazarus for development (you can build the standalone example game with just FPC though).

[0] https://bad-sector.itch.io/post-apocalyptic-petra

[1] http://xtra.runtimeterror.com/petra