style: formatting

pull/12902/head
Nikita Revenco 2025-02-18 11:28:30 +00:00
parent eecabdbeb5
commit eafd8ace18
2 changed files with 25 additions and 11 deletions

View File

@ -292,7 +292,7 @@ fn create_file_operation_prompt(
path: &Path, path: &Path,
callback: fn(&mut Context, &Path, &str) -> Result<String, String>, callback: fn(&mut Context, &Path, &str) -> Result<String, String>,
) { ) {
cx.editor.path_editing = Some(path.to_path_buf()); cx.editor.file_explorer_selected_path = Some(path.to_path_buf());
let callback = Box::pin(async move { let callback = Box::pin(async move {
let call: Callback = Callback::EditorCompositor(Box::new(move |editor, compositor| { let call: Callback = Callback::EditorCompositor(Box::new(move |editor, compositor| {
let mut prompt = Prompt::new( let mut prompt = Prompt::new(
@ -304,7 +304,7 @@ fn create_file_operation_prompt(
return; return;
}; };
let path = cx.editor.path_editing.clone(); let path = cx.editor.file_explorer_selected_path.clone();
if let Some(path) = path { if let Some(path) = path {
match callback(cx, &path, input) { match callback(cx, &path, input) {
@ -318,7 +318,7 @@ fn create_file_operation_prompt(
}, },
); );
if let Some(path_editing) = &editor.path_editing { if let Some(path_editing) = &editor.file_explorer_selected_path {
prompt.set_line_no_recalculate(path_editing.display().to_string()); prompt.set_line_no_recalculate(path_editing.display().to_string());
} }
@ -380,7 +380,7 @@ pub fn file_explorer(root: PathBuf, editor: &Editor) -> Result<FileExplorer, std
|cx, (path, _is_dir): &(PathBuf, bool)|, |cx, (path, _is_dir): &(PathBuf, bool)|,
// create // create
alt!('n') => { alt!('n') => {
create_file_operation_prompt("create:", cx, path, |_, _, to_create_str| { create_file_operation_prompt("create:", cx, path, |_cx, _path, to_create_str| {
let to_create = helix_stdx::path::expand_tilde(PathBuf::from(to_create_str)); let to_create = helix_stdx::path::expand_tilde(PathBuf::from(to_create_str));
if to_create.exists() { if to_create.exists() {
@ -388,11 +388,15 @@ pub fn file_explorer(root: PathBuf, editor: &Editor) -> Result<FileExplorer, std
}; };
if to_create_str.ends_with(std::path::MAIN_SEPARATOR) { if to_create_str.ends_with(std::path::MAIN_SEPARATOR) {
fs::create_dir_all(&to_create).map_err(|err| format!("Unable to create directory {}: {err}", to_create.display()))?; fs::create_dir_all(&to_create).map_err(
|err| format!("Unable to create directory {}: {err}", to_create.display())
)?;
Ok(format!("Created directory: {}", to_create.display())) Ok(format!("Created directory: {}", to_create.display()))
} else { } else {
fs::File::create(&to_create).map_err(|err| format!("Unable to create file {}: {err}", to_create.display()))?; fs::File::create(&to_create).map_err(
|err| format!("Unable to create file {}: {err}", to_create.display())
)?;
Ok(format!("Created file: {}", to_create.display())) Ok(format!("Created file: {}", to_create.display()))
} }
@ -433,11 +437,19 @@ pub fn file_explorer(root: PathBuf, editor: &Editor) -> Result<FileExplorer, std
}; };
if to_delete_str.ends_with(std::path::MAIN_SEPARATOR) { if to_delete_str.ends_with(std::path::MAIN_SEPARATOR) {
fs::remove_dir_all(&to_delete).map_err(|err| format!("Unable to delete directory {}: {err}", to_delete.display()))?; fs::remove_dir_all(&to_delete).map_err(
|err| format!(
"Unable to delete directory {}: {err}", to_delete.display()
)
)?;
Ok(format!("Deleted directory: {}", to_delete.display())) Ok(format!("Deleted directory: {}", to_delete.display()))
} else { } else {
fs::remove_file(&to_delete).map_err(|err| format!("Unable to delete file {}: {err}", to_delete.display()))?; fs::remove_file(&to_delete).map_err(
|err| format!(
"Unable to delete file {}: {err}", to_delete.display()
)
)?;
Ok(format!("Deleted file: {}", to_delete.display())) Ok(format!("Deleted file: {}", to_delete.display()))
} }
@ -468,7 +480,9 @@ pub fn file_explorer(root: PathBuf, editor: &Editor) -> Result<FileExplorer, std
}, },
// copy path // copy path
alt!('y') => { alt!('y') => {
let register = cx.editor.selected_register.unwrap_or(cx.editor.config().default_yank_register); let register = cx.editor.selected_register.unwrap_or(
cx.editor.config().default_yank_register
);
let path = helix_stdx::path::get_relative_path(path); let path = helix_stdx::path::get_relative_path(path);
let path = path.to_string_lossy().to_string(); let path = path.to_string_lossy().to_string();
let message = format!("Yanked {} to register {register}", path); let message = format!("Yanked {} to register {register}", path);

View File

@ -1035,7 +1035,6 @@ pub struct Editor {
pub tree: Tree, pub tree: Tree,
pub next_document_id: DocumentId, pub next_document_id: DocumentId,
pub documents: BTreeMap<DocumentId, Document>, pub documents: BTreeMap<DocumentId, Document>,
pub path_editing: Option<PathBuf>,
// We Flatten<> to resolve the inner DocumentSavedEventFuture. For that we need a stream of streams, hence the Once<>. // We Flatten<> to resolve the inner DocumentSavedEventFuture. For that we need a stream of streams, hence the Once<>.
// https://stackoverflow.com/a/66875668 // https://stackoverflow.com/a/66875668
@ -1102,6 +1101,7 @@ pub struct Editor {
pub mouse_down_range: Option<Range>, pub mouse_down_range: Option<Range>,
pub cursor_cache: CursorCache, pub cursor_cache: CursorCache,
pub file_explorer_selected_path: Option<PathBuf>,
} }
pub type Motion = Box<dyn Fn(&mut Editor)>; pub type Motion = Box<dyn Fn(&mut Editor)>;
@ -1224,7 +1224,7 @@ impl Editor {
handlers, handlers,
mouse_down_range: None, mouse_down_range: None,
cursor_cache: CursorCache::default(), cursor_cache: CursorCache::default(),
path_editing: None, file_explorer_selected_path: None,
} }
} }