-/* $Id: mdocterm.c,v 1.27 2009/03/03 21:07:01 kristaps Exp $ */
+/* $Id: mdocterm.c,v 1.32 2009/03/04 14:41:40 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
static struct termenc termenc2[] = {
{ "rB", TERMSYM_RBRACK },
{ "lB", TERMSYM_LBRACK },
+ { "ra", TERMSYM_RANGLE },
+ { "la", TERMSYM_LANGLE },
{ "Lq", TERMSYM_LDQUOTE },
{ "lq", TERMSYM_LDQUOTE },
{ "Rq", TERMSYM_RDQUOTE },
{ "Le", TERMSYM_LE },
{ "<=", TERMSYM_LE },
{ "Ge", TERMSYM_GE },
- { "=>", TERMSYM_GE },
+ { ">=", TERMSYM_GE },
{ "==", TERMSYM_EQ },
{ "Ne", TERMSYM_NEQ },
{ "!=", TERMSYM_NEQ },
{ " ", 1 }, /* TERMSYM_SPACE */
{ ".", 1 }, /* TERMSYM_PERIOD */
{ "", 0 }, /* TERMSYM_BREAK */
+ { "<", 1 }, /* TERMSYM_LANGLE */
+ { ">", 1 }, /* TERMSYM_RANGLE */
};
static const char ansi_clear[] = { 27, '[', '0', 'm' };
if (NULL == (mdoc = mmain_mdoc(p)))
mmain_exit(p, 1);
- termp.maxrmargin = 78; /* XXX */
- termp.rmargin = termp.maxrmargin;
+ termp.maxrmargin = termp.rmargin = 78; /* XXX */
termp.maxcols = 1024;
termp.offset = termp.col = 0;
termp.flags = TERMP_NOSPACE;
* offset value. This is useful when doing columnar lists where the
* prior column has right-padded.
*
- * - TERMP_LITERAL: don't break apart words. Note that a long literal
- * word will violate the right margin.
- *
* - TERMP_NOBREAK: this is the most important and is used when making
* columns. In short: don't print a newline and instead pad to the
* right margin. Used in conjunction with TERMP_NOLPAD.
putchar('\n');
for (j = 0; j < p->rmargin; j++)
putchar(' ');
- vis = p->rmargin;
+ vis = p->rmargin - p->offset;
} else if (vis + vsz > bp)
warnx("word breaks right margin");
*/
if ((TERMP_NOBREAK & p->flags) && vis >= maxvis) {
- putchar('\n');
- for (i = 0; i < p->rmargin; i++)
- putchar(' ');
+ if ( ! (TERMP_NONOBREAK & p->flags)) {
+ putchar('\n');
+ for (i = 0; i < p->rmargin; i++)
+ putchar(' ');
+ }
p->col = 0;
return;
}
*/
if (p->flags & TERMP_NOBREAK) {
- for ( ; vis < maxvis; vis++)
- putchar(' ');
+ if ( ! (TERMP_NONOBREAK & p->flags))
+ for ( ; vis < maxvis; vis++)
+ putchar(' ');
} else
putchar('\n');