Skip to content

A syntax highlighter for Node powered by Tree Sitter. Written in Rust.

License

Notifications You must be signed in to change notification settings

devongovett/tree-sitter-highlight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tree-sitter-highlight

A syntax highlighter for Node.js powered by Tree Sitter. Written in Rust.

Usage

The following will output HTML:

const treeSitter = require('tree-sitter-highlight');

treeSitter.highlight('const foo = "hi";', treeSitter.Language.JS);
// => '<span class="source">...</span>'

You can also output a HAST AST, which is useful for integrating with Markdown or MDX processors (e.g. Remark).

treeSitter.highlightHast('const foo = "hi";', treeSitter.Language.JS);
// => {type: 'element', children: [...]}

Themes

The output HTML will contain CSS class names for various tokens. These will depend on the language, but there are several common names used across languages. Here is a basic example theme:

.keyword {
  color: purple;
}

.function {
  color: blue;
}

.type {
  color: pink;
}

.string {
  color: green;
}

.number {
  color: brown;
}

.operator {
  color: gray;
}

.comment {
  color: lightgray;
}

Inspect the generated output HTML and design your CSS accordingly.

License

MIT

About

A syntax highlighter for Node powered by Tree Sitter. Written in Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published