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

Function handle_subcommand

src/main.c:1034–1078  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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