Documentation
¶
Overview ¶
Package output provides renderers for scan results.
Index ¶
- Variables
- func IconForExt(filename string) string
- func IconForLang(lang string) string
- func Spark(values []int64) string
- type BadgeRenderer
- type BarRenderer
- type CSVRenderer
- type CompactRenderer
- type JSONRenderer
- type MarkdownRenderer
- type NDJSONRenderer
- type RenderOpts
- type Renderer
- type SparkRenderer
- type TableRenderer
Constants ¶
This section is empty.
Variables ¶
var NF = struct { // Languages Go, Rust, Python, Ruby, PHP, Perl, Lua, Java, Kotlin, Scala, Groovy, Clojure, JavaScript, TypeScript, JSX, TSX, CoffeeScript, Swift, Dart, ObjectiveC, C, CPP, CSharp, Zig, Haskell, Elixir, Erlang, OCaml, FSharp, Crystal, Nim, Julia, R, Vlang, Gleam, HTML, CSS, SCSS, Sass, Vue, Svelte, Angular, Shell, Fish, PowerShell, JSON, YAML, TOML, XML, CSV, NDJSON, HCL, Markdown, Rst, LaTeX, Asciidoc, SQL, SQLite, Docker, Kubernetes, Terraform, Ansible, Makefile, Cmake, Gradle, Bazel, Ninja, Git, GitIgnore, Package, Cargo, Gemfile, Pipfile, NpmLock, PnpmLock, Env, EditorConfig, PrettierRC, Archive, Binary, Text, Cert, License, File, FilledFile string }{ Go: "\ue627", Rust: "\ue7a8", Python: "\ue73c", Ruby: "\ue739", PHP: "\ue73d", Perl: "\ue769", Lua: "\ue620", Java: "\ue738", Kotlin: "\ue70e", Scala: "\ue737", Groovy: "\ue775", Clojure: "\ue76a", JavaScript: "\ue74e", TypeScript: "\ue628", JSX: "\ue7ba", TSX: "\ue7ba", CoffeeScript: "\ue751", Swift: "\ue755", Dart: "\ue798", ObjectiveC: "\ue61e", C: "\ue61e", CPP: "\ue61d", CSharp: "\uf031b", Zig: "\ue6a9", Haskell: "\ue61f", Elixir: "\ue62d", Erlang: "\ue7b1", OCaml: "\ue67a", FSharp: "\ue7a7", Crystal: "\ue7a3", Nim: "\ue677", Julia: "\ue624", R: "\uf25d", Vlang: "\ue6b1", Gleam: "\ue6a9", HTML: "\ue736", CSS: "\ue749", SCSS: "\ue603", Sass: "\ue74b", Vue: "\ue6a0", Svelte: "\ue697", Angular: "\ue753", Shell: "\ue691", Fish: "\ue691", PowerShell: "\uebc7", JSON: "\ue60b", YAML: "\ue6d2", TOML: "\ue6b2", XML: "\ue619", CSV: "\uf1c3", NDJSON: "\ue60b", HCL: "\ue61b", Markdown: "\ue73e", Rst: "\uf15c", LaTeX: "\ue612", Asciidoc: "\uf15c", SQL: "\uf1c0", SQLite: "\ue7c4", Docker: "\uf308", Kubernetes: "\ue7b2", Terraform: "\ue61b", Ansible: "\ue61b", Makefile: "\ue779", Cmake: "\ue779", Gradle: "\ue660", Bazel: "\ue63a", Ninja: "\ue779", Git: "\ue725", GitIgnore: "\ue725", Package: "\ue6b4", Cargo: "\ue7a8", Gemfile: "\ue739", Pipfile: "\ue73c", NpmLock: "\ue6b4", PnpmLock: "\ue6b4", Env: "\uf462", EditorConfig: "\ue614", PrettierRC: "\ue6b3", Archive: "\uf1c6", Binary: "\uf471", Text: "\uf15c", Cert: "\uf0a3", License: "\uf0a3", File: "\uf15b", FilledFile: "\uf15c", }
NF holds all Nerd Font v3 glyph strings used for file icons. Names follow the nerd-fonts cheat-sheet naming convention.
var ValidFormats = []string{
"table", "bar", "spark", "json", "ndjson", "csv", "badge", "markdown", "compact",
}
ValidFormats lists all valid --format values.
Functions ¶
func IconForExt ¶
IconForExt returns the Nerd Font glyph for a raw filename or extension. filename should be the base name (e.g., "main.go", ".gitignore", "Makefile").
func IconForLang ¶
IconForLang returns the Nerd Font glyph for a language name, using the canonical extension as an intermediate lookup for maximum accuracy.
Types ¶
type BadgeRenderer ¶
type BadgeRenderer struct{}
BadgeRenderer renders a shields.io-compatible JSON endpoint response.
func (*BadgeRenderer) Render ¶
func (b *BadgeRenderer) Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
type BarRenderer ¶
type BarRenderer struct{}
BarRenderer renders a horizontal bar chart.
func (*BarRenderer) Render ¶
func (b *BarRenderer) Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
type CSVRenderer ¶
type CSVRenderer struct{}
CSVRenderer renders scan results as CSV.
func (*CSVRenderer) Render ¶
func (c *CSVRenderer) Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
type CompactRenderer ¶
type CompactRenderer struct{}
CompactRenderer renders a single line summary of the scan results.
func (*CompactRenderer) Render ¶
func (r *CompactRenderer) Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
type JSONRenderer ¶
type JSONRenderer struct{}
JSONRenderer renders full scan result as JSON.
func (*JSONRenderer) Render ¶
func (j *JSONRenderer) Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
type MarkdownRenderer ¶
type MarkdownRenderer struct{}
MarkdownRenderer renders a summary as a markdown table.
func (*MarkdownRenderer) Render ¶
func (r *MarkdownRenderer) Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
type NDJSONRenderer ¶
type NDJSONRenderer struct{}
NDJSONRenderer renders one JSON object per language, newline-delimited.
func (*NDJSONRenderer) Render ¶
func (n *NDJSONRenderer) Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
type RenderOpts ¶
type RenderOpts struct {
NoColor bool
NoHeader bool
Wide bool
Compact bool
Pct bool
NerdFont bool // use Nerd Font glyphs (requires a patched Nerd Font in terminal)
Theme string
Top int
Sort string
Desc bool
}
RenderOpts carries display preferences to renderers.
type Renderer ¶
type Renderer interface {
Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
}
Renderer is the interface all output formats implement.
type SparkRenderer ¶
type SparkRenderer struct{}
SparkRenderer renders sparklines for history mode. In standard scan mode, it falls back to a compact bar summary.
func (*SparkRenderer) Render ¶
func (s *SparkRenderer) Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
type TableRenderer ¶
type TableRenderer struct{}
TableRenderer renders scan results as a formatted table.
func (*TableRenderer) Render ¶
func (t *TableRenderer) Render(w io.Writer, result *scanner.ScanResult, opts RenderOpts) error
Render writes the table to w.