feat(debugger): completion in Evaluate, the Variables evaluate field and the Debug console (#1102)

While suspended, the debugger's expression fields complete from the debug adapter (DAP completions) in the selected frame: Evaluate, the Variables evaluate field and the Debug console share one hook. The list opens while typing an identifier or after '.', or on Ctrl+Space; Up/Down, Enter/Tab, Escape. The Evaluate dialog is resizable and its result tree grows with it. Backend: ide-dap completions (skipped without supportsCompletionsRequest), debug_completions on the host and the desktop app.
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-11-04 04:47:12 +08:00
1 джерело e575bf8c24
коміт fe0ee338f4
13 files changed
+481 -6

No files matched your search

+14
Переглянути файл
@@ -72,6 +72,20 @@ pub async fn debug_evaluate(
ide_host::ops::debug::debug_evaluate(&state.host, "", session, frame_id, expression).await
}
/// Completions for an expression typed in Evaluate (`line` / `column` 0-based, UTF-16).
#[tauri::command]
#[specta::specta]
pub async fn debug_completions(
state: State<'_, AppState>,
session: DebugSessionId,
frame_id: Option<i64>,
text: String,
line: u32,
column: u32,
) -> IdeResult<Vec<ide_dap::DebugCompletion>> {
ide_host::ops::debug::debug_completions(&state.host, "", session, frame_id, text, line, column).await
}
#[tauri::command]
#[specta::specta]
pub async fn debug_resume(state: State<'_, AppState>, session: DebugSessionId, thread_id: i64) -> IdeResult<()> {