19#include <cjson/cJSON.h>
25#define __get_current_dir _getcwd
26#define __get_pid _getpid
30#define __get_current_dir getcwd
31#define __get_pid getpid
128void free_all(
void **,
const size_t);
void crun_version()
Print app version.
Definition crun.c:315
char * get_language_buffer(cJSON *)
Build selectable language menu buffer from JSON root.
Definition crun.c:577
void crun()
Main CLI flow entrypoint.
Definition crun.c:356
void free_all(void **, const size_t)
Release language/package maps and additional owned pointers.
Definition crun.c:730
void crun_help()
Print command-line usage/help.
Definition crun.c:319
char * get_packages_buffer(cJSON *, const char *)
Build selectable package menu buffer for one language.
Definition crun.c:627
const char * download_crun_package(const struct CrunPackage *)
Resolve package archive from cache or download it.
Definition crun.c:488
void crun_stacks_json_checker(const char *)
Ensure stacks metadata file exists locally.
Definition crun.c:565
void get_user_choice(int *, const char *, const int)
Prompt for menu choice with validation.
Definition crun.c:547
int crun_update()
Refresh local stacks metadata from remote source.
Definition crun.c:323
char * name
Definition crun.h:39
char * description
Definition crun.h:43
char * name
Definition crun.h:43
char * url
Definition crun.h:43
char * packages_buffer
Definition crun.h:48
const char * workspace_path
Definition crun.h:51
cJSON * json_root
Definition crun.h:52
const char * stacks_path
Definition crun.h:50
char * languages_buffer
Definition crun.h:47
const char * json_root_buffer
Definition crun.h:49