Compare commits
2 Commits
d68d397f66
...
5347c71851
Author | SHA1 | Date |
---|---|---|
Bauke | 5347c71851 | |
Bauke | d00d878dc1 |
|
@ -29,5 +29,8 @@ alias clipboard-to-file="xclip -sel clip -o > $1"
|
||||||
alias file-to-clipboard="xclip -sel clip -i $1"
|
alias file-to-clipboard="xclip -sel clip -i $1"
|
||||||
alias gpg-decrypt-clipboard="xclip -sel clip -o | gpg --decrypt"
|
alias gpg-decrypt-clipboard="xclip -sel clip -o | gpg --decrypt"
|
||||||
|
|
||||||
|
# Video aliases.
|
||||||
|
alias get-resolution="ffprobe -v error -select_streams v -show_entries stream=width,height -of csv=p=0:s=x"
|
||||||
|
|
||||||
# See '$BAUKE_DIR/Restic Backups.md' for information.
|
# See '$BAUKE_DIR/Restic Backups.md' for information.
|
||||||
alias restic-b2="source $BAUKE_DIR/data/restic-b2-credentials.zsh && restic"
|
alias restic-b2="source $BAUKE_DIR/data/restic-b2-credentials.zsh && restic"
|
||||||
|
|
|
@ -15,10 +15,15 @@ export const runCommand = new Command()
|
||||||
"--include-directories",
|
"--include-directories",
|
||||||
"Include directories found inside the directories.",
|
"Include directories found inside the directories.",
|
||||||
)
|
)
|
||||||
.action(async ({ directory, includeDirectories }) => {
|
.option(
|
||||||
|
"--output-script",
|
||||||
|
"Output the commands as a shell script instead of running them.",
|
||||||
|
)
|
||||||
|
.action(async ({ directory, includeDirectories, outputScript }) => {
|
||||||
await actionHandler({
|
await actionHandler({
|
||||||
directories: directory,
|
directories: directory,
|
||||||
includeDirectories: includeDirectories ?? false,
|
includeDirectories: includeDirectories ?? false,
|
||||||
|
outputScript: outputScript ?? false,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -26,6 +31,7 @@ async function actionHandler(
|
||||||
options: {
|
options: {
|
||||||
directories: string[];
|
directories: string[];
|
||||||
includeDirectories: boolean;
|
includeDirectories: boolean;
|
||||||
|
outputScript: boolean;
|
||||||
},
|
},
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
let command: string[] = [];
|
let command: string[] = [];
|
||||||
|
@ -135,11 +141,28 @@ async function actionHandler(
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("\n## Output");
|
if (options.outputScript) {
|
||||||
for (const constructedCommand of constructedCommands) {
|
const defaultFilename = "bulk-run-script.zsh";
|
||||||
await Deno.run({
|
const { filename } = await prompt.prompt([
|
||||||
cmd: constructedCommand,
|
{
|
||||||
}).status();
|
type: prompt.Input,
|
||||||
|
name: "filename",
|
||||||
|
message: "Filename for the script",
|
||||||
|
default: defaultFilename,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
const commands = constructedCommands.map((c) => c.join(" ")).join("\n");
|
||||||
|
await Deno.writeTextFile(
|
||||||
|
filename ?? defaultFilename,
|
||||||
|
`#!/usr/bin/env zsh\n\n${commands}`,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
console.log("\n## Output");
|
||||||
|
for (const constructedCommand of constructedCommands) {
|
||||||
|
await Deno.run({
|
||||||
|
cmd: constructedCommand,
|
||||||
|
}).status();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue