36 lines
892 B
C
36 lines
892 B
C
#pragma once
|
|
|
|
// A lang for Shell Command Language
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
#include "arrays.h"
|
|
#include "datatypes.h"
|
|
#include "optionals.h"
|
|
#include "text.h"
|
|
#include "types.h"
|
|
|
|
#define Shell_t Text_t
|
|
#define OptionalShell_t Text_t
|
|
#define Shell(text) ((Shell_t)Text(text))
|
|
#define Shells(...) ((Shell_t)Texts(__VA_ARGS__))
|
|
|
|
OptionalClosure_t Shell$by_line(Shell_t command);
|
|
Shell_t Shell$escape_text(Text_t text);
|
|
Shell_t Shell$escape_path(Path_t path);
|
|
Shell_t Shell$escape_text_array(Array_t texts);
|
|
Shell_t Shell$escape_path_array(Array_t paths);
|
|
OptionalArray_t Shell$run_bytes(Shell_t command);
|
|
OptionalText_t Shell$run(Shell_t command);
|
|
OptionalInt32_t Shell$execute(Shell_t command);
|
|
|
|
#define Shell$hash Text$hash
|
|
#define Shell$compare Text$compare
|
|
#define Shell$equal Text$equal
|
|
|
|
extern const TypeInfo_t Shell$info;
|
|
|
|
// vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1,\:0
|
|
|