diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2018-08-18 02:08:27 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2018-08-18 02:08:27 +0000 |
commit | 0528debcf5b631def54405f2a163df53d1a9d2c8 (patch) | |
tree | 9e033e7adce6bb4a111338f24a7d72d46a7fae5b /man_html.c | |
parent | de2a1122a661dd4bd4004854891d44e87d63c6c2 (diff) | |
download | mandoc-0528debcf5b631def54405f2a163df53d1a9d2c8.tar.gz mandoc-0528debcf5b631def54405f2a163df53d1a9d2c8.tar.zst mandoc-0528debcf5b631def54405f2a163df53d1a9d2c8.zip |
implement the GNU man-ext .SY/.YS (synopsis block) macro in man(7),
used in most manual pages of the groff package
Diffstat (limited to 'man_html.c')
-rw-r--r-- | man_html.c | 26 |
1 files changed, 25 insertions, 1 deletions
@@ -1,4 +1,4 @@ -/* $Id: man_html.c,v 1.155 2018/08/17 20:33:37 schwarze Exp $ */ +/* $Id: man_html.c,v 1.156 2018/08/18 02:08:27 schwarze Exp $ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2013,2014,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org> @@ -61,6 +61,7 @@ static int man_RS_pre(MAN_ARGS); static int man_SH_pre(MAN_ARGS); static int man_SM_pre(MAN_ARGS); static int man_SS_pre(MAN_ARGS); +static int man_SY_pre(MAN_ARGS); static int man_UR_pre(MAN_ARGS); static int man_alt_pre(MAN_ARGS); static int man_ign_pre(MAN_ARGS); @@ -101,6 +102,8 @@ static const struct man_html_act man_html_acts[MAN_MAX - MAN_TH] = { { man_ign_pre, NULL }, /* PD */ { man_ign_pre, NULL }, /* AT */ { man_in_pre, NULL }, /* in */ + { man_SY_pre, NULL }, /* SY */ + { NULL, NULL }, /* YS */ { man_OP_pre, NULL }, /* OP */ { NULL, NULL }, /* EX */ { NULL, NULL }, /* EE */ @@ -622,6 +625,27 @@ man_RS_pre(MAN_ARGS) } static int +man_SY_pre(MAN_ARGS) +{ + switch (n->type) { + case ROFFT_BLOCK: + print_otag(h, TAG_TABLE, "c", "Nm"); + print_otag(h, TAG_TR, ""); + break; + case ROFFT_HEAD: + print_otag(h, TAG_TD, ""); + print_otag(h, TAG_CODE, "cT", "Nm"); + break; + case ROFFT_BODY: + print_otag(h, TAG_TD, ""); + break; + default: + abort(); + } + return 1; +} + +static int man_UR_pre(MAN_ARGS) { char *cp; |