aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/html.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-01-19 01:00:14 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-01-19 01:00:14 +0000
commite73d0cb63df953bf695636bd8906deb316a6d718 (patch)
tree4bb6eb8a77bb9910bb56020230e368e58e5794f6 /html.h
parentc1f44d16f40aa0b6a571293bf1153e34ca40bedf (diff)
downloadmandoc-e73d0cb63df953bf695636bd8906deb316a6d718.tar.gz
mandoc-e73d0cb63df953bf695636bd8906deb316a6d718.tar.zst
mandoc-e73d0cb63df953bf695636bd8906deb316a6d718.zip
Implement line breaking of the generated HTML code at space characters
in filled text. This does not affect HTML semantics, but makes the HTML code even more humanly readable. While here, - collapse multiple consecutive space characters in filled text - and insert a blank between style entries.
Diffstat (limited to 'html.h')
-rw-r--r--html.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/html.h b/html.h
index 1a4d559b..f788d73e 100644
--- a/html.h
+++ b/html.h
@@ -1,4 +1,4 @@
-/* $Id: html.h,v 1.76 2017/01/18 19:22:22 schwarze Exp $ */
+/* $Id: html.h,v 1.77 2017/01/19 01:00:14 schwarze Exp $ */
/*
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -95,9 +95,12 @@ struct html {
#define HTML_NOSPLIT (1 << 7) /* do not break line before .An */
#define HTML_SPLIT (1 << 8) /* break line before .An */
#define HTML_NONEWLINE (1 << 9) /* No line break in nofill mode. */
-#define HTML_NLDONE (1 << 10) /* Just started a new line of HTML. */
- int indent; /* current output indentation level */
+#define HTML_BUFFER (1 << 10) /* Collect a word to see if it fits. */
+ size_t indent; /* current output indentation level */
int noindent; /* indent disabled by <pre> */
+ size_t col; /* current output byte position */
+ size_t bufcol; /* current buf byte position */
+ char buf[80]; /* output buffer */
struct tagq tags; /* stack of open tags */
struct rofftbl tbl; /* current table */
struct tag *tblt; /* current open table scope */