mirror of
https://github.com/openai/codex.git
synced 2026-04-24 14:45:27 +00:00
Simplify attach_image
This commit is contained in:
@@ -401,8 +401,7 @@ impl ChatComposer {
|
||||
/// Attempt to start a burst by retro-capturing recent chars before the cursor.
|
||||
pub fn attach_image(&mut self, path: PathBuf) {
|
||||
let image_number = self.attached_images.len() + 1;
|
||||
let base_placeholder = local_image_label_text(image_number);
|
||||
let placeholder = self.next_image_placeholder(&base_placeholder);
|
||||
let placeholder = local_image_label_text(image_number);
|
||||
// Insert as an element to match large paste placeholder behavior:
|
||||
// styled distinctly and treated atomically for cursor/mutations.
|
||||
self.textarea.insert_element(&placeholder);
|
||||
@@ -465,24 +464,6 @@ impl ChatComposer {
|
||||
}
|
||||
}
|
||||
|
||||
fn next_image_placeholder(&mut self, base: &str) -> String {
|
||||
let text = self.textarea.text();
|
||||
let mut suffix = 1;
|
||||
loop {
|
||||
let placeholder = if suffix == 1 {
|
||||
base.to_string()
|
||||
} else if let Some(base_trimmed) = base.strip_suffix(']') {
|
||||
format!("{base_trimmed} #{suffix}]")
|
||||
} else {
|
||||
format!("{base} #{suffix}")
|
||||
};
|
||||
if !text.contains(&placeholder) {
|
||||
return placeholder;
|
||||
}
|
||||
suffix += 1;
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn insert_str(&mut self, text: &str) {
|
||||
self.textarea.insert_str(text);
|
||||
self.sync_popups();
|
||||
|
||||
Reference in New Issue
Block a user