Documentation ¶
Overview ¶
Package syntaxhighlight provides syntax highlighting for code. It currently uses a language-independent lexer and performs decently on JavaScript, Java, Ruby, Python, Go, and C.
Example ¶
package main import ( "fmt" "os" "github.com/jingweno/ccat/Godeps/_workspace/src/github.com/sourcegraph/syntaxhighlight" ) func main() { src := []byte(` /* hello, world! */ var a = 3; // b is a cool function function b() { return 7; }`) highlighted, err := syntaxhighlight.AsHTML(src) if err != nil { fmt.Println(err) os.Exit(1) } fmt.Println(string(highlighted)) }
Output: <span class="com">/* hello, world! */</span> <span class="kwd">var</span> <span class="pln">a</span> <span class="pun">=</span> <span class="dec">3</span><span class="pun">;</span> <span class="com">// b is a cool function</span> <span class="kwd">function</span> <span class="pln">b</span><span class="pun">(</span><span class="pun">)</span> <span class="pun">{</span> <span class="kwd">return</span> <span class="dec">7</span><span class="pun">;</span> <span class="pun">}</span>
Index ¶
- Variables
- func Annotate(src []byte, a Annotator) (annotate.Annotations, error)
- func AsHTML(src []byte) ([]byte, error)
- func NewScanner(src []byte) *scanner.Scanner
- func NewScannerReader(src io.Reader) *scanner.Scanner
- func Print(s *scanner.Scanner, w io.Writer, p Printer) error
- type Annotator
- type HTMLAnnotator
- type HTMLConfig
- type HTMLPrinter
- type Kind
- type Printer
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultHTMLConfig = HTMLConfig{ String: "str", Keyword: "kwd", Comment: "com", Type: "typ", Literal: "lit", Punctuation: "pun", Plaintext: "pln", Tag: "tag", HTMLTag: "htm", HTMLAttrName: "atn", HTMLAttrValue: "atv", Decimal: "dec", Whitespace: "", }
DefaultHTMLConfig's class names match those of google-code-prettify (https://code.google.com/p/google-code-prettify/).
Functions ¶
func NewScanner ¶
NewScanner is a helper that takes a []byte src, wraps it in a reader and creates a Scanner.
func NewScannerReader ¶ added in v1.0.0
NewScannerReader takes a reader src and creates a Scanner.
Types ¶
type HTMLAnnotator ¶
type HTMLAnnotator HTMLConfig
func (HTMLAnnotator) Annotate ¶
func (a HTMLAnnotator) Annotate(start int, kind Kind, tokText string) (*annotate.Annotation, error)
type HTMLConfig ¶
type HTMLConfig struct { String string Keyword string Comment string Type string Literal string Punctuation string Plaintext string Tag string HTMLTag string HTMLAttrName string HTMLAttrValue string Decimal string Whitespace string }
HTMLConfig holds the HTML class configuration to be used by annotators when highlighting code.
func (HTMLConfig) Class ¶ added in v1.0.0
func (c HTMLConfig) Class(kind Kind) string
Class returns the set class for a given token Kind.
type HTMLPrinter ¶
type HTMLPrinter HTMLConfig
Click to show internal directories.
Click to hide internal directories.