Fix save related tests, and refactor saves again
This commit is contained in:
parent
a59da3634b
commit
7a7ff4bb96
5 changed files with 156 additions and 163 deletions
|
@ -2,7 +2,7 @@ use command_palette::CommandInterceptResult;
|
|||
use editor::{SortLinesCaseInsensitive, SortLinesCaseSensitive};
|
||||
use gpui::{impl_actions, Action, AppContext};
|
||||
use serde_derive::Deserialize;
|
||||
use workspace::{SaveBehavior, Workspace};
|
||||
use workspace::{SaveIntent, Workspace};
|
||||
|
||||
use crate::{
|
||||
motion::{EndOfDocument, Motion},
|
||||
|
@ -50,112 +50,119 @@ pub fn command_interceptor(mut query: &str, _: &AppContext) -> Option<CommandInt
|
|||
"w" | "wr" | "wri" | "writ" | "write" => (
|
||||
"write",
|
||||
workspace::Save {
|
||||
save_behavior: Some(SaveBehavior::PromptOnConflict),
|
||||
save_behavior: Some(SaveIntent::Save),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"w!" | "wr!" | "wri!" | "writ!" | "write!" => (
|
||||
"write!",
|
||||
workspace::Save {
|
||||
save_behavior: Some(SaveBehavior::SilentlyOverwrite),
|
||||
save_behavior: Some(SaveIntent::Overwrite),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"q" | "qu" | "qui" | "quit" => (
|
||||
"quit",
|
||||
workspace::CloseActiveItem {
|
||||
save_behavior: Some(SaveBehavior::PromptOnWrite),
|
||||
save_behavior: Some(SaveIntent::Close),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"q!" | "qu!" | "qui!" | "quit!" => (
|
||||
"quit!",
|
||||
workspace::CloseActiveItem {
|
||||
save_behavior: Some(SaveBehavior::DontSave),
|
||||
save_behavior: Some(SaveIntent::Skip),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"wq" => (
|
||||
"wq",
|
||||
workspace::CloseActiveItem {
|
||||
save_behavior: Some(SaveBehavior::PromptOnConflict),
|
||||
save_behavior: Some(SaveIntent::Save),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"wq!" => (
|
||||
"wq!",
|
||||
workspace::CloseActiveItem {
|
||||
save_behavior: Some(SaveBehavior::SilentlyOverwrite),
|
||||
save_behavior: Some(SaveIntent::Overwrite),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"x" | "xi" | "xit" | "exi" | "exit" => (
|
||||
"exit",
|
||||
workspace::CloseActiveItem {
|
||||
save_behavior: Some(SaveBehavior::PromptOnConflict),
|
||||
save_behavior: Some(SaveIntent::Save),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"x!" | "xi!" | "xit!" | "exi!" | "exit!" => (
|
||||
"exit!",
|
||||
workspace::CloseActiveItem {
|
||||
save_behavior: Some(SaveBehavior::SilentlyOverwrite),
|
||||
save_behavior: Some(SaveIntent::Overwrite),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"up" | "upd" | "upda" | "updat" | "update" => (
|
||||
"update",
|
||||
workspace::Save {
|
||||
save_behavior: Some(SaveIntent::SaveAll),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"wa" | "wal" | "wall" => (
|
||||
"wall",
|
||||
workspace::SaveAll {
|
||||
save_behavior: Some(SaveBehavior::PromptOnConflict),
|
||||
save_behavior: Some(SaveIntent::SaveAll),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"wa!" | "wal!" | "wall!" => (
|
||||
"wall!",
|
||||
workspace::SaveAll {
|
||||
save_behavior: Some(SaveBehavior::SilentlyOverwrite),
|
||||
save_behavior: Some(SaveIntent::Overwrite),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"qa" | "qal" | "qall" | "quita" | "quital" | "quitall" => (
|
||||
"quitall",
|
||||
workspace::CloseAllItemsAndPanes {
|
||||
save_behavior: Some(SaveBehavior::PromptOnWrite),
|
||||
save_behavior: Some(SaveIntent::Close),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"qa!" | "qal!" | "qall!" | "quita!" | "quital!" | "quitall!" => (
|
||||
"quitall!",
|
||||
workspace::CloseAllItemsAndPanes {
|
||||
save_behavior: Some(SaveBehavior::DontSave),
|
||||
save_behavior: Some(SaveIntent::Skip),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"xa" | "xal" | "xall" => (
|
||||
"xall",
|
||||
workspace::CloseAllItemsAndPanes {
|
||||
save_behavior: Some(SaveBehavior::PromptOnConflict),
|
||||
save_behavior: Some(SaveIntent::SaveAll),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"xa!" | "xal!" | "xall!" => (
|
||||
"xall!",
|
||||
workspace::CloseAllItemsAndPanes {
|
||||
save_behavior: Some(SaveBehavior::SilentlyOverwrite),
|
||||
save_behavior: Some(SaveIntent::Overwrite),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"wqa" | "wqal" | "wqall" => (
|
||||
"wqall",
|
||||
workspace::CloseAllItemsAndPanes {
|
||||
save_behavior: Some(SaveBehavior::PromptOnConflict),
|
||||
save_behavior: Some(SaveIntent::SaveAll),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
"wqa!" | "wqal!" | "wqall!" => (
|
||||
"wqall!",
|
||||
workspace::CloseAllItemsAndPanes {
|
||||
save_behavior: Some(SaveBehavior::SilentlyOverwrite),
|
||||
save_behavior: Some(SaveIntent::Overwrite),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
|
@ -190,7 +197,7 @@ pub fn command_interceptor(mut query: &str, _: &AppContext) -> Option<CommandInt
|
|||
"tabc" | "tabcl" | "tabclo" | "tabclos" | "tabclose" => (
|
||||
"tabclose",
|
||||
workspace::CloseActiveItem {
|
||||
save_behavior: Some(SaveBehavior::PromptOnWrite),
|
||||
save_behavior: Some(SaveIntent::Close),
|
||||
}
|
||||
.boxed_clone(),
|
||||
),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue