From ae0a7fc97dccf1e0fe73519c859e0f31c57f05ab Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Fri, 17 Oct 2014 23:05:08 -0700 Subject: [PATCH] Add logging debugger for debugging failing tests --- spec/runtime/helpers/log_debugger.cc | 21 +++++++++++++++++++++ spec/runtime/helpers/log_debugger.h | 8 ++++++++ 2 files changed, 29 insertions(+) create mode 100644 spec/runtime/helpers/log_debugger.cc create mode 100644 spec/runtime/helpers/log_debugger.h 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_