#include <stdlib.h>
#include <string.h>
-#include "include/markdown.h"
+#include "include/parser.h"
void usage() {
fprintf(stderr, "Usage: tmp [OPTION]... [FILE]\n");
fprintf(stderr, "A command-line based markdown presentation tool.\n\n");
fprintf(stderr, " -d, --debug enable debug messages on STDERR\n");
+ fprintf(stderr, " add it multiple times to increases debug level\n\n");
fprintf(stderr, " -h, --help display this help and exit\n");
fprintf(stderr, "\nWith no FILE, or when FILE is -, read standard input.\n\n");
exit(EXIT_FAILURE);
int opt, debug = 0;
while ((opt = getopt_long(argc, argv, ":dh", longopts, NULL)) != -1) {
switch(opt) {
- case 'd': debug = 1; break;
+ case 'd': debug += 1; break;
case 'h': usage(); break;
case ':': fprintf(stderr, "%s: '%c' requires an argument\n", argv[0], optopt); usage(); break;
case '?':
document_t *doc;
doc = markdown_load(input);
- if(debug) {
- // print header to STDERR
- int offset;
- line_t *header;
- if(doc->header) {
- header = doc->header;
- while(header &&
- header->text->size > 0 &&
- header->text->text[0] == '%') {
-
- offset = next_blank(header->text, 0) + 1;
- printf("header: %s\n", &header->text->text[offset]);
- header = header->next;
- }
- }
-
- // print page/line count to STDERR
- int cp = 0, cl = 0;
- page_t *page = doc->page;
- line_t *line;
- while(page) {
- cp++;
- line = page->line;
- cl = 0;
- while(line) {
- cl++;
- line = line->next;
- }
- printf("page %i: %i lines\n", cp, cl);
- page = page->next;
- }
+ if(debug > 0) {
+ markdown_debug(doc, debug);
}
}