lumide_flutter library

Classes

DaemonService
DeviceService
DevToolsPanelService
Owns panes across asynchronous opens and run-session changes.
DynamicVariableContext
Contextual data needed to resolve dynamic VS Code variables.
FlutterReleaseCatalogService
FlutterSdkDetectionService
FlutterSdkProvider
FlutterService
HostProcessHub
Routes shell.onStdout/onStderr/onExit to processes started with sdks.spawn.
HostSdkProcess
A process started by Lumide with sdks.spawn.
HotReloadController
Serializes hot reloads and hot restarts.
LaunchConfigService
LaunchOptionsStore
Persists per-project launch selections (target, flavor, build mode, tool args) in the plugin's private storage, so flutter clean does not reset them.
LocalSdkProcess
An SdkProcess started with dart:io, for hosts without sdks.spawn.
LogService
MachineRequests
Matches flutter run --machine responses to the requests that caused them.
MachineResult
Result of a flutter run --machine request.
ProjectService
PubGetOnSave
Runs pub get for a package after its pubspec.yaml is saved.
RunService
SdkManager
SdkProcess
A long-running SDK process, started by Lumide (sdks.spawn) or locally.
StatusBarService
TargetService
TestDebugger
Debugs a flutter test --start-paused process, one at a time.
TestInvocation
What flutter test runs: files (none means the whole project) and an optional --name pattern.
TestMachineReporter
Turns flutter test --machine events into Tests pane results.
TestRunService
Runs flutter test --machine and shows results in Lumide's Tests pane.
TestTarget
A suite, group, or test that can be run again.
VscodeLaunchEntry
A single "launch" configuration entry parsed from .vscode/launch.json.
WidgetInspectorService
Flutter runtime controls and navigation from on-device widget selections.
WidgetPreviewServer
One machine-mode server. Concurrent starts share the same process and URL.
WidgetPreviewService
Hosts the SDK's preview web app in a regular, movable Lumide pane.

Enums

DevToolsPage
Individual DevTools screens that can be opened in their own Lumide pane.

Extensions

UriExtension on Uri

Constants

maxCoverageFiles → const int
Files reported from one coverage run; larger reports are cut off.
relativeTargetArgument → const String
Launch configuration argument keeping a relative launch.json target, so it can be resolved against the project of the configuration's folder.
workspaceFolderArgument → const String
Launch configuration argument naming the workspace folder a configuration runs in.

Functions

absolutePathOrNull(Object? value) → String?
value when it is a non-empty absolute path without variables.
decideBreakpointPause({required List<HitBreakpoint> breakpoints, required Future<bool?> evaluate(String expression)}) → Future<BreakpointPauseDecision>
Decides whether a breakpoint pause should stop, and which logpoint messages to print. The VM has neither conditions nor logpoints, so both are applied on pause.
formatLogMessage(String template, Future<String?> evaluate(String expression)) → Future<String>
Expands {expression} placeholders in a logpoint template.
importVscodeFlutterLaunch(LumideForeignLaunchConfiguration source) → Future<LumideLaunchImportResult>
invocationFor(List<TestTarget> targets) → TestInvocation
One flutter test invocation that runs every target.
isInFolder(String folder, String filePath) → bool
Whether filePath is folder or inside it.
launchTargetsForFolder(Iterable<String> targets, {required String? folder, required bool isFirstFolder, String? selectedTarget, Iterable<String> knownFolders = const []}) → List<String>
The launch targets to list under folder: the ones inside it, or all of them when folder is null.
parseFlutterReleaseManifest(String body, {required String platform, required String architecture}) → List<LumideSdkRelease>
parseLcov(String report, {required String projectRoot}) → List<LumideFileCoverage>
Line coverage from an lcov.info report, as written by flutter test --coverage. Relative paths are resolved against projectRoot.
pathsInFolder(Iterable<String> paths, String? folder) → List<String>
The paths inside folder, or all of them when folder is null.
resolveFlutterLaunchSource(LumideLaunchSourceConfiguration source, {required String projectRoot, required String? selectedDeviceId, required String deviceLabel, required String deviceTooltip, required String deviceIcon}) → LumideLaunchResolution
testNamePattern(String fullName, {required bool includeChildren}) → String
A --name pattern matching exactly fullName, plus the tests inside it when includeChildren is true.
widgetPreviewUrl(String line) → String?
Flutter machine events are JSON arrays. Never embed an arbitrary log URL.
workspaceFolderOf(Map? arguments) → String?
The workspace folder in arguments, or null when it is missing or still holds an unresolved variable (older Lumide versions).

Typedefs

AppRestartResultHandler = FutureOr<void> Function(MachineResult result, {required bool fullRestart})
Receives the outcome of every request that was actually sent, once.
AppRestartSender = Future<MachineResult> Function({required bool fullRestart})
Sends app.restart for a reload or a full restart.
BreakpointPauseDecision = ({List<String> logMessages, bool resume})
What to do after a breakpoint pause.
HitBreakpoint = ({String? condition, String? logMessage})
A breakpoint the VM paused on, with the user's settings.
PreviewProcessStarter = Future<Process> Function(List<String> command, String directory)