X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=src%2Fviewer.c;h=e3d2651c8fcf190facc728f06a1849706e1c745d;hb=618df4fd72bc78c3012a0987ab9e7183a404b20c;hp=76dc18c219e3eea1bd2cc28ab84ba78c282f7d52;hpb=6f9f33a6a5c7d677b4f4464218c01580a391cf08;p=smdp.git diff --git a/src/viewer.c b/src/viewer.c index 76dc18c..e3d2651 100644 --- a/src/viewer.c +++ b/src/viewer.c @@ -114,7 +114,7 @@ int ncurses_display(deck_t *deck, int notrans, int nofade, int invert) { if(max_lines + bar_top + bar_bottom + 2 > LINES) fprintf(stderr, "You may need to add additional horizontal rules ('***') to split your file in shorter slides.\n"); if(max_cols > COLS) - fprintf(stderr, "Automatic line wrapping is not supported jet. You may need to shorten some lines by inserting line breaks.\n"); + fprintf(stderr, "Automatic line wrapping is not supported yet. You may need to shorten some lines by inserting line breaks.\n"); return(1); } @@ -368,10 +368,40 @@ void add_line(WINDOW *window, int y, int x, line_t *line, int max_cols, int colo char *c; // char pointer for iteration char *special = "\\*_`"; // list of interpreted chars cstack_t *stack = cstack_init(); - + if(line->text->text) { int offset = 0; // text offset + if(CHECK_BIT(line->bits, IS_UNORDERED_LIST_3)) { + offset = next_nonblank(line->text, 0); + char format_s[15]; + strcpy(&format_s[0], CHECK_BIT(line->bits, IS_UNORDERED_LIST_1)? "| " : " "); + strcpy(&format_s[4], CHECK_BIT(line->bits, IS_UNORDERED_LIST_2)? "| " : " "); + strcpy(&format_s[8], line->next && CHECK_BIT(line->next->bits, IS_UNORDERED_LIST_3)? "+-- %s" : "`-- %s"); + mvwprintw(window, + y, x, + format_s, + &line->text->text[offset + 2]); + } else if(CHECK_BIT(line->bits, IS_UNORDERED_LIST_2)) { + offset = next_nonblank(line->text, 0); + char format_s[11]; + strcpy(&format_s[0], CHECK_BIT(line->bits, IS_UNORDERED_LIST_1)? "| " : " "); + strcpy(&format_s[4], line->next && CHECK_BIT(line->next->bits, IS_UNORDERED_LIST_2)? "+-- %s" : "`-- %s"); + mvwprintw(window, + y, x, + format_s, + &line->text->text[offset + 2]); + } else if(CHECK_BIT(line->bits, IS_UNORDERED_LIST_1)) { + offset = next_nonblank(line->text, 0); + char format_s[7]; + strcpy(&format_s[0], line->next && CHECK_BIT(line->next->bits, IS_UNORDERED_LIST_1)? "+-- %s" : "`-- %s"); + mvwprintw(window, + y, x, + format_s, + &line->text->text[offset + 2]); + } else + + // IS_CODE if(CHECK_BIT(line->bits, IS_CODE)) {