YDCL

Commands

Run key command
Execute a saved command using its key name. You can also run a key from a specific directory (namespace).
Signature: keyname
ydcl mykey
From a directory:
Signature: :DIR.keyname
ydcl :DEV.build
Using argument placeholder <A>
The placeholder <A> inserts user-supplied arguments into the command at runtime.
Signature: <A> inside command string
• Must be written exactly as <A>
• Replaced with all arguments passed after the key
• Arguments are separated by spaces unless quoted
• Can appear multiple times in the command string
Examples:
# Example 1 — Single string passed to echo
ydcl _add say "echo <A>"
ydcl say "Hello, world"
# → echo "Hello, world"

# Example 2 — Compiler flags passed dynamically
ydcl _add build "gcc <A> -o out"
ydcl build main.c -Wall -O2
# → gcc main.c -Wall -O2 -o out

# Example 3 — Multiple <A> placeholders
ydcl _add cp "cp <A> <A>"
ydcl cp source.txt backup.txt
# → cp source.txt backup.txt
_add
Assigns one or more commands to a key. Commands are executed in the order they are defined.
Signature: _add key "cmd" or _add key "cmd1" "cmd2" ...
ydcl _add k "echo 12"
ydcl _add build "npm run build" "echo Done"
_addm
Interactive multi-command mode. Enter commands line by line. Finish with an empty line.
Signature: _addm key
ydcl _addm deploy
Enter commands line by line. Empty line to finish:
$> git pull
$> npm run build
$>
Multi-command 'deploy' added successfully
_del
Removes a key and its associated commands.
Signature: _del key
ydcl _del k
_crd
Creates a new directory (namespace). Directory names must be in uppercase.
Signature: _crd DIR
ydcl _crd DEV
_dd
Deletes a directory and all keys inside it.
Signature: _dd DIR
ydcl _dd DEV
_show
Lists all existing directories (namespaces).
Signature: _show
ydcl _show
_s / _search
Searches for a key by exact or partial name.
Signature: _s key or _search key
ydcl _s build
_v / _ver / _version
Displays the current version of YDCL.
Signature: _version
ydcl _version
_help
Displays this help reference with all available commands.
Signature: _help
ydcl _help
Manual config editing
All commands are saved in a plain text config file located in the root of program YDCL.
File: test.ydcl.conf
[GLOBAL]

# Multi-command (as a tuple)
k = ("echo 12", "echo 32")

# Single command (as a string)
k1 = "echo 12"
• Section names must be uppercase (e.g. [GLOBAL], [DEV])
• Multi-command values must be valid tuples
• All commands must be double-quoted
• Avoid trailing commas in tuples
• Keys must be unique within each section