(config viewConfig, project *queries.Project)
| 105 | } |
| 106 | |
| 107 | func printResults(config viewConfig, project *queries.Project) error { |
| 108 | var sb strings.Builder |
| 109 | sb.WriteString("# Title\n") |
| 110 | sb.WriteString(project.Title) |
| 111 | sb.WriteString("\n") |
| 112 | |
| 113 | sb.WriteString("## Description\n") |
| 114 | if project.ShortDescription == "" { |
| 115 | sb.WriteString(" -- ") |
| 116 | } else { |
| 117 | sb.WriteString(project.ShortDescription) |
| 118 | } |
| 119 | sb.WriteString("\n") |
| 120 | |
| 121 | sb.WriteString("## Visibility\n") |
| 122 | if project.Public { |
| 123 | sb.WriteString("Public") |
| 124 | } else { |
| 125 | sb.WriteString("Private") |
| 126 | } |
| 127 | sb.WriteString("\n") |
| 128 | |
| 129 | sb.WriteString("## URL\n") |
| 130 | sb.WriteString(project.URL) |
| 131 | sb.WriteString("\n") |
| 132 | |
| 133 | sb.WriteString("## Item count\n") |
| 134 | sb.WriteString(fmt.Sprintf("%d", project.Items.TotalCount)) |
| 135 | sb.WriteString("\n") |
| 136 | |
| 137 | sb.WriteString("## Readme\n") |
| 138 | if project.Readme == "" { |
| 139 | sb.WriteString(" -- ") |
| 140 | } else { |
| 141 | sb.WriteString(project.Readme) |
| 142 | } |
| 143 | sb.WriteString("\n") |
| 144 | |
| 145 | sb.WriteString("## Field Name (Field Type)\n") |
| 146 | for _, f := range project.Fields.Nodes { |
| 147 | sb.WriteString(fmt.Sprintf("%s (%s)\n\n", f.Name(), f.Type())) |
| 148 | } |
| 149 | |
| 150 | out, err := markdown.Render(sb.String(), |
| 151 | markdown.WithTheme(config.io.TerminalTheme()), |
| 152 | markdown.WithWrap(config.io.TerminalWidth())) |
| 153 | |
| 154 | if err != nil { |
| 155 | return err |
| 156 | } |
| 157 | _, err = fmt.Fprint(config.io.Out, out) |
| 158 | return err |
| 159 | } |
no test coverage detected