aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/man_html.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2018-08-18 02:08:27 +0000
committerIngo Schwarze <schwarze@openbsd.org>2018-08-18 02:08:27 +0000
commit0528debcf5b631def54405f2a163df53d1a9d2c8 (patch)
tree9e033e7adce6bb4a111338f24a7d72d46a7fae5b /man_html.c
parentde2a1122a661dd4bd4004854891d44e87d63c6c2 (diff)
downloadmandoc-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.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/man_html.c b/man_html.c
index ff816bd2..12cf8ea7 100644
--- a/man_html.c
+++ b/man_html.c
@@ -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;