From 73044e79e3c4619a3728aa4c130250d77f5661f9 Mon Sep 17 00:00:00 2001 From: kuro Date: Thu, 15 Oct 2026 20:49:25 +0000 Subject: [PATCH] Add Architecture --- Architecture.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Architecture.md diff --git a/Architecture.md b/Architecture.md new file mode 100644 index 0000000..8141587 --- /dev/null +++ b/Architecture.md @@ -0,0 +1,27 @@ +# 🏗️ 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: + +```text +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) \ No newline at end of file