@@ -16,6 +16,27 @@ var esc = R.pipe(R.replace(/&/g, '&'),
1616 R . replace ( / " / g, '"' ) ) ;
1717
1818
19+ //. nbsp :: String -> String
20+ var nbsp = R . replace ( / [ ] / g, '\u00A0' ) ;
21+
22+
23+ //. controlWrapping :: String -> String
24+ var controlWrapping =
25+ R . pipe ( R . split ( ' :: ' ) ,
26+ R . map ( R . split ( ' => ' ) ) ,
27+ R . map ( R . map ( R . split ( / ( [ ( ] [ ^ ( ) ] + [ ) ] ) / ) ) ) ,
28+ R . map ( R . map ( R . append ( '' ) ) ) ,
29+ R . map ( R . map ( R . splitEvery ( 2 ) ) ) ,
30+ R . map ( R . map ( R . map ( R . over ( R . lensIndex ( 1 ) , nbsp ) ) ) ) ,
31+ R . map ( R . map ( R . unnest ) ) ,
32+ R . map ( R . map ( R . map ( R . split ( ' -> ' ) ) ) ) ,
33+ R . map ( R . map ( R . map ( R . map ( nbsp ) ) ) ) ,
34+ R . map ( R . map ( R . map ( R . join ( ' -> ' ) ) ) ) ,
35+ R . map ( R . map ( R . join ( '' ) ) ) ,
36+ R . map ( R . join ( ' => ' ) ) ,
37+ R . join ( ' :: ' ) ) ;
38+
39+
1940//. formatSignature :: Options -> String -> Number -> String -> String
2041var formatSignature = R . curry ( function ( options , filename , line , signature ) {
2142 var tagName = 'h' + String ( options . headingLevel ) ;
@@ -25,7 +46,9 @@ var formatSignature = R.curry(function(options, filename, line, signature) {
2546 return (
2647 '<' + esc ( tagName ) + ' name="' + esc ( signature . split ( ' :: ' ) [ 0 ] ) + '">' +
2748 '<code>' +
28- '<a href="' + esc ( href ) + '">' + esc ( signature ) + '</a>' +
49+ '<a href="' + esc ( href ) + '">' +
50+ esc ( controlWrapping ( signature ) ) +
51+ '</a>' +
2952 '</code>' +
3053 '</' + esc ( tagName ) + '>\n'
3154 ) ;
0 commit comments