Add Future

kuro 2026-10-15 20:54:31 +00:00
parent 729e583748
commit fdc025525c
1 changed files with 38 additions and 0 deletions

38
Future.md Normal file

@ -0,0 +1,38 @@
# 🗺️ Future of the Project (Roadmap)
To turn the **BMC TPL Code All around** plugin into a true, professional IDE tool, future development is divided into three clear phases.
Before implementing new features, the project will first focus on a clean, maintainable architecture.
---
## 🛠️ Phase 1: Architecture & Refactoring (Clean-up)
The current codebase needs to be structured to enable future growth without ending up in "spaghetti code".
- [x] **Establish folder structure:** Break down the main files into logical modules (e.g., `src/providers/`, `src/linter/`, `src/utils/`, `src/core/`).
- [x] **Modularize Linter:** Split the monolithic `validateTplDocument` function into separate, testable sub-functions (e.g., `checkSyntax.ts`, `checkBlocks.ts`, `checkAssignments.ts`).
- [in progress] **Modularize Providers:** Split up other functional areas (the providers) alongside the linter.
- [ ] **Data Separation:** Move static snippets and BMC functions into their own configuration or data folders.
- [ ] **Context Categorization:** Separate snippets and helper functions by scope (General, Pattern, Syncmapping).
---
## 🧠 Phase 2: Context-Sensitive Intelligence (UX Improvement)
Auto-completion and hover information should understand where the user currently is within the code.
- [X] **Context Awareness:** Auto-completion only offers logically sensible snippets (e.g., no `metadata` suggestion in the middle of a `body` block, no `tpl_skeleton` if a module definition already exists).
- [ ] **Hover Categorization:** Visual distinction in the tooltip between local (`define`), externally imported, and native BMC functions (e.g., via small badges or labels in the Markdown).
- [X] **Smart Semicolons:** Snippets for function calls automatically generate the closing semicolon if the context requires it.
- [ ] **Dynamic Triggers:** Optimize auto-completion for specific blocks like triggers and conditions.
---
## 🔍 Phase 3: Deep Code Analysis (Smarter Linter)
Extending the linter from a pure syntax checker to an intelligent code reviewer (refactoring aids).
- [ ] **DRY Detection (Don't Repeat Yourself):** An algorithm that detects identical or nearly identical code blocks and marks them as "Info" (Suggestion: "This code repeats, consider a `define` function").
- [ ] **Log Consolidation:** Detecting multiple consecutive `log.*` lines of the same type and offering a Quick Fix to combine them into a single line/list.
- [ ] **Fine-grained Syntax Checks:**
- [ ] Check for missing commas in lists and tables.
- [ ] Detection of missing keywords like `then` after an `if`.
- [ ] Validation of operator combinations.