X-Git-Url: https://git.cameronkatri.com/mandoc.git/blobdiff_plain/36f3b252438a51f80a6bbeebdb13fb0b11dc7213..767fc8584f19cfc0b04f9395f95211bfdae21acd:/man.h?ds=inline diff --git a/man.h b/man.h index 21c1a321..6d9f3ced 100644 --- a/man.h +++ b/man.h @@ -1,4 +1,4 @@ -/* $Id: man.h,v 1.45 2010/10/04 07:01:02 kristaps Exp $ */ +/* $Id: man.h,v 1.52 2011/02/06 21:44:36 kristaps Exp $ */ /* * Copyright (c) 2009, 2010 Kristaps Dzonsons * @@ -43,21 +43,17 @@ enum mant { MAN_IR, MAN_RI, MAN_na, - MAN_i, MAN_sp, MAN_nf, MAN_fi, - MAN_r, MAN_RE, MAN_RS, MAN_DT, MAN_UC, MAN_PD, - MAN_Sp, - MAN_Vb, - MAN_Ve, MAN_AT, MAN_in, + MAN_ft, MAN_MAX }; @@ -70,7 +66,9 @@ enum man_type { MAN_ROOT, MAN_BLOCK, MAN_HEAD, - MAN_BODY + MAN_BODY, + MAN_TBL, + MAN_EQN }; /* @@ -99,12 +97,13 @@ struct man_node { enum mant tok; /* tok or MAN__MAX if none */ int flags; #define MAN_VALID (1 << 0) /* has been validated */ -#define MAN_ACTED (1 << 1) /* has been acted upon */ #define MAN_EOS (1 << 2) /* at sentence boundary */ +#define MAN_LINE (1 << 3) /* first macro/text on line */ enum man_type type; /* AST node type */ char *string; /* TEXT node argument */ struct man_node *head; /* BLOCK node HEAD ptr */ struct man_node *body; /* BLOCK node BODY ptr */ + const struct tbl_span *span; /* TBL */ }; /* @@ -122,6 +121,8 @@ struct man *man_alloc(struct regset *, void *, mandocmsg); void man_reset(struct man *); int man_parseln(struct man *, int, char *, int); int man_endparse(struct man *); +int man_addspan(struct man *, + const struct tbl_span *); const struct man_node *man_node(const struct man *); const struct man_meta *man_meta(const struct man *);