aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/commands.rs
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term/src/commands.rs')
-rw-r--r--helix-term/src/commands.rs31
1 files changed, 15 insertions, 16 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index 3db112d3..e49c780a 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -262,24 +262,23 @@ pub fn split_selection(cx: &mut Context) {
// # update state
// }
- cx.callback = Some(Box::new(|compositor: &mut Compositor| {
- let prompt = Prompt::new(
- "split:".to_string(),
- |input: &str| Vec::new(), // this is fine because Vec::new() doesn't allocate
- |editor: &mut Editor, input: &str| {
- match Regex::new(input) {
- Ok(regex) => {
- let view = editor.view_mut().unwrap();
- let text = &view.doc.text().slice(..);
- let selection =
- selection::split_on_matches(text, view.doc.selection(), &regex);
- view.doc.set_selection(selection);
- }
- Err(_) => (), // TODO: mark command line as error
+ let prompt = Prompt::new(
+ "split:".to_string(),
+ |input: &str| Vec::new(), // this is fine because Vec::new() doesn't allocate
+ |editor: &mut Editor, input: &str| {
+ match Regex::new(input) {
+ Ok(regex) => {
+ let view = editor.view_mut().unwrap();
+ let text = &view.doc.text().slice(..);
+ let selection = selection::split_on_matches(text, view.doc.selection(), &regex);
+ view.doc.set_selection(selection);
}
- },
- );
+ Err(_) => (), // TODO: mark command line as error
+ }
+ },
+ );
+ cx.callback = Some(Box::new(move |compositor: &mut Compositor| {
compositor.push(Box::new(prompt));
}));
}