lumide_api 0.5.0
lumide_api: ^0.5.0 copied to clipboard
Host API for Lumide IDE plugins. Provides abstractions for plugin development.
0.5.0 #
New features #
- Activation Events —
LumideManifestnow supportsactivationEventsto control plugin loading (e.g.,onCommand,workspaceContains). - Quick Pick Icons —
QuickPickItemnow supportsiconPath(SVG/Image),enabledstate, andisSeparator. - Status Bar Icons —
LumideStatusBaritems now supporticonPathfor rendering SVGs. - Toolbar Icons —
LumideToolbaritems now supporticonPathfor rendering SVGs. - Strict Snake Case —
activation_eventsinplugin.yamlmust now use strict snake_case.
0.4.0 #
New features #
- Structured Logging —
LumideOutputChannel.appendLogallows appending structured log records (LumideLogRecord) with levels, error details, and stack traces.
0.3.0 #
New features #
- Toolbar API — Register items in the top toolbar via
LumideToolbar. Supports icons, tooltips, alignment, and priority. - Terminal API — Create, control, and interact with integrated terminals via
LumideTerminal. - Output API — Create and write to output channels via
LumideOutputChannel. - Editor Selection API —
getSelectedTextandreplaceSelectionfor easier text manipulation. - Quick Pick Improvements —
showQuickPicknow supports richQuickPickItemobjects with descriptions, details, and icons. - Window Positioning —
showQuickPickaccepts an optional anchor position.
Breaking changes #
- Commands API —
LumideCommands.registerCommandcallback now accepts an optionalMap<String, dynamic>? argsparameter. Existing callbacks must be updated.
0.2.0+1 #
New features #
- Commands API — Register commands for the Command Palette via
LumideCommands.registerCommand(). - Keybindings — Declare keybindings in
plugin.yamlundercontributes.keybindings. - Status Bar API — Create, update, show/hide, and dispose status bar items via
LumideStatusBar. - Editor events —
editor.onDidChangeSelectionsandeditor.onDidChangeActiveDocumentpush selection and focus changes to plugins. - Workspace events —
workspace.onDidSaveTextDocumentnotifies when a document is saved.
Breaking changes #
workspace/onDidChangeConfigurationis now a host-to-plugin method (was previously plugin-to-IDE). Plugins receive configuration updates passively instead of polling.
0.1.0 #
- Initial public release of the Lumide Plugin SDK.
- Support for core plugin lifecycle management (
onActivate,onDeactivate). - FileSystem API: Generic file/directory operations (read, write, list, exists).
- Editor API: Active document tracking, text insertion, selection management, and range replacement.
- Workspace API: Configuration management and document event listeners (open, close, change).
- Window API: UI interaction methods (showMessage, showQuickPick, showInputBox).
- Shell API: Controlled execution of host shell commands.
- HTTP API: Standardized network requests (GET, POST).
- Comprehensive JSON-RPC 2.0 based communication layer.