Skip to content

Commit 9c76a0f

Browse files
authored
Support enumsynopsis in the most minimal way (php#179)
1 parent 1528413 commit 9c76a0f

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

phpdotnet/phd/Package/Generic/XHTML.php

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,16 @@ abstract class Package_Generic_XHTML extends Format_Abstract_XHTML {
191191
'classsynopsisinfo' => 'format_classsynopsisinfo_oointerface_interfacename',
192192
),
193193
),
194+
/** Enum synopsis related */
195+
'enumsynopsis' => 'format_enumsynopsis',
196+
'enumname' => [
197+
/* DEFAULT */ 'span',
198+
'enumsynopsis' => 'format_enumsynopsis_enumname'
199+
],
200+
'enumitem' => 'format_enumitem',
201+
'enumidentifier' => 'format_enumidentifier',
202+
'enumvalue' => 'format_enumvalue',
203+
'enumitemdescription' => 'format_enumitemdescription',
194204
'option' => 'format_option',
195205
'orderedlist' => 'format_orderedlist',
196206
'para' => array(
@@ -1205,6 +1215,48 @@ public function format_classsynopsis_methodsynopsis_methodname_text($value, $tag
12051215
return $method;
12061216
}
12071217

1218+
public function format_enumsynopsis($open, $name, $attrs, $props) {
1219+
if ($open) {
1220+
//return '<div class="enumsynopsis">';
1221+
return '<div class="classsynopsis"><div class="classsynopsisinfo">';
1222+
} else {
1223+
return '}</div>';
1224+
}
1225+
}
1226+
public function format_enumsynopsis_enumname($open, $name, $attrs, $props): string {
1227+
if ($open) {
1228+
/** Actual enum name in bold */
1229+
return '<span class="modifier">enum</span> <strong class="classname">';
1230+
//return '<span class="modifier">enum</span> <strong class="enumname">';
1231+
}
1232+
//return "</strong><br/>{<br/>";
1233+
return "</strong><br/>{</div>";
1234+
}
1235+
public function format_enumitem($open, $name, $attrs, $props) {
1236+
if ($open) {
1237+
return '<div class="fieldsynopsis">';
1238+
}
1239+
return '</div>';
1240+
}
1241+
public function format_enumidentifier($open, $name, $attrs, $props) {
1242+
if ($open) {
1243+
return ' <span class="modifier">case</span> <span class="classname">';
1244+
}
1245+
return '</span>';
1246+
}
1247+
public function format_enumvalue($open, $name, $attrs, $props) {
1248+
if ($open) {
1249+
return ' = ';
1250+
}
1251+
return '';
1252+
}
1253+
public function format_enumitemdescription($open, $name, $attrs, $props) {
1254+
if ($open) {
1255+
return ';<br/>/** ';
1256+
}
1257+
return ' */';
1258+
}
1259+
12081260
public function format_emphasis($open, $name, $attrs)
12091261
{
12101262
$name = "em";

0 commit comments

Comments
 (0)