#ifndef PLATFORM_H
#define PLATFORM_H

#include "language.h"

#include <stddef.h>

bool platform_run(char* const argv[], int* exit_code, Error* error, const char* description);
bool platform_capture(char* const argv[], char** output, int* exit_code, Error* error,
                      const char* description);
bool platform_current_executable(char* path, size_t capacity);
bool platform_temporary_file(char* path, size_t capacity);
bool platform_temporary_directory(char* path, size_t capacity);
bool platform_delete_file(const char* path);
bool platform_remove_directory(const char* path);
bool platform_ensure_directory(const char* path);
char platform_path_separator(void);

#endif