1 Architecture
kuro edited this page 2026-10-15 20:49:25 +00:00

🏗️ Architecture & Structure

This page is aimed at developers (and your future self) who want to understand, extend, or debug the source code of the BMC TPL Code All around extension.

The extension uses the native Visual Studio Code Extension API and deliberately avoids a heavy, external Language Server to guarantee maximum performance and easy maintainability.


📂 Project Structure (Target Architecture)

To keep the code maintainable and avoid packing everything into a few massive files, the project follows this logical module structure:

src/
├── core/
│   └── TplLinter.ts              # Core logic of the syntax scanner and state tracking
├── providers/
│   ├── TplCompletionProvider.ts  # Auto-completion & snippets
│   ├── TplHoverProvider.ts       # Tooltips and DocString parsing
│   ├── TplDocumentFormatter.ts   # Auto-formatting & visual alignment
│   └── TplCodeActionProvider.ts  # Quick Fixes (Lightbulb)
├── data/
│   └── TplBuiltIns.ts            # Static BMC documentation and snippet structures
├── utils/
│   ├── DocStringExtractor.ts     # Helper functions for parsing multiline comments
│   └── RegexHelpers.ts           # Central regular expressions for the project
└── extension.ts                  # Entry point of the extension (module registration)