Skip to content

The panel reads the formula under your mouse, and sends the report back

Choose a tag to compare

@pisarev pisarev released this 06 Aug 22:02
· 14 commits to main since this release

The shipping build - the Lazarus one - now picks the formula up from the editor.
Point at a line and the curve appears; select an expression and the selection
wins over the line. Until now only the Delphi build did that, and the Delphi
build is not what ships.

The report travels the other way. One button opens it in a new tab, another
drops it at the caret. It leaves as Markdown with the curve embedded as SVG -
text, so it survives in a text editor, and still a drawn curve wherever Markdown
is rendered. Markdown in Notepad++ is a user-defined language rather than a
built-in one, so the new tab is switched to it by name; if your editor does not
carry that language, the tab stays plain text and the report reads just as well.

The panel keeps one slot for whatever the editor offers, so pointing around a
file does not fill the list with formulas nobody asked for.

The line under the cursor is compiled by a parser the plugin keeps for that
alone, in the thread the editor calls from: compiling on the parser that is
drawing the graph is outside the documented thread-safe subset.

Fixed

  • The README said to select an expression and press Alt+G, which was never how
    it worked: the formula is taken from under the mouse pointer, and Alt+G only
    opens the panel.
  • Both builds now answer the same buttons. The page is shared between them, and
    the report buttons used to be visible in the Delphi build without doing
    anything.

Download

GraphBuilder-npp-1.0.4-win64.zip - 1 442 650 bytes, sha256
55a705fa1f50d328dbe0f06ff2bd3b6e87e358d8a7a6fc7efdc0827ecd1e614e.

Unpack it into a folder named GraphBuilderLaz inside the Notepad++ plugins
folder, or let Plugins Admin do it. 64-bit Windows; it needs the WebView2
runtime, which Windows 11 already has. Built with Lazarus and Free Pascal -
nothing here needs a commercial compiler.