summaryrefslogtreecommitdiffstats
path: root/mandoc.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2012-05-27 17:54:54 +0000
committerIngo Schwarze <schwarze@openbsd.org>2012-05-27 17:54:54 +0000
commitaa6d8ba46cf4b68619e16a7ea8a8cc36f3f3bfc5 (patch)
tree5cdde1b58ea03076e8fb7d09e8baca289fe978ac /mandoc.h
parentcc286dde362eb32238e74c6bd62962a7ffe6e872 (diff)
downloadmandoc-aa6d8ba46cf4b68619e16a7ea8a8cc36f3f3bfc5.tar.gz
Do not handle vertical lines as additional tbl(7) columns,
instead save their properties with the following column. This simplifies layout parsing and saves a lot of code related to column handling. At output time, print all white space and vertical lines separating columns before printing the following column, and none after printing the preceding column, considerably simplifying white space handling and width calculations. No functional change, but it saves 150 lines of code, and it allows the next patch to tbl_term.c, tbl_literal(). "Please check them in and I'll look into them later!" kristaps@
Diffstat (limited to 'mandoc.h')
-rw-r--r--mandoc.h11
1 files changed, 2 insertions, 9 deletions
diff --git a/mandoc.h b/mandoc.h
index a24db913..bd7dfdc1 100644
--- a/mandoc.h
+++ b/mandoc.h
@@ -175,20 +175,14 @@ struct tbl {
int cols; /* number of columns */
};
-enum tbl_headt {
- TBL_HEAD_DATA, /* plug in data from tbl_dat */
- TBL_HEAD_VERT, /* vertical spacer */
- TBL_HEAD_DVERT /* double-vertical spacer */
-};
-
/*
* The head of a table specifies all of its columns. When formatting a
* tbl_span, iterate over these and plug in data from the tbl_span when
* appropriate, using tbl_cell as a guide to placement.
*/
struct tbl_head {
- enum tbl_headt pos;
int ident; /* 0 <= unique id < cols */
+ int vert; /* width of preceding vertical line */
struct tbl_head *next;
struct tbl_head *prev;
};
@@ -203,8 +197,6 @@ enum tbl_cellt {
TBL_CELL_DOWN, /* ^ */
TBL_CELL_HORIZ, /* _, - */
TBL_CELL_DHORIZ, /* = */
- TBL_CELL_VERT, /* | */
- TBL_CELL_DVERT, /* || */
TBL_CELL_MAX
};
@@ -213,6 +205,7 @@ enum tbl_cellt {
*/
struct tbl_cell {
struct tbl_cell *next;
+ int vert; /* width of preceding vertical line */
enum tbl_cellt pos;
size_t spacing;
int flags;