authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2019-11-15 15:03:28+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2019-11-15 15:17:59+02:00
log977b6138817c4b09d6d1e47fa3562d9f9e0268a8
tree9279eb9d9029d0969f4253809e528cfa0b8898d6
parente509d21f39af726da3c6001b0c20f2c765be07a5
signaturelock-open Commit is signed but in an unrecognized format.

add container doc comments to generated docs


5 files changed, 27 insertions(+), 16 deletions(-)

lib/std/special/docs/index.html+1-1
...@@ -484,7 +484,7 @@...@@ -484,7 +484,7 @@
484 doc comments.484 doc comments.
485 </p>485 </p>
486 </div>486 </div>
487 <div id="fnDocs" class="hidden"></div>487 <div id="tldDocs" class="hidden"></div>
488 <div id="sectFnErrors" class="hidden">488 <div id="sectFnErrors" class="hidden">
489 <h2>Errors</h2>489 <h2>Errors</h2>
490 <div id="fnErrorsAnyError">490 <div id="fnErrorsAnyError">
lib/std/special/docs/main.js+19-12
...@@ -20,7 +20,7 @@...@@ -20,7 +20,7 @@
20 var domListValues = document.getElementById("listValues");20 var domListValues = document.getElementById("listValues");
21 var domFnProto = document.getElementById("fnProto");21 var domFnProto = document.getElementById("fnProto");
22 var domFnProtoCode = document.getElementById("fnProtoCode");22 var domFnProtoCode = document.getElementById("fnProtoCode");
23 var domFnDocs = document.getElementById("fnDocs");23 var domTldDocs = document.getElementById("tldDocs");
24 var domSectFnErrors = document.getElementById("sectFnErrors");24 var domSectFnErrors = document.getElementById("sectFnErrors");
25 var domListFnErrors = document.getElementById("listFnErrors");25 var domListFnErrors = document.getElementById("listFnErrors");
26 var domTableFnErrors = document.getElementById("tableFnErrors");26 var domTableFnErrors = document.getElementById("tableFnErrors");
...@@ -34,7 +34,6 @@...@@ -34,7 +34,6 @@
34 var domListSearchResults = document.getElementById("listSearchResults");34 var domListSearchResults = document.getElementById("listSearchResults");
35 var domSectSearchNoResults = document.getElementById("sectSearchNoResults");35 var domSectSearchNoResults = document.getElementById("sectSearchNoResults");
36 var domSectInfo = document.getElementById("sectInfo");36 var domSectInfo = document.getElementById("sectInfo");
37 var domListInfo = document.getElementById("listInfo");
38 var domTdTarget = document.getElementById("tdTarget");37 var domTdTarget = document.getElementById("tdTarget");
39 var domTdZigVer = document.getElementById("tdZigVer");38 var domTdZigVer = document.getElementById("tdZigVer");
40 var domHdrName = document.getElementById("hdrName");39 var domHdrName = document.getElementById("hdrName");
...@@ -102,7 +101,7 @@...@@ -102,7 +101,7 @@
102 function render() {101 function render() {
103 domStatus.classList.add("hidden");102 domStatus.classList.add("hidden");
104 domFnProto.classList.add("hidden");103 domFnProto.classList.add("hidden");
105 domFnDocs.classList.add("hidden");104 domTldDocs.classList.add("hidden");
106 domSectPkgs.classList.add("hidden");105 domSectPkgs.classList.add("hidden");
107 domSectTypes.classList.add("hidden");106 domSectTypes.classList.add("hidden");
108 domSectNamespaces.classList.add("hidden");107 domSectNamespaces.classList.add("hidden");
...@@ -190,11 +189,11 @@...@@ -190,11 +189,11 @@
190189
191 var docs = zigAnalysis.astNodes[decl.src].docs;190 var docs = zigAnalysis.astNodes[decl.src].docs;
192 if (docs != null) {191 if (docs != null) {
193 domFnDocs.innerHTML = markdown(docs);192 domTldDocs.innerHTML = markdown(docs);
194 } else {193 } else {
195 domFnDocs.innerHTML = '<p>There are no doc comments for this declaration.</p>';194 domTldDocs.innerHTML = '<p>There are no doc comments for this declaration.</p>';
196 }195 }
197 domFnDocs.classList.remove("hidden");196 domTldDocs.classList.remove("hidden");
198 }197 }
199198
200 function typeIsErrSet(typeIndex) {199 function typeIsErrSet(typeIndex) {
...@@ -274,8 +273,8 @@...@@ -274,8 +273,8 @@
274 docsSource = protoSrcNode.docs;273 docsSource = protoSrcNode.docs;
275 }274 }
276 if (docsSource != null) {275 if (docsSource != null) {
277 domFnDocs.innerHTML = markdown(docsSource);276 domTldDocs.innerHTML = markdown(docsSource);
278 domFnDocs.classList.remove("hidden");277 domTldDocs.classList.remove("hidden");
279 }278 }
280 domFnProto.classList.remove("hidden");279 domFnProto.classList.remove("hidden");
281 }280 }
...@@ -893,8 +892,8 @@...@@ -893,8 +892,8 @@
893892
894 var docs = zigAnalysis.astNodes[decl.src].docs;893 var docs = zigAnalysis.astNodes[decl.src].docs;
895 if (docs != null) {894 if (docs != null) {
896 domFnDocs.innerHTML = markdown(docs);895 domTldDocs.innerHTML = markdown(docs);
897 domFnDocs.classList.remove("hidden");896 domTldDocs.classList.remove("hidden");
898 }897 }
899898
900 domFnProto.classList.remove("hidden");899 domFnProto.classList.remove("hidden");
...@@ -906,8 +905,8 @@...@@ -906,8 +905,8 @@
906905
907 var docs = zigAnalysis.astNodes[decl.src].docs;906 var docs = zigAnalysis.astNodes[decl.src].docs;
908 if (docs != null) {907 if (docs != null) {
909 domFnDocs.innerHTML = markdown(docs);908 domTldDocs.innerHTML = markdown(docs);
910 domFnDocs.classList.remove("hidden");909 domTldDocs.classList.remove("hidden");
911 }910 }
912911
913 domFnProto.classList.remove("hidden");912 domFnProto.classList.remove("hidden");
...@@ -957,6 +956,14 @@...@@ -957,6 +956,14 @@
957 varsList.sort(byNameProperty);956 varsList.sort(byNameProperty);
958 valsList.sort(byNameProperty);957 valsList.sort(byNameProperty);
959958
959 if (container.src != null) {
960 var docs = zigAnalysis.astNodes[container.src].docs;
961 if (docs != null) {
962 domTldDocs.innerHTML = markdown(docs);
963 domTldDocs.classList.remove("hidden");
964 }
965 }
966
960 if (typesList.length !== 0) {967 if (typesList.length !== 0) {
961 resizeDomList(domListTypes, typesList.length, '<li><a href="#"></a></li>');968 resizeDomList(domListTypes, typesList.length, '<li><a href="#"></a></li>');
962 for (var i = 0; i < typesList.length; i += 1) {969 for (var i = 0; i < typesList.length; i += 1) {
lib/std/zig/ast.zig-1
...@@ -2253,7 +2253,6 @@ pub const Node = struct {...@@ -2253,7 +2253,6 @@ pub const Node = struct {
2253test "iterate" {2253test "iterate" {
2254 var root = Node.Root{2254 var root = Node.Root{
2255 .base = Node{ .id = Node.Id.Root },2255 .base = Node{ .id = Node.Id.Root },
2256 .doc_comments = null,
2257 .decls = Node.Root.DeclList.init(std.debug.global_allocator),2256 .decls = Node.Root.DeclList.init(std.debug.global_allocator),
2258 .eof_token = 0,2257 .eof_token = 0,
2259 };2258 };
src/dump_analysis.cpp+1
...@@ -1088,6 +1088,7 @@ static void anal_dump_node(AnalDumpCtx *ctx, const AstNode *node) {...@@ -1088,6 +1088,7 @@ static void anal_dump_node(AnalDumpCtx *ctx, const AstNode *node) {
1088 break;1088 break;
1089 case NodeTypeContainerDecl:1089 case NodeTypeContainerDecl:
1090 field_nodes = &node->data.container_decl.fields;1090 field_nodes = &node->data.container_decl.fields;
1091 doc_comments_buf = &node->data.container_decl.doc_comments;
1091 break;1092 break;
1092 default:1093 default:
1093 break;1094 break;
src/parser.cpp+6-2
...@@ -493,7 +493,9 @@ static AstNode *ast_parse_root(ParseContext *pc) {...@@ -493,7 +493,9 @@ static AstNode *ast_parse_root(ParseContext *pc) {
493 node->data.container_decl.layout = ContainerLayoutAuto;493 node->data.container_decl.layout = ContainerLayoutAuto;
494 node->data.container_decl.kind = ContainerKindStruct;494 node->data.container_decl.kind = ContainerKindStruct;
495 node->data.container_decl.is_root = true;495 node->data.container_decl.is_root = true;
496 node->data.container_decl.doc_comments = members.doc_comments;496 if (buf_len(&members.doc_comments) != 0) {
497 node->data.container_decl.doc_comments = members.doc_comments;
498 }
497499
498 return node;500 return node;
499}501}
...@@ -2817,7 +2819,9 @@ static AstNode *ast_parse_container_decl_auto(ParseContext *pc) {...@@ -2817,7 +2819,9 @@ static AstNode *ast_parse_container_decl_auto(ParseContext *pc) {
28172819
2818 res->data.container_decl.fields = members.fields;2820 res->data.container_decl.fields = members.fields;
2819 res->data.container_decl.decls = members.decls;2821 res->data.container_decl.decls = members.decls;
2820 res->data.container_decl.doc_comments = members.doc_comments;2822 if (buf_len(&members.doc_comments) != 0) {
2823 res->data.container_decl.doc_comments = members.doc_comments;
2824 }
2821 return res;2825 return res;
2822}2826}
28232827