// Generated by CMake from snippet_dispatcher.cpp.in - DO NOT EDIT #include #include @FORWARD_DECLARATIONS@ struct SnippetEntry { const char* name; int (*func)(int argc, char** argv); }; static const SnippetEntry snippets[] = { @DISPATCH_ENTRIES@}; static const char* snippet_names[] = { @SNIPPET_LIST_LITERAL@}; int main(int argc, char* argv[]) { if (argc < 2) { fprintf(stderr, "Usage: %s [args...]\n\n", argv[0]); fprintf(stderr, "Available snippets:\n"); for (const auto& name : snippet_names) { fprintf(stderr, " %s\n", name); } return 1; } for (const auto& entry : snippets) { if (strcmp(argv[1], entry.name) == 0) { // Shift argv so the snippet sees its name as argv[0]. return entry.func(argc - 1, argv + 1); } } fprintf(stderr, "Unknown snippet: '%s'\n\n", argv[1]); fprintf(stderr, "Available snippets:\n"); for (const auto& name : snippet_names) { fprintf(stderr, " %s\n", name); } return 1; }