Module: Kramdown::Converter::SyntaxHighlighter::TreeSitter
- Defined in:
- lib/kramdown/converter/syntax_highlighter/tree_sitter.rb,
lib/kramdown/syntax_tree_sitter/version.rb
Overview
This highlighter is not yet fully configured to highlight code.
Currently it merely escapes the code so that it can be safely inserted into HTML text.
Constant Summary collapse
- VERSION =
Version of kramdown-syntax_tree_sitter gem
'0.2.0'- DEFAULT_PARSERS_DIR =
'~/tree_sitter_parsers'
Class Method Summary collapse
- .call(converter, raw_text, language, type, _) ⇒ Object
- .get_option(converter, name) ⇒ Object
- .get_parsers_dir(converter) ⇒ Object
- .get_use_css_classes(converter) ⇒ Object
Class Method Details
.call(converter, raw_text, language, type, _) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/kramdown/converter/syntax_highlighter/tree_sitter.rb', line 16 def self.call(converter, raw_text, language, type, _) return nil unless language rendered_text = TreeSitterAdapter.highlight( raw_text, get_parsers_dir(converter), language, get_use_css_classes(converter) ) # Code blocks are additionally wrapped in HTML code tags type == :block ? "<pre><code>#{rendered_text}</code></pre>" : rendered_text end |
.get_option(converter, name) ⇒ Object
39 40 41 |
# File 'lib/kramdown/converter/syntax_highlighter/tree_sitter.rb', line 39 def self.get_option(converter, name) converter.[:syntax_highlighter_opts][name] end |
.get_parsers_dir(converter) ⇒ Object
29 30 31 32 33 |
# File 'lib/kramdown/converter/syntax_highlighter/tree_sitter.rb', line 29 def self.get_parsers_dir(converter) File.( get_option(converter, :tree_sitter_parsers_dir) || DEFAULT_PARSERS_DIR ) end |
.get_use_css_classes(converter) ⇒ Object
35 36 37 |
# File 'lib/kramdown/converter/syntax_highlighter/tree_sitter.rb', line 35 def self.get_use_css_classes(converter) get_option(converter, :css_classes) || false end |