summaryrefslogtreecommitdiff
path: root/examples/dte/config.h
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2023-11-09 23:19:53 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2023-11-09 23:19:53 +0100
commit1566b6faa8534118c3566188181367cd0868468f (patch)
tree1de8d4b369efb5e592685a31088f798a6b63ffa1 /examples/dte/config.h
parent349991bf6efe473ab9a5cbdae0a8114d72b997e3 (diff)
downloadcrep-1566b6faa8534118c3566188181367cd0868468f.tar.gz
Added partial matching and introduced threads
Diffstat (limited to 'examples/dte/config.h')
-rw-r--r--examples/dte/config.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/examples/dte/config.h b/examples/dte/config.h
new file mode 100644
index 0000000..43d4c97
--- /dev/null
+++ b/examples/dte/config.h
@@ -0,0 +1,42 @@
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include <stddef.h>
+#include "command/run.h"
+#include "util/macros.h"
+#include "util/ptr-array.h"
+#include "util/string-view.h"
+#include "util/string.h"
+
+typedef enum {
+ CFG_NOFLAGS = 0,
+ CFG_MUST_EXIST = 1 << 0,
+ CFG_BUILTIN = 1 << 1
+} ConfigFlags;
+
+typedef struct {
+ const char *const name;
+ const StringView text;
+} BuiltinConfig;
+
+typedef struct {
+ const char *file;
+ unsigned int line;
+} ConfigState;
+
+extern ConfigState current_config;
+
+struct EditorState;
+
+String dump_builtin_configs(void);
+const BuiltinConfig *get_builtin_config(const char *name) PURE;
+const BuiltinConfig *get_builtin_configs_array(size_t *nconfigs);
+void exec_config(CommandRunner *runner, StringView config);
+int do_read_config(CommandRunner *runner, const char *filename, ConfigFlags flags) WARN_UNUSED_RESULT;
+int read_config(CommandRunner *runner, const char *filename, ConfigFlags f);
+void exec_builtin_color_reset(struct EditorState *e);
+void exec_builtin_rc(struct EditorState *e);
+void collect_builtin_configs(PointerArray *a, const char *prefix) NONNULL_ARGS;
+void collect_builtin_includes(PointerArray *a, const char *prefix) NONNULL_ARGS;
+
+#endif