Release 0.9.14 — A grey dark mode, and a safer IDE hand-off
Released: 2026-08-08
🇩🇪 Deutsche Version
A small follow-up to 0.9.13, entirely driven by what the previous
release got wrong: the dark mode was black rather than grey, and
opening a finding in the Delphi IDE could type the line number into
your source file.
The dark mode is finally grey
0.9.13 introduced the embedded dark style SCA VSDark with the VS Code
Dark Modern palette — and it still looked black. Two reasons, both
fixed here:
-
The palette was one notch too dark. The literal VS Code chrome
value#181818reads as plain black on real monitors. Chrome is now
#252526, widgets#2D2D30, borders#3C3C3C; the content tone
stays#1F1F1F. -
The background never came from the colour table at all. This
was the real cause. Under an active VCL style the form background
is painted from the style's bitmap data, not from a colour
value — and the stock Windows10 Dark bitmaps carry 109,171 opaque
#000000pixels. The chrome panels above it (tile row, toolbar,
filter row, path row) keep the VCL defaultParentBackground, so
they never fill with their own colour; the assignments in the form
code were inert and that black showed through no matter which
palette was configured.
The style generator (tools/make_scadark_style.py) therefore now
patches the bitmaps as well: every opaque black pixel in the
style's three bitmaps is lifted to the chrome tone, verified by a
round-trip that counts the remaining pure-black pixels back to zero.
Bright glyphs are untouched. One colour more changed as well:
cl3DDkShadow, which draws the one-pixel separator under the grid
header, moved from black to the border tone.
The palette lives in one place in that script, so future adjustments
are a constant change plus a regeneration — the format details
(VCL_STYLE 2.0 + zlib, colours as plain-text triples, bitmaps as raw
BGRA) are documented in styles/README.md.
Opening a finding no longer types into your code
The standalone EXE hands a finding to the Delphi IDE through the
Windows shell, then used to press Ctrl+G and type
the line number. If the IDE was still busy — loading the file, indexing
— it swallowed the shortcut, and the digits plus Enter landed as text
in line 1 of the file that had just been opened.
The IDE offers no external switch for a line number, and simulated
keystrokes cannot be made reliable against a busy IDE. So that path is
gone: the IDE route now only opens the file. It is instant (the
~1.6-second UI freeze the keystroke chain needed is gone), and the
status bar says "Opened in Delphi IDE" without claiming a line it
did not jump to.
Jumping to the line still works everywhere it actually can:
- the external editor —
%line%in the[Editor]section of
analyser.ini(VS Code, Notepad++, Sublime, …), - the built-in
.dfmviewer, - and the IDE plugin, whose navigation goes through the ToolsAPI
and was never affected.
Smaller change
Apply quick fix left the result grid's right-click menu. The action
itself is unchanged and still available as
Ctrl+Alt+F, matching the plugin, which
never had a menu entry for it.
Full details in the CHANGELOG.