integrated-application-development / delphilint

Delphi IDE package providing on-the-fly code analysis and linting, powered by SonarDelphi
GNU Lesser General Public License v3.0
79 stars 9 forks source link

Add old Delphi support if possible #14

Closed Makhaon closed 5 months ago

Makhaon commented 5 months ago

Prerequisites

Engine area

Delphi IDE integration

Improvement description

Add old Delphi support if possible, at least down to Delphi 10 Berlin.

Rationale

Many people use old Delphi IDEs

code-kungfu commented 5 months ago

I don't think you should expect this.

The IDE integration relies on new editor drawing APIs introduced in 11.3 and getting that to work reliably in older Delphi versions would be quite a workload IMO (Speaking as someone who write IDE plugins myself).

The question would be, what is holding back from upgrading to a more recent Delphi version?

fourls commented 5 months ago

As @code-kungfu says, it isn't feasible for DelphiLint to support earlier versions because the editor API has historically been significantly lacking.

DelphiLint actually intentionally does not use the Delphi 11.3 editor drawing APIs, so we can support all Delphi 11 versions. That being said, it uses other features that are not available in older editions.

For example, the rule description view uses the TEdgeBrowser component, which is the only practical way to have a modern webview embed without introducing more external dependencies. TEdgeBrowser was introduced in Delphi 10.4, so as a hard limit we are unable to support versions lower than that.

If there are any relatively simple adjustments that can be made to make it easier to build the project yourself on your desired Delphi version, these might be considered, but we're not intending to officially support any version lower than Delphi 11.