Skip to content

Commit 148bd12

Browse files
committed
fix: Support code blocks with four spaces
Closes #1218.
1 parent 1ec2fb8 commit 148bd12

File tree

5 files changed

+32
-26
lines changed

5 files changed

+32
-26
lines changed

examples/basic/src/modules.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
/**
2-
* ...
2+
* This comment has a code block that is only marked by indentation.
3+
*
4+
* @thisIsADecorator
5+
* class Foo {}
36
*/
47

58
/**

src/lib/converter/factories/comment.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,16 +189,17 @@ export function parseComment(text: string, comment: Comment = new Comment()): Co
189189
}
190190

191191
const CODE_FENCE = /^\s*```(?!.*```)/;
192-
let inCode = false;
192+
let inFencedCode = false;
193193
function readLine(line: string) {
194194
line = line.replace(/^\s*\*? ?/, '');
195195
line = line.replace(/\s*$/, '');
196196

197-
if (CODE_FENCE.test(line) ) {
198-
inCode = !inCode;
197+
if (CODE_FENCE.test(line)) {
198+
inFencedCode = !inFencedCode;
199199
}
200200

201-
if (!inCode) {
201+
// Four spaces can be used to make code blocks too.
202+
if (!inFencedCode && !line.startsWith(' ')) {
202203
const tag = /^\s*@(\S+)(.*)$/.exec(line);
203204
if (tag) {
204205
return readTagLine(line, tag);

src/test/renderer/specs/modules/_modules_.html

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,10 @@ <h1>External module &quot;modules&quot;</h1>
6969
<section class="tsd-panel tsd-comment">
7070
<div class="tsd-comment tsd-typography">
7171
<div class="lead">
72-
<p>...</p>
72+
<p>This comment has a code block that is only marked by indentation.</p>
7373
</div>
74+
<pre><code>@thisIsADecorator
75+
<span class="hljs-keyword">class</span> <span class="hljs-symbol">Foo</span> {}</code></pre>
7476
</div>
7577
</section>
7678
<section class="tsd-panel-group tsd-index-group">
@@ -108,7 +110,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> exported<wbr>Global<wbr>Variabl
108110
<div class="tsd-signature tsd-kind-icon">exported<wbr>Global<wbr>Variable<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;foo&quot;</span></div>
109111
<aside class="tsd-sources">
110112
<ul>
111-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L49">modules.ts:49</a></li>
113+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L52">modules.ts:52</a></li>
112114
</ul>
113115
</aside>
114116
<div class="tsd-comment tsd-typography">
@@ -123,7 +125,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> global<wbr>Variable</h3>
123125
<div class="tsd-signature tsd-kind-icon">global<wbr>Variable<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;foo&quot;</span></div>
124126
<aside class="tsd-sources">
125127
<ul>
126-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L54">modules.ts:54</a></li>
128+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L57">modules.ts:57</a></li>
127129
</ul>
128130
</aside>
129131
<div class="tsd-comment tsd-typography">
@@ -138,7 +140,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> type<wbr>Literal</h3>
138140
<div class="tsd-signature tsd-kind-icon">type<wbr>Literal<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>valueA<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>valueB<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>valueX<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>valueA<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span>valueY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>z<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-symbol">{ </span>a<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>b<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>valueZ<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>valueY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>valueZ<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div>
139141
<aside class="tsd-sources">
140142
<ul>
141-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L71">modules.ts:71</a></li>
143+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L74">modules.ts:74</a></li>
142144
</ul>
143145
</aside>
144146
<div class="tsd-type-declaration">
@@ -230,7 +232,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> object<wbr>Literal</h3>
230232
<div class="tsd-signature tsd-kind-icon">object<wbr>Literal<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
231233
<aside class="tsd-sources">
232234
<ul>
233-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L59">modules.ts:59</a></li>
235+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L62">modules.ts:62</a></li>
234236
</ul>
235237
</aside>
236238
<div class="tsd-comment tsd-typography">
@@ -244,7 +246,7 @@ <h3>valueA</h3>
244246
<div class="tsd-signature tsd-kind-icon">valueA<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 100</span></div>
245247
<aside class="tsd-sources">
246248
<ul>
247-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L67">modules.ts:67</a></li>
249+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L70">modules.ts:70</a></li>
248250
</ul>
249251
</aside>
250252
</section>
@@ -254,7 +256,7 @@ <h3>valueB</h3>
254256
<div class="tsd-signature tsd-kind-icon">valueB<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></div>
255257
<aside class="tsd-sources">
256258
<ul>
257-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L68">modules.ts:68</a></li>
259+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L71">modules.ts:71</a></li>
258260
</ul>
259261
</aside>
260262
</section>
@@ -264,7 +266,7 @@ <h3>valueZ</h3>
264266
<div class="tsd-signature tsd-kind-icon">valueZ<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;foo&quot;</span></div>
265267
<aside class="tsd-sources">
266268
<ul>
267-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L60">modules.ts:60</a></li>
269+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L63">modules.ts:63</a></li>
268270
</ul>
269271
</aside>
270272
</section>
@@ -278,7 +280,7 @@ <h3>valueY</h3>
278280
<li class="tsd-description">
279281
<aside class="tsd-sources">
280282
<ul>
281-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L61">modules.ts:61</a></li>
283+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L64">modules.ts:64</a></li>
282284
</ul>
283285
</aside>
284286
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
@@ -291,7 +293,7 @@ <h3>valueX</h3>
291293
<div class="tsd-signature tsd-kind-icon">valueX<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
292294
<aside class="tsd-sources">
293295
<ul>
294-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L62">modules.ts:62</a></li>
296+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L65">modules.ts:65</a></li>
295297
</ul>
296298
</aside>
297299
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
@@ -300,7 +302,7 @@ <h3>valueA</h3>
300302
<div class="tsd-signature tsd-kind-icon">valueA<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = [100, 200, 300]</span></div>
301303
<aside class="tsd-sources">
302304
<ul>
303-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L65">modules.ts:65</a></li>
305+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L68">modules.ts:68</a></li>
304306
</ul>
305307
</aside>
306308
</section>
@@ -310,7 +312,7 @@ <h3>valueZ</h3>
310312
<div class="tsd-signature tsd-kind-icon">valueZ<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;foo&quot;</span></div>
311313
<aside class="tsd-sources">
312314
<ul>
313-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L63">modules.ts:63</a></li>
315+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L66">modules.ts:66</a></li>
314316
</ul>
315317
</aside>
316318
</section>
@@ -324,7 +326,7 @@ <h3>valueY</h3>
324326
<li class="tsd-description">
325327
<aside class="tsd-sources">
326328
<ul>
327-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L64">modules.ts:64</a></li>
329+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L67">modules.ts:67</a></li>
328330
</ul>
329331
</aside>
330332
<h4 class="tsd-parameters-title">Parameters</h4>

src/test/renderer/specs/modules/_modules_.mymodule.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> exported<wbr>Module<wbr>Variabl
111111
<div class="tsd-signature tsd-kind-icon">exported<wbr>Module<wbr>Variable<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;foo&quot;</span></div>
112112
<aside class="tsd-sources">
113113
<ul>
114-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L31">modules.ts:31</a></li>
114+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L34">modules.ts:34</a></li>
115115
</ul>
116116
</aside>
117117
</section>
@@ -121,7 +121,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> module<wbr>Variable</h3>
121121
<div class="tsd-signature tsd-kind-icon">module<wbr>Variable<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = [100, 200]</span></div>
122122
<aside class="tsd-sources">
123123
<ul>
124-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L33">modules.ts:33</a></li>
124+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L36">modules.ts:36</a></li>
125125
</ul>
126126
</aside>
127127
</section>
@@ -131,7 +131,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> module<wbr>Variable2</h3>
131131
<div class="tsd-signature tsd-kind-icon">module<wbr>Variable2<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span></div>
132132
<aside class="tsd-sources">
133133
<ul>
134-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L35">modules.ts:35</a></li>
134+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L38">modules.ts:38</a></li>
135135
</ul>
136136
</aside>
137137
</section>
@@ -144,7 +144,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> object</h3>
144144
<div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
145145
<aside class="tsd-sources">
146146
<ul>
147-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L12">modules.ts:12</a></li>
147+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L15">modules.ts:15</a></li>
148148
</ul>
149149
</aside>
150150
<div class="tsd-comment tsd-typography">
@@ -158,7 +158,7 @@ <h3>name</h3>
158158
<div class="tsd-signature tsd-kind-icon">name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;Test&quot;</span></div>
159159
<aside class="tsd-sources">
160160
<ul>
161-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L16">modules.ts:16</a></li>
161+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L19">modules.ts:19</a></li>
162162
</ul>
163163
</aside>
164164
<div class="tsd-comment tsd-typography">
@@ -177,7 +177,7 @@ <h3>print</h3>
177177
<li class="tsd-description">
178178
<aside class="tsd-sources">
179179
<ul>
180-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L21">modules.ts:21</a></li>
180+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L24">modules.ts:24</a></li>
181181
</ul>
182182
</aside>
183183
<div class="tsd-comment tsd-typography">

src/test/renderer/specs/modules/_modules_.mymodule.mysubmodule.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> a</h3>
101101
<div class="tsd-signature tsd-kind-icon">a<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
102102
<aside class="tsd-sources">
103103
<ul>
104-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L28">modules.ts:28</a></li>
104+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L31">modules.ts:31</a></li>
105105
</ul>
106106
</aside>
107107
</section>
@@ -111,7 +111,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> b</h3>
111111
<div class="tsd-signature tsd-kind-icon">b<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
112112
<aside class="tsd-sources">
113113
<ul>
114-
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L43">modules.ts:43</a></li>
114+
<li>Defined in <a href="https://github.com/sebastian-lenz/typedoc/blob/master/examples/basic/src/modules.ts#L46">modules.ts:46</a></li>
115115
</ul>
116116
</aside>
117117
</section>

0 commit comments

Comments
 (0)