在Haddock中,“内联代码”¹标记<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="msapplication-tap-highlight" content="no" />
<access origin="*" />
<!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src http://google.com">
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
</head>
<body>
<div class="app">
<h1>PhoneGap</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
var start = Date.now();
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
if(xmlhttp.status == 200){
//alert(Date.now() - start);
alert("yeah");
}
else if(xmlhttp.status == 400) {
alert('There was an error 400');
}
else {
alert("else: " + xmlhttp.status);
}
}
}
xmlhttp.open("GET", "http://google.com", true);
xmlhttp.send();
</script>
</body>
与“代码块”标记相同,
@...@
如何编写仅包含内联代码范围的单行Haddock注释,而不会将其误解为块?像
这样的评论@
...
@
呈现为块
code span
而不是所需的内联
-- |@/code/ span@
在更多示例帮助的情况下,上下文是我正在编写表示BNF语法的数据类型,因此我有许多类型如下所示:
code span
此示例对应于语法
term ::= name | term + term | print term
因此语法嵌入在Haddock评论中。但是,由于Haddock将这些-- |@/term/ ::=@
data Term = Var Name -- ^@/name/@
| Plus Term Term -- ^@/term/ + /term/@
| Print Term -- ^@print /term/@
注释解析为块,因此输出不必要地高,并且当某些行具有额外的注释文本(例如,@...@
)时不一致。
¹A.k.a。 “monospaced”或“打字机”。
答案 0 :(得分:1)
这是一个建议的肮脏黑客。你的问题是你的行只有代码而不是文本,对吗?好吧,只需在代码之后添加一些无意义的文本。您可以使用&#xH;
格式插入unicode字符的十六进制代码,例如零宽度或不间断空格。我想这会让你说服黑线鳕你是在内联而不是阻止上下文。