assistant2: Small misc efficiency improvements (#22947)

Michael Sloan created

Release Notes:

- N/A

Change summary

crates/assistant2/src/context_store.rs | 26 ++++++++++++--------------
crates/language_model/src/request.rs   |  4 ++--
2 files changed, 14 insertions(+), 16 deletions(-)

Detailed changes

crates/assistant2/src/context_store.rs 🔗

@@ -191,22 +191,20 @@ impl ContextStore {
                 collect_files_in_path(worktree, &project_path.path)
             })?;
 
-            let open_buffer_tasks = project.update(&mut cx, |project, cx| {
-                files
-                    .iter()
-                    .map(|file_path| {
-                        project.open_buffer(
-                            ProjectPath {
-                                worktree_id,
-                                path: file_path.clone(),
-                            },
-                            cx,
-                        )
-                    })
-                    .collect::<Vec<_>>()
+            let open_buffers_task = project.update(&mut cx, |project, cx| {
+                let tasks = files.iter().map(|file_path| {
+                    project.open_buffer(
+                        ProjectPath {
+                            worktree_id,
+                            path: file_path.clone(),
+                        },
+                        cx,
+                    )
+                });
+                future::join_all(tasks)
             })?;
 
-            let buffers = future::join_all(open_buffer_tasks).await;
+            let buffers = open_buffers_task.await;
 
             let mut buffer_infos = Vec::new();
             let mut text_tasks = Vec::new();

crates/language_model/src/request.rs 🔗

@@ -214,9 +214,9 @@ impl LanguageModelRequestMessage {
                 .content
                 .first()
                 .map(|content| match content {
-                    MessageContent::Text(text) => text.trim().is_empty(),
+                    MessageContent::Text(text) => text.chars().all(|c| c.is_whitespace()),
                     MessageContent::ToolResult(tool_result) => {
-                        tool_result.content.trim().is_empty()
+                        tool_result.content.chars().all(|c| c.is_whitespace())
                     }
                     MessageContent::ToolUse(_) | MessageContent::Image(_) => true,
                 })