diff options
| author | Leo Goetz <dev@leogtz.de> | 2025-11-08 18:55:03 +0100 |
|---|---|---|
| committer | Leo Goetz <dev@leogtz.de> | 2025-11-08 18:55:03 +0100 |
| commit | 16a0e9a9d2c24af28142ed3420ef6cb373c454f7 (patch) | |
| tree | b948472cea12b505ae3f2cc04b66801207ebc6aa /src/command.js | |
| parent | 91a6ac10e416dcf2c29b6e37e3dfe19672eb0f84 (diff) | |
started making the command and json db
Diffstat (limited to 'src/command.js')
| -rw-r--r-- | src/command.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/command.js b/src/command.js new file mode 100644 index 0000000..20a23b2 --- /dev/null +++ b/src/command.js @@ -0,0 +1,71 @@ +import yargs from "yargs"; +import { hideBin } from "yargs/helpers"; + +yargs(hideBin(process.argv)) + .command( + "new <note>", + "create a new note", + (yargs) => { + return yargs.positional("note", { + type: "string", + description: "The content of the note to create", + }); + }, + (argv) => { + console.log(argv.note); + }, + ) + .option("tags", { + alias: "t", + type: "string", + description: "tags to add to the note", + }) + .command( + "all", + "get all notes", + () => {}, + async (argv) => {}, + ) + .command( + "find <filter>", + "get matching notes", + (yargs) => { + return yargs.positional("filter", { + describe: + "The search term to filter notes by, will be applied to note.content", + type: "string", + }); + }, + async (argv) => {}, + ) + .command( + "remove <id>", + "remove a note by id", + (yargs) => { + return yargs.positional("id", { + type: "number", + description: "The id of the note you want to remove", + }); + }, + async (argv) => {}, + ) + .command( + "web [port]", + "launch website to see notes", + (yargs) => { + return yargs.positional("port", { + describe: "port to bind on", + default: 5000, + type: "number", + }); + }, + async (argv) => {}, + ) + .command( + "clean", + "remove all notes", + () => {}, + async (argv) => {}, + ) + .demandCommand(1) + .parse(); |
