PRAG's a Recursive Acronym Generator — a small CLI tool written in C that generates GNU/WINE-style recursive acronyms for open-source projects.
You know how GNU stands for "GNU's Not Unix" and WINE stands for "WINE Is Not an Emulator"? PRAG helps you come up with names like that for your own projects.
git clone https://github.com/JeeNeeUhs/PRAG.git
cd PRAG
makeThis produces a PRAG binary in the project root.
sudo make installThis copies PRAG to /usr/local/bin/, making it available everywhere.
make clean # remove build artifacts
make fclean # remove build artifacts and the binary
make re # rebuild from scratchPRAG [OPTIONS] <char> <project-to-replace>| Flag | Description |
|---|---|
-h |
Show the help message |
-i |
Use "is not" instead of "'s not" (cannot be combined with -s, -p, -r, -n) |
-l |
Use a full string prefix (all chars are included in the acronym) |
-s |
Shorten mode: build the acronym from the uppercase first letters of each argument (cannot be combined with -i, -p, -r, -n) |
-p |
Use "'s" instead of "'s not" — the "not" disappears from the acronym (cannot be combined with -i, -s, -r, -n) |
-r |
Use "is" instead of "'s not" (cannot be combined with -i, -s, -p, -n) |
-n |
Print only the acronym, nothing in between (cannot be combined with -i, -s, -p, -r) |
Note:
-i,-s,-p,-r,-nare mutually exclusize. Only one of them can be used at a time.
| Argument | Description |
|---|---|
<char(s)> |
The character (or string with -l) to start the acronym with — e.g. G for GNU, W for WINE |
<project-to-replace> |
The existing project your project is "not" — e.g. unix, emulator |
$ PRAG G unix
GNU, GNU's not unix
$ PRAG -i W emulator
WINE, WINE is not emulator
$ PRAG -l GNU unix
GNUNU, GNUNU's not unix
$ PRAG -s Yet Another Markup Language
YAML, Yet Another Markup Language
$ PRAG -p P Recursive Acronym Generator
PIRAG, PIRAG is Recursive Acronym Generator
$ PRAG -r P Recursive Acronym Generator
PRAG, PRAG's Recursive Acronym Generator
$ PRAG -n R Project Manager
RPM, RPM Project ManagerContributions, bug reports, and feature ideas are welcome. Feel free to open an issue or pull request.
Check the LICENSE file for details.