Skip to content

A help add-in for the IDE, impexp in process for the harness, and WIP notes without their history - #221

Merged
KubaO merged 34 commits into
twinbasic:mainfrom
KubaO:staging
Oct 4, 2026
Merged

KubaO merged 34 commits into
twinbasic:mainfrom
KubaO:staging

Conversation

@KubaO

@KubaO KubaO commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Adds an IDE add-in that opens the documentation for the name under the cursor, makes the harness pack and unpack projects in process, and removes the history from the WIP.*.md notes.

The add-in is a work in progress. I don't suggest trying to use it yet.

  • help add-in (add-in/, new): F1 opens the page for the selection or the name at the cursor, in a TWINBASIC HELP pane with search. It asks the compiler's hover where the name is declared, so that c.Add finds Collection.Add, and for a name with no page shows its declaration and [Description]. A new addin-test.bat lane tests it, and try-help-addin.bat opens an IDE with it to try by hand.
  • site, build: the pane's pages follow the IDE's theme and drop the sidebar and header, through ?theme=light|dark and ?pane=1, kept in sessionStorage and never in the reader's stored choice. A local build rewrites the add-in's committed copy of tB/symbols.json when it differs; CI and --serve only say so.
  • harness:
    • The tools pack and unpack projects with impexp.mjs in process, not with the compiler's import and export, so a project that embeds a package stages (import exits 999 for one: Export / Import should not include packages twinbasic#841).
    • Lane runners claim the first free DevTools ports with lock files. test/ports.test.mjs is a new step in test.bat and CI (21 now).
    • bug_repro vb6 and vb6run report an exe that the event log says faulted, because a faulting VB6 exe exits 0.
  • bugs, docs: four COM entries gain a VB6 project, 18 in all. VB6 repeats a CallByName after DISP_E_MEMBERNOTFOUND as twinBASIC does, so that entry is retired and its WARNING in IDispatch.md becomes a NOTE. VB6 also returns E_NOINTERFACE from Advise for a sink without the outgoing interface, so the Unadvise entry narrows to the bad cookie. New, filed as A member's [Description] is listed as a member of its enum in the hover, and is not shown on the member twinbasic#2465: an enum member's [Description] is listed as a member in the hover, and not shown on the member.
  • WIP notes: the history is dropped and WIP.OldJekyll.md removed: the notes go from 9,571 lines to 8,346. WIP.md says where a note belongs, and that sessions use gh read-only.

addin-test.bat, try-help-addin.bat, bug_repro vb6 and vb6run need a twinBASIC install or VB6, so they stay outside every gate and CI.

KubaO added 30 commits October 4, 2026 18:10
…so E_NOINTERFACE); CallByName retry retired (VB6 does the same), its WARNING now a NOTE
… the event log's fault when there is one, not as one that did not return
… import or export, so projects that embed a package stage (tbbuild --build, tbrun, examples, lanes); impexp.mjs is importable; tbbuild recognises a TWINPACK build
…nly on a nonzero exit (a faulting VB6 exe exits 0)
…InIDE, so a project without the VB package runs
… under the cursor is declared, through the IDE page's socket
…dd-in passes it, the tidy restores the IDE's theme
…ith lock files, passing over ports in use or claimed by another run
…tion and [Description] from the compiler's hover (P15)
@KubaO
KubaO merged commit 75e95f1 into twinbasic:main Oct 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant