@@ -739,6 +739,18 @@ fn write_all(
739 write_all_impl(cx, false, true)
739 write_all_impl(cx, false, true)
743+ cx: &mut compositor::Context,
746+) -> anyhow::Result<()> {
747+ if event != PromptEvent::Validate {
751+ write_all_impl(cx, true, true)
742fn write_all_quit(
754fn write_all_quit(
743 cx: &mut compositor::Context,
755 cx: &mut compositor::Context,
744 _args: &[Cow<str>],
756 _args: &[Cow<str>],
@@ -2444,6 +2456,13 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
2444 fun: write_all,
2456 fun: write_all,
2445 signature: CommandSignature::none(),
2457 signature: CommandSignature::none(),
2460+ name: "write-all!",
2462+ doc: "Forcefully write changes from all buffers to disk creating necessary subdirectories.",
2463+ fun: force_write_all,
2464+ signature: CommandSignature::none(),
2447 TypableCommand {
2466 TypableCommand {
2448 name: "write-quit-all",
2467 name: "write-quit-all",
2449 aliases: &["wqa", "xa"],
2468 aliases: &["wqa", "xa"],