output

package
v0.0.0-...-6acd4b1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package output provides renderers for scan results.

Index

Constants

This section is empty.

Variables

View Source
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.

View Source
var ValidFormats = []string{
	"table", "bar", "spark", "json", "ndjson", "csv", "badge", "markdown", "compact",
}

ValidFormats lists all valid --format values.

Functions

func IconForExt

func IconForExt(filename string) string

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

func IconForLang(lang string) string

IconForLang returns the Nerd Font glyph for a language name, using the canonical extension as an intermediate lookup for maximum accuracy.

func Spark

func Spark(values []int64) string

Spark generates a sparkline string from a slice of values.

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.

func Get

func Get(format string) Renderer

Get returns a renderer for the given format name. Falls back to TableRenderer for unknown formats.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL