Textmode IDE development

From Lazarus wiki
Revision as of 21:02, 3 August 2008 by Marcov (talk | contribs)
Jump to navigationJump to search

While the obvious task for the textmode IDE is of course fixing several or some of the 80 bugs, some other stuff comes to mind as future projects. Nearly all have to do with the fact that the IDE effectively stopped evolving significantly since 1.0 times.

A lot of problems and uglinesses lie in the TP/DOS legacy:

  • Coupled to that the fact that it uses Dos, rather than Sysutils for its filename operations.
    • Now that the compiler uses sysutils mostly, the Dos versions are the less tested ones.
    • the fact that shortstrings (or parts of them) are used for filenames.
    • under windows there is no support for unc-paths
  • Even the shortstring filename handling is far from perfect, since the IDE clearly hasn't had the end-user testing for *nix targets that dos/win32 had. Grepping for fixfilename() might yield such problems (like e.g. bug #5614), where filenames are pretty printing, however effectively killing case sensitive filesystems. Bringing this up to ansistring/sysutils level might also help to unify these routines between textmode IDE and Lazarus.
  • Some functionality is deprecated or not active or documented. Examples are browser and code folding (see comments of bug #6696 Some of the functionality mentioned in #11583 might also be "newer"). Note that this kind of functionality is often not finished, e.g. afaik there is no way to save folds. (make them persistent some how)

More wild ideas:

  • Since FV has reduced in meaning, maybe it can be modernised using the delphi model a bit (streaming and constructors/destructors). I know this is heresy, but a tpobj version could continue to exist. It is mainly for the IDE. I also don't know if it is worthwhile at all (most notably exploiting if FV exploits the static nature of objects...). Maybe a good first approximation would be to try to introduce ansistring everywhere.