OmniPascal 0.9 – Namespaces and more

Features:

– The search path will be indexed on start up

– Code completion in uses sections suggests known unit names

– Support for full qualified names like System.Classes.TStringList

– Code completion only suggests types and namespaces when only a type name makes sense in the current context

– Code completion in interface declarations suggests a GUID

– An error is displayed when a unit name doesn’t match its file name

– An error is displayed for duplicate entries in uses section

– An error is displayed for unresolvable entries in uses sections

– A lightbulb appears on unresolvable uses entries which allows to create that file in the current folder

– Hints of hoverered unit names in uses sections look nicer

– Definitions of redeclared properties can be resolved and are part of code completion

– It’s possible to jump to the initial declaration of a redeclared property

– Support for hidden namespaces in uses section (for example “Classes” can be resolved to “System.Classes”)

– Code completion is disabled when defining a new symbol

Bugfixes:

– Code completion used the wrong scope from time to time especially when hitting the dot inside of if-statements or brackets.

– Signature help now highlights the current parameter as soon as the comma is entered

– Signature help didn’t work when used on a member’s method of an object like ObjectA.Member.Find()

– Warnings for incomplete method definitions in included files were created

– Go to a definition of a symbol which is defined in an included file no longer opens the including file but the include file

– Symbol definitions of included files were part of outlining

– No warnings have been created for missing implementations of overloaded methods if one of those methods already had an implementation

– UTF8 files with BOM header can be parsed now

– Protected symbols which should be invisible were part of code completion in special cases

– References to out parameters without type information (void types) can be found

– Quickinfo for variables of type “file” contained no type information

– Code completion showed empty suggestion item

– Code completion in specialized generic descendants didn’t include protected members of non generic base classes

– Parameterized type names in static method calls couldn’t be resolved

– Method names in static method calls on parameterized type names couldn’t be resolved

…as well as some speed improvements.