assistant find-replace: Fall back to replace_with_flexible_indent (#27795)
Release Notes: - N/A
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use crate::schema::json_schema_for;
|
||||
use crate::{replace::replace_with_flexible_indent, schema::json_schema_for};
|
||||
use anyhow::{anyhow, Context as _, Result};
|
||||
use assistant_tool::{ActionLog, Tool};
|
||||
use gpui::{App, AppContext, Entity, Task};
|
||||
@@ -188,7 +188,11 @@ impl Tool for FindReplaceFileTool {
|
||||
|
||||
let result = cx
|
||||
.background_spawn(async move {
|
||||
replace_exact(&input.find, &input.replace, &snapshot).await
|
||||
// Try to match exactly
|
||||
replace_exact(&input.find, &input.replace, &snapshot)
|
||||
.await
|
||||
// If that fails, try being flexible about indentation
|
||||
.or_else(|| replace_with_flexible_indent(&input.find, &input.replace, &snapshot))
|
||||
})
|
||||
.await;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user