codetainer
Version:
A clean and simple CLI to manage and store code snippets with ease.
30 lines (24 loc) • 871 B
JavaScript
import fs from "fs";
import chalk from "chalk";
import { loadSnippets } from "../utils/snippetStore.js";
import { fileExtensions } from "../data/extension.js";
export function registerExportCommand(program) {
program
.command("export <name>")
.description("Export a snippet to a file (detected by language)")
.action((name) => {
const snippets = loadSnippets();
const snippet = snippets[name];
if (!snippet) {
console.log(chalk.red(`❌ Snippet "${name}" not found.`));
return;
}
const extMap = fileExtensions;
const ext = extMap[snippet.language?.toLowerCase()] || "txt";
const fileName = `${name}.${ext}`;
fs.writeFileSync(fileName, snippet.code);
console.log(
chalk.green(`✅ Snippet "${name}" exported to ./${fileName}`)
);
});
}