diff --git a/spec/runtime/helpers/log_debugger.cc b/spec/runtime/helpers/log_debugger.cc new file mode 100644 index 00000000..dddefb44 --- /dev/null +++ b/spec/runtime/helpers/log_debugger.cc @@ -0,0 +1,21 @@ +#include "tree_sitter/runtime.h" +#include + +static void log_debug(void *data, TSDebugType type, const char *msg) { + switch (type) { + case TSDebugTypeParse: + fprintf(stderr, "* %s\n", msg); + break; + case TSDebugTypeLex: + fprintf(stderr, " %s\n", msg); + break; + } +} + +TSDebugger log_debugger_make() { + TSDebugger result; + result.data = NULL; + result.debug_fn = log_debug; + result.release_fn = NULL; + return result; +} diff --git a/spec/runtime/helpers/log_debugger.h b/spec/runtime/helpers/log_debugger.h new file mode 100644 index 00000000..09aa1b2f --- /dev/null +++ b/spec/runtime/helpers/log_debugger.h @@ -0,0 +1,8 @@ +#ifndef HELPERS_LOG_DEBUGGER_H_ +#define HELPERS_LOG_DEBUGGER_H_ + +#include "tree_sitter/runtime.h" + +TSDebugger log_debugger_make(); + +#endif // HELPERS_LOG_DEBUGGER_H_