1
Future
kuro edited this page 2026-10-15 20:54:31 +00:00
🗺️ 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".
- Establish folder structure: Break down the main files into logical modules (e.g.,
src/providers/,src/linter/,src/utils/,src/core/). - Modularize Linter: Split the monolithic
validateTplDocumentfunction 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.
- Context Awareness: Auto-completion only offers logically sensible snippets (e.g., no
metadatasuggestion in the middle of abodyblock, notpl_skeletonif 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). - 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
definefunction"). - 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
thenafter anif. - Validation of operator combinations.