Documentation
¶
Overview ¶
Package syntax provides syntax highlighting for code. It currently uses a language-independent lexer and performs decently on JavaScript, Java, Ruby, Python, Go, and C.
Index ¶
- Variables
- func Annotate(src []byte, a Annotator, m mode.Mode) (annotate.Annotations, error)
- func AsText(src []byte, m mode.Mode, options ...Option) ([]byte, error)
- func CatBytes(sourceCodeData []byte, o *textoutput.TextOutput) error
- func NewScanner(src []byte) *scanner.Scanner
- func NewScannerReader(src io.Reader) *scanner.Scanner
- func Print(s *scanner.Scanner, w io.Writer, p Printer, m mode.Mode) error
- type Annotator
- type Kind
- type Option
- type Printer
- type TextAnnotator
- type TextConfig
- type TextPrinter
Constants ¶
This section is empty.
Variables ¶
var DefaultTextConfig = TextConfig{ AndOr: "red", AssemblyEnd: "lightyellow", Class: "white", Comment: "darkgray", Decimal: "red", Dollar: "white", Keyword: "red", Literal: "white", Mut: "magenta", Plaintext: "white", Private: "red", Protected: "red", Public: "red", Punctuation: "red", Self: "magenta", Star: "white", Static: "lightyellow", String: "lightwhite", Tag: "white", TextAttrName: "white", TextAttrValue: "white", TextTag: "white", Type: "white", Whitespace: "", }
DefaultTextConfig provides class names that match the color names of textoutput tags: https://github.com/xyproto/textoutput
var Keywords = map[string]struct{}{}/* 187 elements not displayed */
Functions ¶
func AsText ¶
AsText converts source code into an Text-highlighted version; It accepts optional configuration parameters to control rendering (see OrderedList as one example)
func CatBytes ¶ added in v1.12.0
func CatBytes(sourceCodeData []byte, o *textoutput.TextOutput) error
func NewScanner ¶
NewScanner is a helper that takes a []byte src, wraps it in a reader and creates a Scanner.
func NewScannerReader ¶
NewScannerReader takes a reader src and creates a Scanner.
Types ¶
type Kind ¶
type Kind uint8
Kind represents a syntax highlighting kind (class) which will be assigned to tokens. A syntax highlighting scheme (style) maps text style properties to each token kind.
type Option ¶
type Option func(options *TextConfig)
Option is a type of the function that can modify one or more of the options in the TextConfig structure.
type Printer ¶
Printer implements an interface to render highlighted output (see TextPrinter for the implementation of this interface)
type TextAnnotator ¶
type TextAnnotator TextConfig
func (TextAnnotator) Annotate ¶
func (a TextAnnotator) Annotate(start int, kind Kind, tokText string) (*annotate.Annotation, error)
type TextConfig ¶
type TextConfig struct { AndOr string AssemblyEnd string Class string Comment string Decimal string Dollar string Keyword string Literal string Mut string Plaintext string Private string Protected string Public string Punctuation string Self string Star string Static string String string Tag string TextAttrName string TextAttrValue string TextTag string Type string Whitespace string }
TextConfig holds the Text class configuration to be used by annotators when highlighting code.
func (TextConfig) GetClass ¶
func (c TextConfig) GetClass(kind Kind) string
GetClass returns the set class for a given token Kind.
type TextPrinter ¶
type TextPrinter TextConfig
TextPrinter implements Printer interface and is used to produce Text-based highligher