Repository navigation
A package indexer with BETA 997 snapshots, a scanner that reads more of each package, and a shorter Documentation Development section - #227
Merged
Conversation
…bout 13% shorter): long paragraphs split, rationale and history a contributor does not act on cut, plainer register; Tools-Toolchain-Tests says Tools.md owns the gate lists; a stray tab in Tools-IDE's %TEMP%\tb-ports
… end; the toolchain diagram's boxes link to their tool entries and sections; every link in the Tools map has a tooltip saying what the tool or group does; a linked diagram's boxes carry tooltips (Authoring.md, WIP.md)
…s a member, not an attribute (BETA 1005); the scanner moves to scripts/lib/census-scan.mjs and check_twin_parsers pins it
…s one, Enum says a bracket group on its own line is a member and an inline attribute TB5182, Open's Encoding constants are Consts of TextEncodingConstants; the sweep and census notes give the reason
…od: code, manifests and plans, without its snapshots
…port and variable removed, an exponential attribute-line regex made unambiguous, tooling-folder lists name it
…xit codes, exit 2 on refusal), recorded in cli-cases; survey_tooling covers indexer/
…install by default (--ide, TB_IDE), --release for the GitHub release; the manifest records source and build; TWINSERV skipped when only those are named
…, accessors, aliases and the project name; keyword-named fields, one-line procedures and modifier-named enum values read right (slD3D's 364 problems gone)
…Y exported) in package-files.mjs, which replaces twinpack-parser.mjs
… differ and analyze on it; lexer, extractor, json-emitter and the markdown emitter retired; VB6 files with no VB_Name named by their file
…s marked as superseded
…mpiler reads it, not the next line's attribute; 94 enums gain values (the [_] LongPtr shim, GridCellEffectEnum, ReportSizeConstants, DWORD)
…reprocessing, package files, api.json model, differ); gate counts read twenty-five
…er/.packages/manifests); a package is current by what the store holds (sources, api.json format and version), so a pulled or filtered-sync manifest cannot hide a stale one; snapshots written only when their bytes differ
…s; a section's landing page ties it to its packages (package_name, indexed_from) through lib/doc-pages.mjs
…s (3.2 MB); their 13 landing pages carry package_name where the folder is not the package, and indexed_from: beta-x-0997
… an audit) and says when it has none; the store keeps long paths on and line endings off
…reads them as a variable name and refuses the Sub after them, TB5182); the other words it refuses everywhere are noted
…, [Hidden(False)], modifier-named and initialised fields, Type-body brackets, result types before Overrides/Handles clauses, #If branches as alternatives, unmodified Declare is Public; pinned in check_symbol_index; the BETA 997 snapshots of VB, cefPackage145 and WebView2Package regenerated
…ck_symbol_index descriptions list them
…ry character past ASCII, a type-declaration character ends a name and gives its type; pinned in check_symbol_index, check_twin_parsers and the indexer tests
…n escape, not as the raw character the editor tool wrote
… member with a signature and a condition for each; twin-api records the condition and block of every member; the differ reads the merged form; BETA 997 snapshots regenerated
…ide each api.json, keeps Settings, and sync indexes a package again from its stored sources, with no download, when the fingerprint differs
…; --all takes every package in the store, --package and --packages still name any; recorded in cli-cases
…y on the Build and Generation page and a box in the Tools map; Authoring and the indexer test's entry link to it
…dexer/PLAN-pipeline.md and PLAN-auto-sync.md; the README points at it and at the Tools entry, TWINSERV-protocol.md says the indexer uses two endpoints
…r; the per-symbol workflow says how to find the symbols to write with analyze
… reads, byte-identical to scripts/build_package_api.mjs, which is retired; the docs, the Tools map and the CLI cases follow
…Constants gets the 17 values the scanner now reads
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the package indexer, which lists the documentation work a new twinBASIC build leaves, makes the scanner it shares with the symbol index read more of each package, and edits the Documentation Development pages down by about 13%.
indexer/twin-index.mjs):syncreads the built-in and default packages from the local twinBASIC install (--releasedownloads them instead) and the contributed ones from TWINSERV, and writes anapi.jsonfor each into a git store.analyzecompares those with the committed snapshots and lists the public symbols to create, update and remove.derivewritesbuilder/package-api.jsonand replacesscripts/build_package_api.mjs.api.jsonof the 14 packages the reference documents are committed (3.2 MB). The landing pages gainindexed_from: beta-x-0997and, where the folder is not the package,package_name.scripts/lib/twin-api.mjsis the only one now, and the indexer's own lexer and extractor are retired. It reads signatures,InheritsandImplementslists, colon-joined statements, and a line of only[Name]in an Enum body as a value (94 enums gain values). The branches of an#Ifbecome one member with a condition on each signature (api.jsonformat 3).nav_order: 9and Documentation Development moves to the end. An Enum member takes no attribute in BETA 1005: Enum says so, Hidden no longer lists one as a target, and Open's Encoding constants are described as Consts ofTextEncodingConstants.test/indexer.test.mjs(94 tests) is a newtest.batand CI gate.check_symbol_indexandcheck_twin_parserspin the scanner's fixes,check_clithe indexer's command line, andindexer/joins the lint, format and regex-safety gates.twin-indexneeds a twinBASIC install (or a download with--release), so it stays outside every gate and CI. Its tests and command-line cases need neither and run intest.bat.