@@ -1172,6 +1172,26 @@ fn refresh_config(
1176+ cx: &mut compositor::Context,
1178+ _event: PromptEvent,
1179+) -> anyhow::Result<()> {
1180+ ensure!(!args.is_empty(), "Shell command required");
1181+ shell(cx, &args.join(" "), &ShellBehavior::Append);
1186+ cx: &mut compositor::Context,
1188+ _event: PromptEvent,
1189+) -> anyhow::Result<()> {
1190+ ensure!(!args.is_empty(), "Shell command required");
1191+ shell(cx, &args.join(" "), &ShellBehavior::Insert);
1176 cx: &mut compositor::Context,
1196 cx: &mut compositor::Context,
1177 args: &[Cow<str>],
1197 args: &[Cow<str>],
@@ -1671,6 +1691,20 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
1671 fun: open_log,
1691 fun: open_log,
1672 completer: None,
1692 completer: None,
1695+ name: "insert-output",
1697+ doc: "Run shell command, inserting output after each selection.",
1698+ fun: insert_output,
1702+ name: "append-output",
1704+ doc: "Run shell command, appending output after each selection.",
1705+ fun: append_output,
1674 TypableCommand {
1708 TypableCommand {
1675 name: "pipe",
1709 name: "pipe",
1676 aliases: &[],
1710 aliases: &[],