summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/packages/docutils/rstgen.nim12
-rw-r--r--lib/packages/docutils/rstidx.nim9
2 files changed, 15 insertions, 6 deletions
diff --git a/lib/packages/docutils/rstgen.nim b/lib/packages/docutils/rstgen.nim
index 57bc00fcb..ec9926863 100644
--- a/lib/packages/docutils/rstgen.nim
+++ b/lib/packages/docutils/rstgen.nim
@@ -591,10 +591,16 @@ proc readIndexDir*(dir: string):
     if path.endsWith(IndexExt):
       var (fileEntries, title) = parseIdxFile(path)
       # Depending on type add this to the list of symbols or table of APIs.
-      if title.kind == ieNimTitle:
+      if title.kind in {ieNimTitle, ieIdxRole}:
         for i in 0 ..< fileEntries.len:
-          if fileEntries[i].kind != ieNim:
-            continue
+          if title.kind == ieIdxRole:
+            # Don't add to symbols TOC entries (they start with a whitespace).
+            let toc = fileEntries[i].linkTitle
+            if toc.len > 0 and toc[0] == ' ':
+              continue
+          else:
+            if fileEntries[i].kind != ieNim:
+              continue
           # Ok, non TOC entry, add it.
           setLen(result.symbols, L + 1)
           result.symbols[L] = fileEntries[i]
diff --git a/lib/packages/docutils/rstidx.nim b/lib/packages/docutils/rstidx.nim
index c109636d7..c48f44300 100644
--- a/lib/packages/docutils/rstidx.nim
+++ b/lib/packages/docutils/rstidx.nim
@@ -109,16 +109,19 @@ proc parseIdxFile*(path: string):
     result.fileEntries[f].kind = parseIndexEntryKind(cols[0])
     result.fileEntries[f].keyword = cols[1]
     result.fileEntries[f].link = cols[2]
-    if result.title.keyword.len == 0:
+    if result.fileEntries[f].kind == ieIdxRole:
       result.fileEntries[f].module = base
     else:
-      result.fileEntries[f].module = result.title.keyword
+      if result.title.keyword.len == 0:
+        result.fileEntries[f].module = base
+      else:
+        result.fileEntries[f].module = result.title.keyword
 
     result.fileEntries[f].linkTitle = cols[3].unquoteIndexColumn
     result.fileEntries[f].linkDesc = cols[4].unquoteIndexColumn
     result.fileEntries[f].line = parseInt(cols[5])
 
-    if result.fileEntries[f].kind in {ieNimTitle, ieMarkupTitle}:
+    if result.fileEntries[f].kind in {ieNimTitle, ieMarkupTitle, ieIdxRole}:
       result.title = result.fileEntries[f]
     inc f
 
01:27:25 +0100 committer Araq <rumpf_a@web.de> 2012-11-15 01:27:25 +0100 bugfix: stack traces; first class iterators almost working' href='/ahoang/Nim/commit/tests/run/titer8.nim?h=devel&id=814fcb263939e8127eb89c379c448f481df14dbd'>814fcb263 ^
1fada12a5 ^
7a2c11d3c ^

1fada12a5 ^

814fcb263 ^
1fada12a5 ^
7a2c11d3c ^


e80465dac ^
7a2c11d3c ^








dd9ad9e49 ^
7a2c11d3c ^



7f6633a06 ^



dd9ad9e49 ^
7f6633a06 ^

























1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117