Skip to content

pombredanne/syntaxhighlight

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

syntaxhighlight

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.

The main AsHTML(src []byte) ([]byte, error) function outputs HTML that uses the same CSS classes as google-code-prettify, so any stylesheets for that should also work with this package.

Documentation on Sourcegraph

Build Status status authors top func funcs Total views

Installation

go get github.com/sourcegraph/syntaxhighlight

Example usage

The function AsHTML(src []byte) ([]byte, error) returns an HTML-highlighted version of src. The input source code can be in any language; the lexer is language independent.

package syntaxhighlight_test

import (
	"fmt"
	"github.com/sourcegraph/syntaxhighlight"
	"os"
)

func Example() {
	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="kwd">return</span> <span class="dec">7</span><span class="pun">;</span>
	// <span class="pun">}</span>

}

Contributors

Contributions are welcome! Submit a pull request on GitHub.

About

Go package for syntax highlighting of code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.2%
  • JavaScript 1.2%
  • Other 1.6%