mirror of
https://github.com/rwinkhart/go-highlite.git
synced 2026-08-27 20:36:27 -04:00
Rename "syntax" package to "lexers"
This commit is contained in:
@@ -9,14 +9,14 @@ It is meant to be a more minimal version with the syntax files embedded in the G
|
||||
|
||||
Language support is determined at build time by using build tags. To include a language, you must build with the appropriate tag.
|
||||
For example, to include Go syntax highlighting, you must build with `-tags=stxGo`.
|
||||
You may combine as many tags as you like, or use `-tags=stxAll` to include all syntax layers.
|
||||
You may combine as many tags as you like, or use `-tags=stxAll` to include all lexers.
|
||||
|
||||
### Contributing
|
||||
If you would like to contribute a new syntax layer, please contribute to the parent repository [jessp01/gohighlight](https://github.com/jessp01/gohighlight).
|
||||
In an effort to minimize the size of this library, the syntax layers are modified to the point of being much less readable than the original.
|
||||
Because of this, the parent repository is the canonical source for syntax layers.
|
||||
If you would like to contribute a new lexer, please contribute to the parent repository [jessp01/gohighlight](https://github.com/jessp01/gohighlight).
|
||||
In an effort to minimize the size of this library, the lexers are modified to the point of being much less readable than the original.
|
||||
Because of this, the parent repository is the canonical source for lexers.
|
||||
|
||||
I will keep this repository up-to-date with any new syntax layers that are added to the parent repository, provided that they are for non-obsolete
|
||||
I will keep this repository up-to-date with any new lexers that are added to the parent repository, provided that they are for non-obsolete
|
||||
programming languages or config formats (support will not be extended to cover individual shell commands).
|
||||
|
||||
Other types of contributions are welcome as long as they do not go against the goal of keeping this library as lightweight as possible.
|
||||
@@ -29,7 +29,7 @@ $ go get github.com/rwinkhart/go-highlite
|
||||
## Basic Usage
|
||||
Below is a simple example for highlighting a Go snippet with ANSI colors.
|
||||
|
||||
It must be built with `-tags=stxGo` or `-tags=stxAll` to include the Go syntax layer.
|
||||
It must be built with `-tags=stxGo` or `-tags=stxAll` to include the Go lexer.
|
||||
|
||||
For a more advanced example on manually colorizing the output or colorizing it in a
|
||||
different, non-ANSI format, see the `ansi.Colorize` function.
|
||||
@@ -67,13 +67,15 @@ func helloWorld() {
|
||||
## Roadmap
|
||||
- [ ] Implement more comprehensive testing
|
||||
- [ ] Upgrade to gopkg.in/yaml.v3 **OR** remove the need for the dependency
|
||||
- [ ] Add Zig syntax layer (and upstream it)
|
||||
- [ ] Add lexers (and upstream them)
|
||||
- [ ] Zig
|
||||
- [ ] Kotlin
|
||||
- [ ] Upstream relevant changes
|
||||
- [ ] staticcheck warnings (f5367779eb4bcaaca0640f1ce7316001e34f41d8)
|
||||
- [ ] Modernization (depending on Go version support)
|
||||
- [ ] c884c602e382789bf1ccef251d0d85af43da03e0
|
||||
- [ ] 11161c71cdbbec95f6bacc3590b9077b4cac3668
|
||||
- [ ] Syntax layer changes
|
||||
- [ ] Lexer changes
|
||||
- [ ] ef2880834a545b5353a35c7d918310b23d39d4f3
|
||||
- [ ] bae08261278f21569fc2266b4a4933a6c85b9b25
|
||||
- [ ] 6e8f69839f82fe23a3442f7f9d62d166cac260e3 (maybe)
|
||||
|
||||
+4
-4
@@ -6,16 +6,16 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/rwinkhart/go-highlite"
|
||||
"github.com/rwinkhart/go-highlite/syntax"
|
||||
"github.com/rwinkhart/go-highlite/lexers"
|
||||
)
|
||||
|
||||
// Colorize takes a string of code and a language ID, and returns the code
|
||||
// with ANSI color codes applied for syntax highlighting.
|
||||
func Colorize(inputCode, languageID string, startingColor uint8) (string, error) {
|
||||
// Load and parse the go syntax layer into a `*highlight.Def`
|
||||
syntaxDef, err := highlite.ParseDef(syntax.Get(languageID))
|
||||
// Load and parse the go lexer into a `*highlight.Def`
|
||||
syntaxDef, err := highlite.ParseDef(lexers.Get(languageID))
|
||||
if err != nil {
|
||||
return "", errors.New("unable to parse syntax layer: " + err.Error())
|
||||
return "", errors.New("unable to parse lexer: " + err.Error())
|
||||
}
|
||||
|
||||
// Make a new highlighter from the definition
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
import "sync"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxAsm || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["asm"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxC || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["c"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxCaddyfile || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["caddyfile"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxCmake || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["cmake"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxCpp || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["cpp"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxCsharp || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["csharp"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxCss || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["css"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxD || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["d"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxDart || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["dart"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxDiff || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["diff"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxDockerfile || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["dockerfile"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxFish || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["fish"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxFortran || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["fortran"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxGdscript || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["gdscript"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxGo || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["go"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxHaskell || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["haskell"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxHtml5 || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["html5"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxIni || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["ini"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxIno || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["ino"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxJava || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["java"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxJs || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["js"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxJson || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["json"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxLisp || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["lisp"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxLua || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["lua"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxMakefile || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["makefile"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxObjc || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["objc"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxOcaml || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["ocaml"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxPascal || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["pascal"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxPerl || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["perl"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxPhp || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["php"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxPython || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["python"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxR || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["r"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxRuby || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["ruby"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxRust || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["rust"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxScala || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["scala"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxShell || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["shell"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxSwift || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["swift"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxToml || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["toml"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxTs || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["ts"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxXml || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["xml"] = &lazySyntax{init: func() []byte {
|
||||
@@ -1,6 +1,6 @@
|
||||
//go:build stxYaml || stxAll
|
||||
|
||||
package syntax
|
||||
package lexers
|
||||
|
||||
func init() {
|
||||
syntaxMap["yaml"] = &lazySyntax{init: func() []byte {
|
||||
Reference in New Issue
Block a user