Commit 1b4d4b7
committed
feat(Wind): Add Decorations, Keybinding, Lifecycle, and WorkingCopy services
Implement four new Effect-TS service layers in Wind that connect to Mountain via Tauri IPC:
- **DecorationsService**: Manages file/folder decorations (badges, tooltips, colors) shown in explorer tree. IPC: decorations:get, getMany, set, clear.
- **KeybindingService**: Manages dynamic keyboard shortcut registration and lookup. IPC: keybinding:add, remove, lookup, getAll.
- **LifecycleService**: Tracks editor startup/shutdown phases (Starting, Ready, Restored, Eventually). IPC: lifecycle:getPhase, whenPhase, requestShutdown.
- **WorkingCopyService**: Tracks dirty state of open editor resources (unsaved changes). IPC: workingCopy:isDirty, setDirty, getAllDirty, getDirtyCount.
Each service includes interface, stub implementation, live IPC layer, mock layer, Effect Context tag, and problem types following Wind's established pattern.
Also reformat ESBuild configuration files in Configuration/ESBuild/ for consistency with recent commits.1 parent 041f9fa commit 1b4d4b7
40 files changed
Lines changed: 887 additions & 193 deletions
File tree
- Configuration/ESBuild
- Config
- Constant
- Source
- Effect
- Decorations
- Implementation
- Interface
- Tag
- Type
- Keybinding
- Implementation
- Interface
- Tag
- Type
- Layers
- Lifecycle
- Implementation
- Interface
- Tag
- Type
- WorkingCopy
- Implementation
- Interface
- Tag
- Type
- Target/Effect/Layers
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments