MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / handle_subcommand

Function handle_subcommand

src/main.c:1036–1080  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1034}
1035
1036static int handle_subcommand(int argc, char **argv, cbm_project_lock_manager_t *project_locks,
1037 main_local_maintenance_context_t *maintenance_context) {
1038 /* First scan: global flags */
1039 for (int i = SKIP_ONE; i < argc; i++) {
1040 if (strcmp(argv[i], "--profile") == 0) {
1041 cbm_profile_enable();
1042 }
1043 }
1044 for (int i = SKIP_ONE; i < argc; i++) {
1045 if (strcmp(argv[i], "--version") == 0) {
1046 printf("codebase-memory-mcp %s\n", CBM_VERSION);
1047 return 0;
1048 }
1049 if (strcmp(argv[i], "--help") == 0 || strcmp(argv[i], "-h") == 0) {
1050 print_help();
1051 return 0;
1052 }
1053 if (strcmp(argv[i], "allow-root") == 0) {
1054 return main_run_allow_root(argc - i - SKIP_ONE, argv + i + SKIP_ONE);
1055 }
1056 if (strcmp(argv[i], "cli") == 0) {
1057 cbm_mem_init_with_cap(cbm_mem_ram_fraction_for_total(cbm_system_info().total_ram),
1058 cbm_index_worker_memory_budget_bytes());
1059 return run_cli(argc - i - SKIP_ONE, argv + i + SKIP_ONE, project_locks,
1060 maintenance_context);
1061 }
1062 if (strcmp(argv[i], "hook-augment") == 0) {
1063 cbm_mem_init(cbm_mem_ram_fraction_for_total(cbm_system_info().total_ram));
1064 return cbm_cmd_hook_augment(argc - i - SKIP_ONE, argv + i + SKIP_ONE);
1065 }
1066 if (strcmp(argv[i], "install") == 0) {
1067 return cbm_cmd_install(argc - i - SKIP_ONE, argv + i + SKIP_ONE);
1068 }
1069 if (strcmp(argv[i], "uninstall") == 0) {
1070 return cbm_cmd_uninstall(argc - i - SKIP_ONE, argv + i + SKIP_ONE);
1071 }
1072 if (strcmp(argv[i], "update") == 0) {
1073 return cbm_cmd_update(argc - i - SKIP_ONE, argv + i + SKIP_ONE);
1074 }
1075 if (strcmp(argv[i], "config") == 0) {
1076 return cbm_cmd_config(argc - i - SKIP_ONE, argv + i + SKIP_ONE);
1077 }
1078 }
1079 return CBM_NOT_FOUND;
1080}
1081
1082/* Parse --ui= and --port= into a per-field daemon mutation. */
1083static uint8_t parse_ui_flags(int argc, char **argv, bool *ui_enabled, int *ui_port,

Callers 1

mainFunction · 0.85

Calls 14

cbm_profile_enableFunction · 0.85
print_helpFunction · 0.85
main_run_allow_rootFunction · 0.85
cbm_mem_init_with_capFunction · 0.85
cbm_system_infoFunction · 0.85
cbm_mem_initFunction · 0.85
cbm_cmd_hook_augmentFunction · 0.85
cbm_cmd_installFunction · 0.85
cbm_cmd_uninstallFunction · 0.85
cbm_cmd_updateFunction · 0.85

Tested by

no test coverage detected