diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-07-17 22:38:29 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-07-17 22:38:29 +0000 |
commit | 7cdeeeae6409bfe474baf9dd555cf51d8212d6ed (patch) | |
tree | a478c8d9379a05b3382406a30c1149d50e7700dc /term_ascii.c | |
parent | 2b56f6d999fa4eaa5790ac8a55e49a0060a44a7f (diff) | |
download | mandoc-7cdeeeae6409bfe474baf9dd555cf51d8212d6ed.tar.gz |
Initial, still somewhat experimental implementation to leverage
less(1) -T and :t ctags(1)-like functionality to jump to the
definitions of various terms inside manual pages.
To be polished in the tree, so bear with me and report issues.
Technically, if less(1) is used as a pager, information is collected
by the mdoc(7) terminal formatter, first stored using the ohash
library, then ultimately written to a temporary file which is passed
to less via -T. No change intended for other output formatters or
when running without a pager.
Based on an idea from Kristaps using feedback from many, in particular
phessler@ nicm@ millert@ halex@ doug@ kspillner@ deraadt@.
Diffstat (limited to 'term_ascii.c')
-rw-r--r-- | term_ascii.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/term_ascii.c b/term_ascii.c index d210c812..596c1142 100644 --- a/term_ascii.c +++ b/term_ascii.c @@ -70,6 +70,7 @@ ascii_init(enum termenc enc, const struct mchars *mchars, p = mandoc_calloc(1, sizeof(struct termp)); p->symtab = mchars; + p->line = 1; p->tabwidth = 5; p->defrmargin = p->lastrmargin = 78; p->fontq = mandoc_reallocarray(NULL, @@ -163,6 +164,7 @@ ascii_sepline(void *arg) size_t i; p = (struct termp *)arg; + p->line += 3; putchar('\n'); for (i = 0; i < p->defrmargin; i++) putchar('-'); @@ -209,6 +211,7 @@ static void ascii_endline(struct termp *p) { + p->line++; putchar('\n'); } @@ -365,6 +368,7 @@ static void locale_endline(struct termp *p) { + p->line++; putwchar(L'\n'); } |