https://github.com/sourcegraph/syntaxhighlight
  
  
    Go package for syntax highlighting of code 
    https://github.com/sourcegraph/syntaxhighlight
  
        Last synced: 6 months ago 
        JSON representation
    
Go package for syntax highlighting of code
- Host: GitHub
 - URL: https://github.com/sourcegraph/syntaxhighlight
 - Owner: sourcegraph
 - License: bsd-3-clause
 - Created: 2014-01-27T11:53:38.000Z (almost 12 years ago)
 - Default Branch: master
 - Last Pushed: 2023-05-11T16:35:08.000Z (over 2 years ago)
 - Last Synced: 2025-04-24T00:48:51.918Z (6 months ago)
 - Language: Go
 - Size: 77.1 KB
 - Stars: 274
 - Watchers: 8
 - Forks: 21
 - Open Issues: 4
 - 
            Metadata Files:
            
- Readme: README.md
 - License: LICENSE
 
 
Awesome Lists containing this project
- go-awesome - syntaxhighlight - code highlighting (Open source library / Word Processing)
 
README
          # 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)`](https://sourcegraph.com/sourcegraph.com/sourcegraph/syntaxhighlight@master/.GoPackage/sourcegraph.com/sourcegraph/syntaxhighlight/.def/AsHTML) function outputs HTML that uses the same CSS classes as [google-code-prettify](https://code.google.com/p/google-code-prettify/), so any stylesheets for that should also work with this package.
**[Documentation on Sourcegraph](https://sourcegraph.com/github.com/sourcegraph/syntaxhighlight)**
[](https://travis-ci.org/sourcegraph/syntaxhighlight)
[](https://sourcegraph.com/github.com/sourcegraph/syntaxhighlight)
## Installation
```
go get -u github.com/sourcegraph/syntaxhighlight
```
First you should install the golang evironment, you can download it [here](https://golang.org/dl) or you can follow the [getting started](https://golang.org/doc/install)
Remember you should set the environment variables correctly (GOPATH and PATH)
## Example usage
The function [`AsHTML(src []byte, options ...Option) ([]byte, error)`](https://sourcegraph.com/sourcegraph.com/sourcegraph/syntaxhighlight@master/.GoPackage/sourcegraph.com/sourcegraph/syntaxhighlight/.def/AsHTML) returns an HTML-highlighted version of `src`. The input source code can be in any language; the lexer is language independent. An `OrderedList()` option can be passed to produce an `
...
`-wrapped list to display line numbers.
```go
package syntaxhighlight_test
import (
	"fmt"
	"os"
	"github.com/sourcegraph/syntaxhighlight"
)
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:
	// /* hello, world! */
	// var a = 3;
	//
	// // b is a cool function
	// function b() {
	//   return 7;
	// }
}
```
## Contributors
* [Quinn Slack](https://sourcegraph.com/sqs)
Contributions are welcome! Submit a pull request on GitHub.