commit 2024d69aa106dff266e545a53f2fcee2fd1bf1fa
parent 5269ed50adcdb0b6e8bb571fcef12392b09dc566
Author: Kyle Milz <kyle@0x30.net>
Date: Fri, 22 Jul 2016 19:36:05 -0600
src: start seeing it run
Diffstat:
1 file changed, 31 insertions(+), 7 deletions(-)
diff --git a/src/term_main.cc b/src/term_main.cc
@@ -1,5 +1,9 @@
-#include <stdlib.h> // exit
+/*
+ * Original idea for this program from Max Zunti.
+ */
+#include <iostream>
#include <ncurses.h>
+#include <stdlib.h> // exit
#include "af_unix.h"
#include "runtime_conn.h"
@@ -7,9 +11,7 @@
int
main(int argc, char *argv[])
{
- int ch;
af_unix listen_sock;
-
listen_sock.set_listen();
initscr();
@@ -19,7 +21,7 @@ main(int argc, char *argv[])
exit(1);
}
start_color();
- init_pair(1, COLOR_RED, COLOR_BLACK);
+ init_pair(1, COLOR_GREEN, COLOR_BLACK);
printw("Waiting for connection on /tmp/citrun-gl.socket\n");
refresh();
@@ -29,10 +31,32 @@ main(int argc, char *argv[])
errx(1, "client was NULL");
RuntimeProcess conn(*client);
- printw("program name: %s\n", conn.program_name.c_str());
- printw("program name: %s\n", conn.program_name.c_str());
- refresh();
+ while (1) {
+ erase();
+
+ conn.read_executions();
+
+ auto &t = conn.translation_units[0];
+ std::vector<uint32_t>::iterator e = t.execution_counts.begin();
+ std::vector<std::string>::iterator l = t.source.begin();
+
+ e++;
+ while (e != t.execution_counts.end() && l != t.source.end()) {
+ if (*e > 10 * 1000)
+ attron(COLOR_PAIR(1));
+ printw("%s\n", l->c_str());
+ if (*e > 10 * 1000)
+ attroff(COLOR_PAIR(1));
+ e++;
+ l++;
+ }
+
+ refresh();
+ }
+
+ printw("program name: %s\n", conn.program_name.c_str());
+ printw("num tus: %i\n", conn.num_tus);
getch();
endwin();