func StyleEntryToCSS(e chroma.StyleEntry) string
StyleEntryToCSS converts a chroma.StyleEntry to CSS attributes.
Formatter that generates HTML.
type Formatter struct { Classes bool // Exported field to detect when classes are being used // contains filtered or unexported fields }
func New(options ...Option) *Formatter
New HTML formatter.
func (f *Formatter) Format(w io.Writer, style *chroma.Style, iterator chroma.Iterator) (err error)
func (f *Formatter) WriteCSS(w io.Writer, style *chroma.Style) error
WriteCSS writes CSS style definitions (without any surrounding HTML).
Option sets an option of the HTML formatter.
type Option func(f *Formatter)
func BaseLineNumber(n int) Option
BaseLineNumber sets the initial number to start line numbering at. Defaults to 1.
func ClassPrefix(prefix string) Option
ClassPrefix sets the CSS class prefix.
func HighlightLines(ranges [][2]int) Option
HighlightLines higlights the given line ranges with the Highlight style.
A range is the beginning and ending of a range as 1-based line numbers, inclusive.
func InlineCode(b bool) Option
InlineCode creates inline code wrapped in a code tag.
func LineNumbersInTable(b bool) Option
LineNumbersInTable will, when combined with WithLineNumbers, separate the line numbers and code in table td's, which make them copy-and-paste friendly.
func PreventSurroundingPre(b bool) Option
PreventSurroundingPre prevents the surrounding pre tags around the generated code.
func Standalone(b bool) Option
Standalone configures the HTML formatter for generating a standalone HTML document.
func TabWidth(width int) Option
TabWidth sets the number of characters for a tab. Defaults to 8.
func WithAllClasses(b bool) Option
WithAllClasses disables an optimisation that omits redundant CSS classes.
func WithClasses(b bool) Option
WithClasses emits HTML using CSS classes, rather than inline styles.
func WithCustomCSS(css map[chroma.TokenType]string) Option
WithCustomCSS sets user's custom CSS styles.
func WithLineNumbers(b bool) Option
WithLineNumbers formats output with line numbers.
func WithLinkableLineNumbers(b bool, prefix string) Option
WithLinkableLineNumbers decorates the line numbers HTML elements with an "id" attribute so they can be linked.
func WithPreWrapper(wrapper PreWrapper) Option
WithPreWrapper allows control of the surrounding pre tags.
func WrapLongLines(b bool) Option
WrapLongLines wraps long lines.
PreWrapper defines the operations supported in WithPreWrapper.
type PreWrapper interface { // Start is called to write a start <pre> element. // The code flag tells whether this block surrounds // highlighted code. This will be false when surrounding // line numbers. Start(code bool, styleAttr string) string // End is called to write the end </pre> element. End(code bool) string }