GoPLS Viewer

Home|gopls/godoc/static/package.html
1<!--
2    Copyright 2009 The Go Authors. All rights reserved.
3    Use of this source code is governed by a BSD-style
4    license that can be found in the LICENSE file.
5-->
6<!--
7    Note: Static (i.e., not template-generated) href and id
8    attributes start with "pkg-" to make it impossible for
9    them to conflict with generated attributes (some of which
10    correspond to Go identifiers).
11-->
12{{with .PDoc}}
13    <script>
14    document.ANALYSIS_DATA = {{$.AnalysisData}};
15    document.CALLGRAPH = {{$.CallGraph}};
16    </script>
17
18    {{if $.IsMain}}
19        {{/* command documentation */}}
20        {{comment_html $ .Doc}}
21    {{else}}
22        {{/* package documentation */}}
23        <div id="short-nav">
24            <dl>
25            <dd><code>import "{{html .ImportPath}}"</code></dd>
26            </dl>
27            <dl>
28            <dd><a href="#pkg-overview" class="overviewLink">Overview</a></dd>
29            <dd><a href="#pkg-index" class="indexLink">Index</a></dd>
30            {{if $.Examples}}
31                <dd><a href="#pkg-examples" class="examplesLink">Examples</a></dd>
32            {{end}}
33            {{if $.Dirs}}
34                <dd><a href="#pkg-subdirectories">Subdirectories</a></dd>
35            {{end}}
36            </dl>
37        </div>
38        <!-- The package's Name is printed as title by the top-level template -->
39        <div id="pkg-overview" class="toggleVisible">
40            <div class="collapsed">
41                <h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
42            </div>
43            <div class="expanded">
44                <h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
45                {{comment_html $ .Doc}}
46                {{example_html $ ""}}
47            </div>
48        </div>
49
50        <div id="pkg-index" class="toggleVisible">
51        <div class="collapsed">
52            <h2 class="toggleButton" title="Click to show Index section">Index ▹</h2>
53        </div>
54        <div class="expanded">
55            <h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2>
56
57        <!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
58            <div id="manual-nav">
59            <dl>
60            {{if .Consts}}
61                <dd><a href="#pkg-constants">Constants</a></dd>
62            {{end}}
63            {{if .Vars}}
64                <dd><a href="#pkg-variables">Variables</a></dd>
65            {{end}}
66            {{range .Funcs}}
67                {{$name_html := html .Name}}
68                <dd><a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
69            {{end}}
70            {{range .Types}}
71                {{$tname_html := html .Name}}
72                <dd><a href="#{{$tname_html}}">type {{$tname_html}}</a></dd>
73                {{range .Funcs}}
74                    {{$name_html := html .Name}}
75                    <dd>&nbsp; &nbsp; <a href="#{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
76                {{end}}
77                {{range .Methods}}
78                    {{$name_html := html .Name}}
79                    <dd>&nbsp; &nbsp; <a href="#{{$tname_html}}.{{$name_html}}">{{node_html $ .Decl false | sanitize}}</a></dd>
80                {{end}}
81            {{end}}
82            {{if $.Notes}}
83                {{range $marker, $item := $.Notes}}
84                <dd><a href="#pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</a></dd>
85                {{end}}
86            {{end}}
87            </dl>
88            </div><!-- #manual-nav -->
89
90        {{if $.Examples}}
91        <div id="pkg-examples">
92            <h3>Examples</h3>
93            <div class="js-expandAll expandAll collapsed">(Expand All)</div>
94            <dl>
95            {{range $.Examples}}
96            <dd><a class="exampleLink" href="#example_{{.Name}}">{{example_name .Name}}</a></dd>
97            {{end}}
98            </dl>
99        </div>
100        {{end}}
101
102        {{with .Filenames}}
103            <h3>Package files</h3>
104            <p>
105            <span style="font-size:90%">
106            {{range .}}
107                <a href="{{.|srcLink|html}}">{{.|filename|html}}</a>
108            {{end}}
109            </span>
110            </p>
111        {{end}}
112        </div><!-- .expanded -->
113        </div><!-- #pkg-index -->
114
115        {{if ne $.CallGraph "null"}}
116        <div id="pkg-callgraph" class="toggle" style="display: none">
117        <div class="collapsed">
118            <h2 class="toggleButton" title="Click to show Internal Call Graph section">Internal call graph ▹</h2>
119        </div> <!-- .expanded -->
120        <div class="expanded">
121            <h2 class="toggleButton" title="Click to hide Internal Call Graph section">Internal call graph ▾</h2>
122            <p>
123              In the call graph viewer below, each node
124              is a function belonging to this package
125              and its children are the functions it
126              calls&mdash;perhaps dynamically.
127            </p>
128            <p>
129              The root nodes are the entry points of the
130              package: functions that may be called from
131              outside the package.
132              There may be non-exported or anonymous
133              functions among them if they are called
134              dynamically from another package.
135            </p>
136            <p>
137              Click a node to visit that function's source code.
138              From there you can visit its callers by
139              clicking its declaring <code>func</code>
140              token.
141            </p>
142            <p>
143              Functions may be omitted if they were
144              determined to be unreachable in the
145              particular programs or tests that were
146              analyzed.
147            </p>
148            <!-- Zero means show all package entry points. -->
149            <ul style="margin-left: 0.5in" id="callgraph-0" class="treeview"></ul>
150        </div>
151        </div> <!-- #pkg-callgraph -->
152        {{end}}
153
154        {{with .Consts}}
155            <h2 id="pkg-constants">Constants</h2>
156            {{range .}}
157                {{comment_html $ .Doc}}
158                <pre>{{node_html $ .Decl true}}</pre>
159            {{end}}
160        {{end}}
161        {{with .Vars}}
162            <h2 id="pkg-variables">Variables</h2>
163            {{range .}}
164                {{comment_html $ .Doc}}
165                <pre>{{node_html $ .Decl true}}</pre>
166            {{end}}
167        {{end}}
168        {{range .Funcs}}
169            {{/* Name is a string - no need for FSet */}}
170            {{$name_html := html .Name}}
171            <h2 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
172                <a class="permalink" href="#{{$name_html}}">&#xb6;</a>
173                {{$since := since "func" "" .Name $.PDoc.ImportPath}}
174                {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
175            </h2>
176            <pre>{{node_html $ .Decl true}}</pre>
177            {{comment_html $ .Doc}}
178            {{example_html $ .Name}}
179            {{callgraph_html $ "" .Name}}
180
181        {{end}}
182        {{range .Types}}
183            {{$tname := .Name}}
184            {{$tname_html := html .Name}}
185            <h2 id="{{$tname_html}}">type <a href="{{posLink_url $ .Decl}}">{{$tname_html}}</a>
186                <a class="permalink" href="#{{$tname_html}}">&#xb6;</a>
187                {{$since := since "type" "" .Name $.PDoc.ImportPath}}
188                {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
189            </h2>
190            {{comment_html $ .Doc}}
191            <pre>{{node_html $ .Decl true}}</pre>
192
193            {{range .Consts}}
194                {{comment_html $ .Doc}}
195                <pre>{{node_html $ .Decl true}}</pre>
196            {{end}}
197
198            {{range .Vars}}
199                {{comment_html $ .Doc}}
200                <pre>{{node_html $ .Decl true}}</pre>
201            {{end}}
202
203            {{example_html $ $tname}}
204            {{implements_html $ $tname}}
205            {{methodset_html $ $tname}}
206
207            {{range .Funcs}}
208                {{$name_html := html .Name}}
209                <h3 id="{{$name_html}}">func <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
210                    <a class="permalink" href="#{{$name_html}}">&#xb6;</a>
211                    {{$since := since "func" "" .Name $.PDoc.ImportPath}}
212                    {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
213                </h3>
214                <pre>{{node_html $ .Decl true}}</pre>
215                {{comment_html $ .Doc}}
216                {{example_html $ .Name}}
217                {{callgraph_html $ "" .Name}}
218            {{end}}
219
220            {{range .Methods}}
221                {{$name_html := html .Name}}
222                <h3 id="{{$tname_html}}.{{$name_html}}">func ({{html .Recv}}) <a href="{{posLink_url $ .Decl}}">{{$name_html}}</a>
223                    <a class="permalink" href="#{{$tname_html}}.{{$name_html}}">&#xb6;</a>
224                    {{$since := since "method" .Recv .Name $.PDoc.ImportPath}}
225                    {{if $since}}<span title="Added in Go {{$since}}">{{$since}}</span>{{end}}
226                </h3>
227                <pre>{{node_html $ .Decl true}}</pre>
228                {{comment_html $ .Doc}}
229                {{$name := printf "%s_%s" $tname .Name}}
230                {{example_html $ $name}}
231                {{callgraph_html $ .Recv .Name}}
232            {{end}}
233        {{end}}
234    {{end}}
235
236    {{with $.Notes}}
237        {{range $marker, $content := .}}
238            <h2 id="pkg-note-{{$marker}}">{{noteTitle $marker | html}}s</h2>
239            <ul style="list-style: none; padding: 0;">
240            {{range .}}
241            <li><a href="{{posLink_url $ .}}" style="float: left;">&#x261e;</a> {{comment_html $ .Body}}</li>
242            {{end}}
243            </ul>
244        {{end}}
245    {{end}}
246{{end}}
247
248{{with .PAst}}
249    {{range $filename, $ast := .}}
250        <a href="{{$filename|srcLink|html}}">{{$filename|filename|html}}</a>:<pre>{{node_html $ $ast false}}</pre>
251    {{end}}
252{{end}}
253
254{{with .Dirs}}
255    {{/* DirList entries are numbers and strings - no need for FSet */}}
256    {{if $.PDoc}}
257        <h2 id="pkg-subdirectories">Subdirectories</h2>
258    {{end}}
259    <div class="pkg-dir">
260        <table>
261            <tr>
262                <th class="pkg-name">Name</th>
263                <th class="pkg-synopsis">Synopsis</th>
264            </tr>
265
266            {{if not (or (eq $.Dirname "/src/cmd") $.DirFlat)}}
267            <tr>
268                <td colspan="2"><a href="..">..</a></td>
269            </tr>
270            {{end}}
271
272            {{range .List}}
273                <tr>
274                {{if $.DirFlat}}
275                    {{if .HasPkg}}
276                        <td class="pkg-name">
277                            <a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Path}}</a>
278                        </td>
279                    {{end}}
280                {{else}}
281                    <td class="pkg-name" style="padding-left: {{multiply .Depth 20}}px;">
282                        <a href="{{html .Path}}/{{modeQueryString $.Mode | html}}">{{html .Name}}</a>
283                    </td>
284                {{end}}
285                    <td class="pkg-synopsis">
286                        {{html .Synopsis}}
287                    </td>
288                </tr>
289            {{end}}
290        </table>
291    </div>
292{{end}}
293
MembersX
Members
X