Commit 3c76a37
committed
feat(Sky): Add SCM shim, debug session lifecycle, and custom editor registration
This change adds three new integration paths between SkyBridge and the VS Code workbench services:
1. **SCM Provider Shim** - Implements TryRegisterScmProvider, TryUnregisterScmProvider, TryRegisterScmGroup, and TryUpdateScmGroup to bridge Cocoon's extension-hosted SCM to the workbench's ISCMService. Creates real ITextModel for the inputBox via IModelService to avoid the workbench throwing on registerSCMProvider. Builds ISCMResource from raw resourceStates with proper URI hydration. Includes ResourceTree lazy-building for hierarchical view mode support.
2. **Debug Session Events** - Registers handlers for sessionStart, sessionEnd, addBreakpoints, removeBreakpoints, and consoleAppend events. Fans out as cel:debug:* CustomEvents so UI components can react without waiting on typed Debug service snapshots.
3. **Custom Editor Capabilities** - Registers viewTypes with ICustomEditorService via registerCustomEditorCapabilities, making them discoverable in the "Open With..." menu. Includes unregister path to dispose capabilities on Cocoon shutdown.
Also adds a one-time services probe on cel:services-ready that logs __CEL_SERVICES__ shape to the renderer console (visible in DevTools) to help diagnose why SCM/Debug/CustomEditor bridges silently no-op when a service fails to resolve.1 parent 6184960 commit 3c76a37
1 file changed
Lines changed: 753 additions & 174 deletions
0 commit comments