Interface HighLighter
- All Known Implementing Classes:
CfgSyntaxHighlighter,FileType.DefaultHighlighter,JsonSyntaxHighlighter,PropertiesSyntaxHighlighter,TextSyntaxHighlighter,TomlSyntaxHighlighter,YamlSyntaxHighlighter
public interface HighLighter
A syntax highlighter interface that provides methods for text rendering and measurement
with syntax highlighting capabilities.
Implementations of this interface should provide syntax highlighting for specific
programming languages or data formats by tokenizing text and applying appropriate
colors to different token types.
-
Method Summary
Modifier and TypeMethodDescriptionvoiddrawHighlightedText(net.minecraft.client.gui.DrawContext context, net.minecraft.client.font.TextRenderer textRenderer, String text, int x, int y, boolean editable) Draws syntax-highlighted text at the specified position.intgetCharIndexFromTokens(net.minecraft.client.font.TextRenderer textRenderer, String line, int targetX) Finds the character index in the text that corresponds to the given x-coordinate.intgetTextWidth(net.minecraft.client.font.TextRenderer textRenderer, String text) Calculates the total width of the syntax-highlighted text.intgetTextWidthUpToChar(net.minecraft.client.font.TextRenderer textRenderer, String line, int charIndex) Calculates the text width from the beginning of the line up to the specified character index.
-
Method Details
-
drawHighlightedText
void drawHighlightedText(net.minecraft.client.gui.DrawContext context, net.minecraft.client.font.TextRenderer textRenderer, String text, int x, int y, boolean editable) Draws syntax-highlighted text at the specified position.- Parameters:
context- the draw context used for renderingtextRenderer- the text renderer for measuring and drawing texttext- the text to be highlighted and drawnx- the x-coordinate of the starting positiony- the y-coordinate of the starting positioneditable- whether the text is in an editable context, which may affect color scheme
-
getTextWidth
Calculates the total width of the syntax-highlighted text.- Parameters:
textRenderer- the text renderer for measuring text widthtext- the text to be measured- Returns:
- the total width in pixels of the highlighted text
-
getCharIndexFromTokens
int getCharIndexFromTokens(net.minecraft.client.font.TextRenderer textRenderer, String line, int targetX) Finds the character index in the text that corresponds to the given x-coordinate.- Parameters:
textRenderer- the text renderer for measuring text widthline- the text line to search intargetX- the target x-coordinate in pixels- Returns:
- the character index at or before the target x-coordinate
-
getTextWidthUpToChar
int getTextWidthUpToChar(net.minecraft.client.font.TextRenderer textRenderer, String line, int charIndex) Calculates the text width from the beginning of the line up to the specified character index.- Parameters:
textRenderer- the text renderer for measuring text widthline- the text line to measurecharIndex- the character index to measure up to (exclusive)- Returns:
- the width in pixels of the text from start to the specified character index
-