2.1 KiB
2.1 KiB
TextBox
A multi-line text editor component with cursor support and text manipulation features
Extends: VisualElement
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| lines | table | {} | Array of text lines |
| cursorX | number | 1 | Cursor X position |
| cursorY | number | 1 | Cursor Y position (line number) |
| scrollX | number | 0 | Horizontal scroll offset |
| scrollY | number | 0 | Vertical scroll offset |
| editable | boolean | true | Whether text can be edited |
| syntaxPatterns | table | {} | Syntax highlighting patterns |
| cursorColor | number | nil | Color of the cursor |
Functions
| Method | Returns | Description |
|---|---|---|
| TextBox:addSyntaxPattern | TextBox | Adds a new syntax highlighting pattern |
| TextBox:removeSyntaxPattern | TextBox | Removes a syntax pattern by index (1-based) |
| TextBox:clearSyntaxPatterns | TextBox | Clears all syntax highlighting patterns |
| TextBox:updateViewport | TextBox | Updates the viewport to keep the cursor in view |
| TextBox:setText | TextBox | Sets the text of the TextBox |
| TextBox:getText | string | Gets the text of the TextBox |
TextBox:addSyntaxPattern(pattern, color)
Adds a new syntax highlighting pattern
Parameters
patternstringThe regex pattern to matchcolornumberThe color to apply
Returns
TextBoxselfThe TextBox instance
TextBox:removeSyntaxPattern(index)
Removes a syntax pattern by index (1-based)
Parameters
indexnumberThe index of the pattern to remove
Returns
TextBoxself
TextBox:clearSyntaxPatterns()
Clears all syntax highlighting patterns
Returns
TextBoxself
TextBox:updateViewport()
Updates the viewport to keep the cursor in view
Returns
TextBoxselfThe TextBox instance
TextBox:setText(text)
Sets the text of the TextBox
Parameters
textstringThe text to set
Returns
TextBoxselfThe TextBox instance
TextBox:getText()
Gets the text of the TextBox
Returns
stringtextThe text of the TextBox