{{$info := .}}{{$filtered := .IsFiltered}}{{/*

---------------------------------------

*/}}{{if $filtered}}{{range .PAst}}{{range .Decls}}{{node $info .}}{{end}}{{end}}{{else}}{{with .PAst}}{{range $filename, $ast := .}}{{$filename}}:
{{node $ $ast}}{{end}}{{end}}{{end}}{{/*

---------------------------------------

*/}}{{if and $filtered (not (or .PDoc .PAst))}}No match found.
{{end}}{{with .PDoc}}{{if $.IsMain}}COMMAND DOCUMENTATION

{{comment_text .Doc "    " "\t"}}
{{else}}{{if not $filtered}}PACKAGE DOCUMENTATION

package {{.Name}}
    import "{{.ImportPath}}"

{{comment_text .Doc "    " "\t"}}
{{example_text $ "" "    "}}{{end}}{{/*

---------------------------------------

*/}}{{with .Consts}}{{if not $filtered}}CONSTANTS

{{end}}{{range .}}{{node $ .Decl}}
{{comment_text .Doc "    " "\t"}}
{{end}}{{end}}{{/*

---------------------------------------

*/}}{{with .Vars}}{{if not $filtered}}VARIABLES

{{end}}{{range .}}{{node $ .Decl}}
{{comment_text .Doc "    " "\t"}}
{{end}}{{end}}{{/*

---------------------------------------

*/}}{{with .Funcs}}{{if not $filtered}}FUNCTIONS

{{end}}{{range .}}{{node $ .Decl}}
{{comment_text .Doc "    " "\t"}}
{{example_text $ .Name "    "}}{{end}}{{end}}{{/*

---------------------------------------

*/}}{{with .Types}}{{if not $filtered}}TYPES

{{end}}{{range .}}{{$tname := .Name}}{{node $ .Decl}}
{{comment_text .Doc "    " "\t"}}
{{/*

---------------------------------------

*/}}{{if .Consts}}{{range .Consts}}{{node $ .Decl}}
{{comment_text .Doc "    " "\t"}}
{{end}}{{end}}{{/*

---------------------------------------

*/}}{{if .Vars}}{{range .Vars}}{{node $ .Decl}}
{{comment_text .Doc "    " "\t"}}
{{range $name := .Names}}{{example_text $ $name "    "}}{{end}}{{end}}{{end}}{{/*

---------------------------------------

*/}}{{if .Funcs}}{{range .Funcs}}{{node $ .Decl}}
{{comment_text .Doc "    " "\t"}}
{{example_text $ .Name "    "}}{{end}}{{end}}{{/*

---------------------------------------

*/}}{{if .Methods}}{{range .Methods}}{{node $ .Decl}}
{{comment_text .Doc "    " "\t"}}
{{$name := printf "%s_%s" $tname .Name}}{{example_text $ $name "    "}}{{end}}{{end}}{{/*

---------------------------------------

*/}}{{end}}{{end}}{{/*

---------------------------------------

*/}}{{if and $filtered (not (or .Consts (or .Vars (or .Funcs .Types))))}}No match found.
{{end}}{{/*

---------------------------------------

*/}}{{end}}{{/*

---------------------------------------

*/}}{{with $.Notes}}
{{range $marker, $content := .}}
{{$marker}}S

{{range $content}}{{comment_text .Body "   " "\t"}}
{{end}}{{end}}{{end}}{{end}}{{/*

---------------------------------------

*/}}{{if not $filtered}}{{with .Dirs}}SUBDIRECTORIES
{{if $.DirFlat}}{{range .List}}{{if .HasPkg}}
	{{.Path}}{{end}}{{end}}
{{else}}{{range .List}}
	{{repeat `. ` .Depth}}{{.Name}}{{end}}
{{end}}{{end}}{{/*

---------------------------------------

*/}}{{end}}{{/*
Make sure there is no newline at the end of this file.
perl -i -pe 'chomp if eof' package.txt
*/}}
