CodeEdit
Source-text editor with line markers, folding and extensible code completion.
CodeEdit extends TextEdit with line numbers, bookmarks, breakpoint/execution markers, folding, indentation rules and a code-completion interface. The control itself does not compile code, connect a debugger or perform language-semantic analysis; the application supplies those services. Configure syntax highlighting through the inherited SyntaxHighlighter.
API lines and columns are zero-based; displayed line numbers start at one. A new CodeEdit uses left-to-right direction. Enable LineFolding to fold lines; GuttersDrawFoldGutter separately shows folding buttons. Hidden lines remain in Text and in saved file contents.
Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.
Constructors1
CodeEditConstructor
public CodeEdit();Creates a code-editor control; add it to a parent with AddChild. Inherits TextEdit, defaults to LTR and disabled folding. Construction does not open a file or connect a compiler/debugger.
Properties22
AutoBraceCompletionEnabledProperty
public bool AutoBraceCompletionEnabled { get; set; }Allows automatic closing-key insertion on user opening-key input and paired handling for Backspace/completion confirmation. Configure AutoBraceCompletionPairs. Does not append brackets for every programmatic Text assignment or InsertText call.
AutoBraceCompletionHighlightMatchingProperty
public bool AutoBraceCompletionHighlightMatching { get; set; }Allows visual highlighting of matching braces. Independent of automatic insertion; does not edit Text or validate the whole program.
AutoBraceCompletionPairsProperty
public Reckfell.Collections.Dictionary AutoBraceCompletionPairs { get; set; }Maps opening keys to closing keys; both are nonempty strings of symbol/punctuation characters. The setter replaces the set; the getter creates a new Dictionary whose mutation does not change rules. Use AddAutoBraceCompletionPair to add one pair. Does not automatically configure string/comment delimiters.
CodeCompletionEnabledProperty
public bool CodeCompletionEnabled { get; set; }Enables built-in completion requests during input and through the query shortcut. Does not supply candidates: handle CodeCompletionRequested, add options and call UpdateCodeCompletionOptions. false does not prohibit direct RequestCodeCompletion calls or guarantee closing an active list; use CancelCodeCompletion to close it.
CodeCompletionPrefixesProperty
public Reckfell.Collections.Array<string> CodeCompletionPrefixes { get; set; }Characters allowing completion requests after them, such as a dot. The setter takes only the first code point of each nonempty string, deduplicates and replaces the set. Supply single-character strings. The getter returns a new array; mutating it does not change settings. Result order does not define candidate priority.
DelimiterCommentsProperty
public Reckfell.Collections.Array<string> DelimiterComments { get; set; }Replaces only the comment rules using strings formatted as “start end”, or “start” for an empty end. The getter returns a new array. Serialization does not preserve lineOnly with a nonempty closing key: use AddCommentDelimiter explicitly for such a rule rather than round-tripping the array. Does not configure syntax colors.
DelimiterStringsProperty
public Reckfell.Collections.Array<string> DelimiterStrings { get; set; }Replaces only the string rules using strings formatted as “start end”, or “start” for an empty end. The getter returns a new array. Serialization does not preserve lineOnly with a nonempty closing key: use AddStringDelimiter explicitly for such a rule rather than round-tripping the array. Does not configure syntax colors.
GuttersDrawBookmarksProperty
public bool GuttersDrawBookmarks { get; set; }Shows bookmarks in the shared main gutter. Does not create bookmarks or clear them when disabled.
GuttersDrawBreakpointsGutterProperty
public bool GuttersDrawBreakpointsGutter { get; set; }Shows breakpoint markers in the shared main gutter and enables its clickability for these actions. Does not create breakpoints or connect a debugger. Hiding does not clear markers.
GuttersDrawExecutingLinesProperty
public bool GuttersDrawExecutingLines { get; set; }Shows execution markers in the shared main gutter. Does not automatically determine the executing line or clear flags when disabled.
GuttersDrawFoldGutterProperty
public bool GuttersDrawFoldGutter { get; set; }Shows the folding-button gutter. Does not enable LineFolding or fold lines by itself. May change available text width.
GuttersDrawLineNumbersProperty
public bool GuttersDrawLineNumbers { get; set; }Shows logical line numbers starting at one. API indexing remains zero-based; wrapped parts do not become new logical lines. Does not change Text.
GuttersLineNumbersMinDigitsProperty
public int GuttersLineNumbersMinDigits { get; set; }Minimum displayed line-number width in digits; use a nonnegative value. The field expands when the final line number needs more digits. Neither a maximum line count nor a change to API indexing.
GuttersZeroPadLineNumbersProperty
public bool GuttersZeroPadLineNumbers { get; set; }Pads displayed line numbers with leading zeroes instead of spaces to the current field width. GuttersLineNumbersMinDigits sets the minimum digit count; document text is unchanged.
IndentAutomaticProperty
public bool IndentAutomatic { get; set; }Allows automatic indentation on newline input using the current line and IndentAutomaticPrefixes. Does not format the entire document or use a compiler to repair C# structure.
IndentAutomaticPrefixesProperty
public Reckfell.Collections.Array<string> IndentAutomaticPrefixes { get; set; }Characters triggering an additional automatic indentation level. Supply nonempty single-character strings: only each first code point is stored. Assignment replaces the set; the getter returns a new array whose mutation does not change settings.
IndentSizeProperty
public int IndentSize { get; set; }Positive indentation step width. The setter also sets inherited TabSize; space indentation uses this many spaces per step. Assignment does not convert existing text: use ConvertIndent.
IndentUseSpacesProperty
public bool IndentUseSpaces { get; set; }Chooses spaces rather than tabs for new indentation. Does not replace existing characters or format the file; ConvertIndent separately converts leading indentation.
LineFoldingProperty
public bool LineFolding { get; set; }Allows logical-line folding. Defaults to false. Disabling reveals all lines; enabling does not fold anything by itself. GuttersDrawFoldGutter separately controls folding icons. Text remains in the document.
LineLengthGuidelinesProperty
public Reckfell.Collections.Array<int> LineLengthGuidelines { get; set; }Columns for vertical line-length guides. Visual aids rather than an input limit or automatic wrapping. The array is shared; mutating a returned array does not itself request redraw: reassign the property or call QueueRedraw.
SymbolLookupOnClickProperty
public bool SymbolLookupOnClick { get; set; }Enables lookup requests through a Ctrl/Cmd-modified click. The application validates the current word through SymbolValidate and SetSymbolLookupWordAsValid, then handles SymbolLookup. Does not provide a symbol index or perform navigation. The setter clears the previously validated word.
SymbolTooltipOnHoverProperty
public bool SymbolTooltipOnHover { get; set; }Allows a delayed SymbolHovered request when hovering over a word. Does not supply tooltip content; the application prepares it. false stops the pending timer rather than disabling your own symbol provider.
Methods119
AddAutoBraceCompletionPairvoid
public void AddAutoBraceCompletionPair(string startKey, string endKey);Adds a pair of nonempty symbol keys, including multi-character keys. An existing opening key cannot be added again; replace the full AutoBraceCompletionPairs mapping to change it. Longer keys are checked before shorter ones. Does not itself edit text or enable automatic insertion.
| Name | Type | Default |
|---|---|---|
startKey | string | — |
endKey | string | — |
startKeyExact nonempty opening symbol key.
endKeyClosing symbol key; an empty end is allowed for delimiters and forces line-only mode, but not for brace pairs.
AddCodeCompletionOption3 overloads
public void AddCodeCompletionOption(CodeEdit.CodeCompletionKind type, string displayText, string insertText, Color? textColor = default, Resource icon = null, Variant value = default, int location = 1024);Stages one candidate for the next batch without immediately opening the list. After staging the complete batch, call UpdateCodeCompletionOptions. displayText is shown to the user; insertText is inserted on confirmation; use nonempty strings. type and location describe presentation and ranking rather than executable code. Prefer the Variant value overload: legacy Nullable<Variant> overloads convert null to integer zero rather than nil.
| Name | Type | Default |
|---|---|---|
type | CodeEdit.CodeCompletionKind | — |
displayText | string | — |
insertText | string | — |
textColor | Color? | default |
icon | Resource | null |
value | Variant | default |
location | int | 1024 |
typeCodeCompletionKind category for option presentation.
displayTextNonempty option label in the list.
insertTextNonempty text inserted on confirmation; may differ from the label.
textColorOption text color; null uses the default white.
iconIcon resource or null; an existing resource remains shared.
valueAdditional default_value record value; a Color may supply a color swatch. Variant? overloads replace null with integer zero.
locationCodeCompletionLocation value/mask for ranking. Not a line number or column.
public void AddCodeCompletionOption(CodeEdit.CodeCompletionKind type, string displayText, string insertText, Color? textColor, Resource icon, Variant? value);Stages one candidate for the next batch without immediately opening the list. After staging the complete batch, call UpdateCodeCompletionOptions. displayText is shown to the user; insertText is inserted on confirmation; use nonempty strings. type and location describe presentation and ranking rather than executable code. Prefer the Variant value overload: legacy Nullable<Variant> overloads convert null to integer zero rather than nil.
| Name | Type | Default |
|---|---|---|
type | CodeEdit.CodeCompletionKind | — |
displayText | string | — |
insertText | string | — |
textColor | Color? | — |
icon | Resource | — |
value | Variant? | — |
typeCodeCompletionKind category for option presentation.
displayTextNonempty option label in the list.
insertTextNonempty text inserted on confirmation; may differ from the label.
textColorOption text color; null uses the default white.
iconIcon resource or null; an existing resource remains shared.
valueAdditional default_value record value; a Color may supply a color swatch. Variant? overloads replace null with integer zero.
public void AddCodeCompletionOption(CodeEdit.CodeCompletionKind type, string displayText, string insertText, Color? textColor, Resource icon, Variant? value, int location);Stages one candidate for the next batch without immediately opening the list. After staging the complete batch, call UpdateCodeCompletionOptions. displayText is shown to the user; insertText is inserted on confirmation; use nonempty strings. type and location describe presentation and ranking rather than executable code. Prefer the Variant value overload: legacy Nullable<Variant> overloads convert null to integer zero rather than nil.
| Name | Type | Default |
|---|---|---|
type | CodeEdit.CodeCompletionKind | — |
displayText | string | — |
insertText | string | — |
textColor | Color? | — |
icon | Resource | — |
value | Variant? | — |
location | int | — |
typeCodeCompletionKind category for option presentation.
displayTextNonempty option label in the list.
insertTextNonempty text inserted on confirmation; may differ from the label.
textColorOption text color; null uses the default white.
iconIcon resource or null; an existing resource remains shared.
valueAdditional default_value record value; a Color may supply a color swatch. Variant? overloads replace null with integer zero.
locationCodeCompletionLocation value/mask for ranking. Not a line number or column.
AddCommentDelimitervoid
public void AddCommentDelimiter(string startKey, string endKey, bool lineOnly = false);Adds a comment delimiter rule for internal editor recognition. startKey is a nonempty symbol key; endKey is a symbol key or empty string, with an empty end forcing lineOnly. Affects commands, folding and context rather than SyntaxHighlighter colors. Check that the same startKey is absent before adding.
| Name | Type | Default |
|---|---|---|
startKey | string | — |
endKey | string | — |
lineOnly | bool | false |
startKeyExact nonempty opening symbol key.
endKeyClosing symbol key; an empty end is allowed for delimiters and forces line-only mode, but not for brace pairs.
lineOnlyRestrict the region to one logical line.
AddStringDelimitervoid
public void AddStringDelimiter(string startKey, string endKey, bool lineOnly = false);Adds a string delimiter rule for internal editor recognition. startKey is a nonempty symbol key; endKey is a symbol key or empty string, with an empty end forcing lineOnly. Affects commands, folding and context rather than SyntaxHighlighter colors. Check that the same startKey is absent before adding.
| Name | Type | Default |
|---|---|---|
startKey | string | — |
endKey | string | — |
lineOnly | bool | false |
startKeyExact nonempty opening symbol key.
endKeyClosing symbol key; an empty end is allowed for delimiters and forces line-only mode, but not for brace pairs.
lineOnlyRestrict the region to one logical line.
CanFoldLinebool
public bool CanFoldLine(int line);Tests whether a line can currently fold: requires LineFolding, a nonempty visible header and a suitable block. An already folded header returns false; test IsLineFolded separately. Boundaries use indentation and configured string/comment delimiters or regions rather than a C# compiler AST.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
boolTests whether a line can currently fold: requires LineFolding, a nonempty visible header and a suitable block. An already folded header returns false; test IsLineFolded separately. Boundaries use indentation and configured string/comment delimiters or regions rather than a C# compiler AST.
CancelCodeCompletionvoid
public void CancelCodeCompletion();Deactivates the completion list and resets forced-display mode. Does not roll back text edits and is not Undo. Does not clear options staged through AddCodeCompletionOption for the next update.
ClearBookmarkedLinesvoid
public void ClearBookmarkedLines();Clears all bookmarks while retaining breakpoint and execution markers. Does not delete document lines.
ClearBreakpointedLinesvoid
public void ClearBreakpointedLines();Clears all breakpoint markers. Emits BreakpointToggled for each currently marked line; repeating with an empty set emits none. Retains other marker types.
ClearCommentDelimitersvoid
public void ClearCommentDelimiters();Removes all comment rules while retaining the other type. Does not remove matching document text or clear an independent SyntaxHighlighter’s rules.
ClearExecutingLinesvoid
public void ClearExecutingLines();Clears all execution markers while retaining bookmarks and breakpoints. Does not affect program execution.
ClearStringDelimitersvoid
public void ClearStringDelimiters();Removes all string rules while retaining the other type. Does not remove matching document text or clear an independent SyntaxHighlighter’s rules.
ConfirmCodeCompletionvoid
public void ConfirmCodeCompletion(bool replace = false);Confirms the selected candidate when Editable and the list is active. The built-in implementation applies insert_text at carets in one Undo group: replace true replaces the current section including the remainder to the right, while false attempts to merge matching text to the right. Does not replace the whole document. Then closes the list; a final prefix character may start another request. _ConfirmCodeCompletion replaces insertion after Editable and active-list checks.
| Name | Type | Default |
|---|---|---|
replace | bool | false |
replaceReplace the remainder of the current section to the right; false attempts to merge matching text.
ConvertIndentvoid
public void ConvertIndent(int fromLine = -1, int toLine = -1);Converts leading indentation in an inclusive range according to IndentUseSpaces/IndentSize. A negative fromLine means the first line; a negative toLine means the last. Skips lines fully classified as string regions; requires Editable. Converting spaces to tabs retains incomplete space groups. Groups changes for Undo; not a full code formatter.
| Name | Type | Default |
|---|---|---|
fromLine | int | -1 |
toLine | int | -1 |
fromLineFirst included line; a negative value means zero.
toLineLast included line; a negative value means document end.
CreateCodeRegionvoid
public void CreateCodeRegion();Surrounds selected line ranges with region markers, attempts folding and selects the first region name for renaming. Requires a selection and a configured single-line comment with an empty end. Inserts two lines per range and removes secondary carets. The direct method does not check Editable: check it before calling. Grouped for Undo.
DeleteLinesvoid
public void DeleteLines();Deletes entire selection/caret lines, then clears selections. Deleting the only line leaves an empty one-line document. One Undo group. A direct call does not check Editable; this does not merely delete selected characters.
DoIndentvoid
public void DoIndent();Calls IndentLines when a selection exists. Otherwise inserts a tab or enough spaces to reach the next indentation step at carets. Requires Editable; an undoable edit command rather than a setting change.
DuplicateLinesvoid
public void DuplicateLines();Duplicates entire selection/caret line ranges before the originals, adding line separators. Unlike DuplicateSelection, is not limited to selected characters. One Undo group; the direct method does not check Editable.
DuplicateSelectionvoid
public void DuplicateSelection();Duplicates selected text before its start; at carets without selections, duplicates the whole line before the current one. Adjusts positions, unfolds affected blocks and groups changes for Undo. The direct method does not check Editable.
FoldAllLinesvoid
public void FoldAllLines();Traverses the document top to bottom and folds available headers. Once an outer block folds, its hidden nested headers are not processed separately. Requires LineFolding; retains text but may move carets.
FoldLinevoid
public void FoldLine(int line);Hides block lines after a header when CanFoldLine is true. Carets in the hidden area collapse to the header end; selections may shrink. Does not delete text or reduce GetLineCount. Does nothing when LineFolding is disabled.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
GetAutoBraceCompletionCloseKeystring
public string GetAutoBraceCompletionCloseKey(string openKey);Returns the closing key for an exact opening key, or an empty string when absent. Does not insert it.
| Name | Type | Default |
|---|---|---|
openKey | string | — |
openKeyExact opening key in pair settings.
stringReturns the closing key for an exact opening key, or an empty string when absent. Does not insert it.
GetAutoBraceCompletionPairsReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary GetAutoBraceCompletionPairs();Maps opening keys to closing keys; both are nonempty strings of symbol/punctuation characters. The setter replaces the set; the getter creates a new Dictionary whose mutation does not change rules. Use AddAutoBraceCompletionPair to add one pair. Does not automatically configure string/comment delimiters.
Reckfell.Collections.DictionaryMaps opening keys to closing keys; both are nonempty strings of symbol/punctuation characters. The setter replaces the set; the getter creates a new Dictionary whose mutation does not change rules. Use AddAutoBraceCompletionPair to add one pair. Does not automatically configure string/comment delimiters.
GetAutoIndentPrefixesReckfell.Collections.Array<string>
public Reckfell.Collections.Array<string> GetAutoIndentPrefixes();Characters triggering an additional automatic indentation level. Supply nonempty single-character strings: only each first code point is stored. Assignment replaces the set; the getter returns a new array whose mutation does not change settings.
Reckfell.Collections.Array<string>Characters triggering an additional automatic indentation level. Supply nonempty single-character strings: only each first code point is stored. Assignment replaces the set; the getter returns a new array whose mutation does not change settings.
GetBookmarkedLinesint[]
public int[] GetBookmarkedLines();Returns a new int[] of bookmarked line indices in ascending order. A snapshot: mutating the array does not change bookmarks. Reread indices after text edits.
int[]Returns a new int[] of bookmarked line indices in ascending order. A snapshot: mutating the array does not change bookmarks. Reread indices after text edits.
GetBreakpointedLinesint[]
public int[] GetBreakpointedLines();Returns a new int[] of breakpoint line indices in ascending order. Mutating the array does not change the editor. Indices shift when lines are inserted or removed; they are not persistent identifiers.
int[]Returns a new int[] of breakpoint line indices in ascending order. Mutating the array does not change the editor. Indices shift when lines are inserted or removed; they are not persistent identifiers.
GetCodeCompletionOptionReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary GetCodeCompletionOption(int index);Returns a new Dictionary record at an index in the current filtered list. Returns an empty record when inactive; validate bounds when active. Keys: kind, display_text, insert_text, font_color, icon, location, default_value. A snapshot rather than an editable option reference; resources and nested values may be shared.
| Name | Type | Default |
|---|---|---|
index | int | — |
indexZero-based index in the current active filtered list.
Reckfell.Collections.DictionaryReturns a new Dictionary record at an index in the current filtered list. Returns an empty record when inactive; validate bounds when active. Keys: kind, display_text, insert_text, font_color, icon, location, default_value. A snapshot rather than an editable option reference; resources and nested values may be shared.
GetCodeCompletionOptionsReckfell.Collections.Array<Reckfell.Collections.Dictionary>
public Reckfell.Collections.Array<Reckfell.Collections.Dictionary> GetCodeCompletionOptions();Returns the active list’s current filtered options, or an empty Array<Dictionary> when inactive. Each record contains kind, display_text, insert_text, font_color, icon, location, default_value. Containers are newly created: mutating them does not update the list. icon resources and nested default_value objects may retain shared references; this is not a deep copy.
Reckfell.Collections.Array<Reckfell.Collections.Dictionary>Returns the active list’s current filtered options, or an empty Array<Dictionary> when inactive. Each record contains kind, display_text, insert_text, font_color, icon, location, default_value. Containers are newly created: mutating them does not update the list. icon resources and nested default_value objects may retain shared references; this is not a deep copy.
GetCodeCompletionPrefixesReckfell.Collections.Array<string>
public Reckfell.Collections.Array<string> GetCodeCompletionPrefixes();Characters allowing completion requests after them, such as a dot. The setter takes only the first code point of each nonempty string, deduplicates and replaces the set. Supply single-character strings. The getter returns a new array; mutating it does not change settings. Result order does not define candidate priority.
Reckfell.Collections.Array<string>Characters allowing completion requests after them, such as a dot. The setter takes only the first code point of each nonempty string, deduplicates and replaces the set. Supply single-character strings. The getter returns a new array; mutating it does not change settings. Result order does not define candidate priority.
GetCodeCompletionSelectedIndexint
public int GetCodeCompletionSelectedIndex();Returns the selected index in the active filtered list, or -1 when inactive. Not a source-candidate ID: filtering and updates can change ordering.
intReturns the selected index in the active filtered list, or -1 when inactive. Not a source-candidate ID: filtering and updates can change ordering.
GetCodeRegionEndTagstring
public string GetCodeRegionEndTag();Returns the end tag name without the comment prefix.
stringReturns the end tag name without the comment prefix.
GetCodeRegionStartTagstring
public string GetCodeRegionStartTag();Returns the start tag name without the comment prefix rather than the entire marker line.
stringReturns the start tag name without the comment prefix rather than the entire marker line.
GetCommentDelimitersReckfell.Collections.Array<string>
public Reckfell.Collections.Array<string> GetCommentDelimiters();Replaces only the comment rules using strings formatted as “start end”, or “start” for an empty end. The getter returns a new array. Serialization does not preserve lineOnly with a nonempty closing key: use AddCommentDelimiter explicitly for such a rule rather than round-tripping the array. Does not configure syntax colors.
Reckfell.Collections.Array<string>Replaces only the comment rules using strings formatted as “start end”, or “start” for an empty end. The getter returns a new array. Serialization does not preserve lineOnly with a nonempty closing key: use AddCommentDelimiter explicitly for such a rule rather than round-tripping the array. Does not configure syntax colors.
GetDelimiterEndKeystring
public string GetDelimiterEndKey(int delimiterIndex);Returns the closing key at a current combined delimiter-set index. An empty string may represent a line-only delimiter with no explicit end.
| Name | Type | Default |
|---|---|---|
delimiterIndex | int | — |
delimiterIndexCurrent combined rule-set index obtained from IsInString/IsInComment.
stringReturns the closing key at a current combined delimiter-set index. An empty string may represent a line-only delimiter with no explicit end.
GetDelimiterEndPositionVector2
public Vector2 GetDelimiterEndPosition(int line, int column);Returns a region end boundary as Vector2: X column after the closing key, Y line. A line-only region without a closing key can use line length plus one. An unfound end returns (-1, -1); check it before computing a range. These are not screen pixels.
| Name | Type | Default |
|---|---|---|
line | int | — |
column | int | — |
lineZero-based existing logical line index.
columnUnicode code-point column; -1 in IsInString/IsInComment requests whole-line coverage.
Vector2Returns a region end boundary as Vector2: X column after the closing key, Y line. A line-only region without a closing key can use line length plus one. An unfound end returns (-1, -1); check it before computing a range. These are not screen pixels.
GetDelimiterStartKeystring
public string GetDelimiterStartKey(int delimiterIndex);Returns the opening key at a current index in the combined string/comment delimiter set. Obtain indices from IsInString/IsInComment; rule changes can invalidate them.
| Name | Type | Default |
|---|---|---|
delimiterIndex | int | — |
delimiterIndexCurrent combined rule-set index obtained from IsInString/IsInComment.
stringReturns the opening key at a current index in the combined string/comment delimiter set. Obtain indices from IsInString/IsInComment; rule changes can invalidate them.
GetDelimiterStartPositionVector2
public Vector2 GetDelimiterStartPosition(int line, int column);Returns a recognized region’s start as Vector2: X column, Y line, (-1, -1) when absent. This is an internal cache boundary: X is the opening key’s start plus one code point, not necessarily the first content character for a multi-character key. Do not use X directly as a content-slice boundary without accounting for key length.
| Name | Type | Default |
|---|---|---|
line | int | — |
column | int | — |
lineZero-based existing logical line index.
columnUnicode code-point column; -1 in IsInString/IsInComment requests whole-line coverage.
Vector2Returns a recognized region’s start as Vector2: X column, Y line, (-1, -1) when absent. This is an internal cache boundary: X is the opening key’s start plus one code point, not necessarily the first content character for a multi-character key. Do not use X directly as a content-slice boundary without accounting for key length.
GetExecutingLinesint[]
public int[] GetExecutingLines();Returns a new int[] of execution-marker line indices in ascending order. May contain multiple indices. Mutating the array does not change the editor.
int[]Returns a new int[] of execution-marker line indices in ascending order. May contain multiple indices. Mutating the array does not change the editor.
GetFoldedLinesReckfell.Collections.Array<int>
public Reckfell.Collections.Array<int> GetFoldedLines();Returns a new Array<int> of visible folded-header indices in ascending order. Hidden nested headers are excluded. Mutating the array does not change folding; use FoldLine/UnfoldLine.
Reckfell.Collections.Array<int>Returns a new Array<int> of visible folded-header indices in ascending order. Hidden nested headers are excluded. Mutating the array does not change folding; use FoldLine/UnfoldLine.
GetIndentSizeint
public int GetIndentSize();Positive indentation step width. The setter also sets inherited TabSize; space indentation uses this many spaces per step. Assignment does not convert existing text: use ConvertIndent.
intPositive indentation step width. The setter also sets inherited TabSize; space indentation uses this many spaces per step. Assignment does not convert existing text: use ConvertIndent.
GetLineLengthGuidelinesReckfell.Collections.Array<int>
public Reckfell.Collections.Array<int> GetLineLengthGuidelines();Columns for vertical line-length guides. Visual aids rather than an input limit or automatic wrapping. The array is shared; mutating a returned array does not itself request redraw: reassign the property or call QueueRedraw.
Reckfell.Collections.Array<int>Columns for vertical line-length guides. Visual aids rather than an input limit or automatic wrapping. The array is shared; mutating a returned array does not itself request redraw: reassign the property or call QueueRedraw.
GetLineNumbersMinDigitsint
public int GetLineNumbersMinDigits();Minimum displayed line-number width in digits; use a nonnegative value. The field expands when the final line number needs more digits. Neither a maximum line count nor a change to API indexing.
intMinimum displayed line-number width in digits; use a nonnegative value. The field expands when the final line number needs more digits. Neither a maximum line count nor a change to API indexing.
GetStringDelimitersReckfell.Collections.Array<string>
public Reckfell.Collections.Array<string> GetStringDelimiters();Replaces only the string rules using strings formatted as “start end”, or “start” for an empty end. The getter returns a new array. Serialization does not preserve lineOnly with a nonempty closing key: use AddStringDelimiter explicitly for such a rule rather than round-tripping the array. Does not configure syntax colors.
Reckfell.Collections.Array<string>Replaces only the string rules using strings formatted as “start end”, or “start” for an empty end. The getter returns a new array. Serialization does not preserve lineOnly with a nonempty closing key: use AddStringDelimiter explicitly for such a rule rather than round-tripping the array. Does not configure syntax colors.
GetTextForCodeCompletionstring
public string GetTextForCodeCompletion();Returns the entire text with a U+FFFF marker at caret 0. Context for the application’s analyzer rather than a completion result; Text is unchanged. Columns use Unicode code points. Do not save the service marker in a source file.
stringReturns the entire text with a U+FFFF marker at caret 0. Context for the application’s analyzer rather than a completion result; Text is unchanged. Columns use Unicode code points. Do not save the service marker in a source file.
GetTextForSymbolLookupstring
public string GetTextForSymbolLookup();Returns the entire text with U+FFFF at the mouse position rather than the text caret. Returns an empty string when the mouse does not hit text. Provides symbol-resolution context; does not find a definition or open a file.
stringReturns the entire text with U+FFFF at the mouse position rather than the text caret. Returns an empty string when the mouse does not hit text. Provides symbol-resolution context; does not find a definition or open a file.
GetTextWithCursorCharstring
public string GetTextWithCursorChar(int line, int column);Returns the entire text with a service U+FFFF at the supplied position without changing Text or the caret. Supply an existing line and a Unicode code-point column from zero through line length. A context snapshot for an analyzer rather than a move or insertion command.
| Name | Type | Default |
|---|---|---|
line | int | — |
column | int | — |
lineZero-based logical line in the current document.
columnZero-based column in Unicode code points.
stringReturns the entire text with a service U+FFFF at the supplied position without changing Text or the caret. Supply an existing line and a Unicode code-point column from zero through line length. A context snapshot for an analyzer rather than a move or insertion command.
HasAutoBraceCompletionCloseKeybool
public bool HasAutoBraceCompletionCloseKey(string closeKey);Tests whether at least one pair has this exact closing key. Does not check document brace balance.
| Name | Type | Default |
|---|---|---|
closeKey | string | — |
closeKeyExact closing key in pair settings.
boolTests whether at least one pair has this exact closing key. Does not check document brace balance.
HasAutoBraceCompletionOpenKeybool
public bool HasAutoBraceCompletionOpenKey(string openKey);Tests exact opening-key membership in pair settings rather than searching the document.
| Name | Type | Default |
|---|---|---|
openKey | string | — |
openKeyExact opening key in pair settings.
boolTests exact opening-key membership in pair settings rather than searching the document.
HasCommentDelimiterbool
public bool HasCommentDelimiter(string startKey);Tests exact startKey membership among comment rules rather than searching document text.
| Name | Type | Default |
|---|---|---|
startKey | string | — |
startKeyExact nonempty opening symbol key.
boolTests exact startKey membership among comment rules rather than searching document text.
HasStringDelimiterbool
public bool HasStringDelimiter(string startKey);Tests exact startKey membership among string rules rather than searching document text.
| Name | Type | Default |
|---|---|---|
startKey | string | — |
startKeyExact nonempty opening symbol key.
boolTests exact startKey membership among string rules rather than searching document text.
IndentLinesvoid
public void IndentLines();Increases leading indentation of selection/caret lines. Skips completely empty lines; spaces align to the next step, tabs add one tab. Requires Editable and groups changes for Undo.
IsAutoBraceCompletionEnabledbool
public bool IsAutoBraceCompletionEnabled();Allows automatic closing-key insertion on user opening-key input and paired handling for Backspace/completion confirmation. Configure AutoBraceCompletionPairs. Does not append brackets for every programmatic Text assignment or InsertText call.
boolAllows automatic closing-key insertion on user opening-key input and paired handling for Backspace/completion confirmation. Configure AutoBraceCompletionPairs. Does not append brackets for every programmatic Text assignment or InsertText call.
IsAutoIndentEnabledbool
public bool IsAutoIndentEnabled();Allows automatic indentation on newline input using the current line and IndentAutomaticPrefixes. Does not format the entire document or use a compiler to repair C# structure.
boolAllows automatic indentation on newline input using the current line and IndentAutomaticPrefixes. Does not format the entire document or use a compiler to repair C# structure.
IsCodeCompletionEnabledbool
public bool IsCodeCompletionEnabled();Enables built-in completion requests during input and through the query shortcut. Does not supply candidates: handle CodeCompletionRequested, add options and call UpdateCodeCompletionOptions. false does not prohibit direct RequestCodeCompletion calls or guarantee closing an active list; use CancelCodeCompletion to close it.
boolEnables built-in completion requests during input and through the query shortcut. Does not supply candidates: handle CodeCompletionRequested, add options and call UpdateCodeCompletionOptions. false does not prohibit direct RequestCodeCompletion calls or guarantee closing an active list; use CancelCodeCompletion to close it.
IsDrawLineNumbersEnabledbool
public bool IsDrawLineNumbersEnabled();Shows logical line numbers starting at one. API indexing remains zero-based; wrapped parts do not become new logical lines. Does not change Text.
boolShows logical line numbers starting at one. API indexing remains zero-based; wrapped parts do not become new logical lines. Does not change Text.
IsDrawingBookmarksGutterbool
public bool IsDrawingBookmarksGutter();Shows bookmarks in the shared main gutter. Does not create bookmarks or clear them when disabled.
boolShows bookmarks in the shared main gutter. Does not create bookmarks or clear them when disabled.
IsDrawingBreakpointsGutterbool
public bool IsDrawingBreakpointsGutter();Shows breakpoint markers in the shared main gutter and enables its clickability for these actions. Does not create breakpoints or connect a debugger. Hiding does not clear markers.
boolShows breakpoint markers in the shared main gutter and enables its clickability for these actions. Does not create breakpoints or connect a debugger. Hiding does not clear markers.
IsDrawingExecutingLinesGutterbool
public bool IsDrawingExecutingLinesGutter();Shows execution markers in the shared main gutter. Does not automatically determine the executing line or clear flags when disabled.
boolShows execution markers in the shared main gutter. Does not automatically determine the executing line or clear flags when disabled.
IsDrawingFoldGutterbool
public bool IsDrawingFoldGutter();Shows the folding-button gutter. Does not enable LineFolding or fold lines by itself. May change available text width.
boolShows the folding-button gutter. Does not enable LineFolding or fold lines by itself. May change available text width.
IsHighlightMatchingBracesEnabledbool
public bool IsHighlightMatchingBracesEnabled();Allows visual highlighting of matching braces. Independent of automatic insertion; does not edit Text or validate the whole program.
boolAllows visual highlighting of matching braces. Independent of automatic insertion; does not edit Text or validate the whole program.
IsInCommentint
public int IsInComment(int line, int column = -1);Returns a matching rule index in the combined delimiter set, or -1. column -1 tests whole-line coverage excluding edge whitespace rather than the presence of any fragment. Supply a Unicode code-point column for a specific position. Not a bool; compare the result with -1.
| Name | Type | Default |
|---|---|---|
line | int | — |
column | int | -1 |
lineZero-based existing logical line index.
columnUnicode code-point column; -1 in IsInString/IsInComment requests whole-line coverage.
intReturns a matching rule index in the combined delimiter set, or -1. column -1 tests whole-line coverage excluding edge whitespace rather than the presence of any fragment. Supply a Unicode code-point column for a specific position. Not a bool; compare the result with -1.
IsInStringint
public int IsInString(int line, int column = -1);Returns a matching rule index in the combined delimiter set, or -1. column -1 tests whole-line coverage excluding edge whitespace rather than the presence of any fragment. Supply a Unicode code-point column for a specific position. Not a bool; compare the result with -1.
| Name | Type | Default |
|---|---|---|
line | int | — |
column | int | -1 |
lineZero-based existing logical line index.
columnUnicode code-point column; -1 in IsInString/IsInComment requests whole-line coverage.
intReturns a matching rule index in the combined delimiter set, or -1. column -1 tests whole-line coverage excluding edge whitespace rather than the presence of any fragment. Supply a Unicode code-point column for a specific position. Not a bool; compare the result with -1.
IsIndentUsingSpacesbool
public bool IsIndentUsingSpaces();Chooses spaces rather than tabs for new indentation. Does not replace existing characters or format the file; ConvertIndent separately converts leading indentation.
boolChooses spaces rather than tabs for new indentation. Does not replace existing characters or format the file; ConvertIndent separately converts leading indentation.
IsLineBookmarkedbool
public bool IsLineBookmarked(int line);Tests an existing line’s bookmark flag independently of gutter visibility.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
boolTests an existing line’s bookmark flag independently of gutter visibility.
IsLineBreakpointedbool
public bool IsLineBreakpointed(int line);Tests an existing line’s breakpoint marker. Does not confirm debugger attachment or that execution can stop on that line.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
boolTests an existing line’s breakpoint marker. Does not confirm debugger attachment or that execution can stop on that line.
IsLineCodeRegionEndbool
public bool IsLineCodeRegionEnd(int line);Tests the configured region-end token after trimming edge whitespace; does not validate whole-document pairing or nesting.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineZero-based existing logical line index.
boolTests the configured region-end token after trimming edge whitespace; does not validate whole-document pairing or nesting.
IsLineCodeRegionStartbool
public bool IsLineCodeRegionStart(int line);Tests whether the edge-trimmed line begins with the configured region-start token. A line classified inside a string is excluded. Recognizing one marker does not guarantee a matching end.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineZero-based existing logical line index.
boolTests whether the edge-trimmed line begins with the configured region-start token. A line classified inside a string is excluded. Recognizing one marker does not guarantee a matching end.
IsLineExecutingbool
public bool IsLineExecuting(int line);Tests an existing line’s execution marker rather than querying the actual VM/debugger state.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
boolTests an existing line’s execution marker rather than querying the actual VM/debugger state.
IsLineFoldedbool
public bool IsLineFolded(int line);true for a visible header immediately followed by a hidden line. Returns false for a hidden body line: not a general line-visibility test.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
booltrue for a visible header immediately followed by a hidden line. Returns false for a hidden body line: not a general line-visibility test.
IsLineFoldingEnabledbool
public bool IsLineFoldingEnabled();Allows logical-line folding. Defaults to false. Disabling reveals all lines; enabling does not fold anything by itself. GuttersDrawFoldGutter separately controls folding icons. Text remains in the document.
boolAllows logical-line folding. Defaults to false. Disabling reveals all lines; enabling does not fold anything by itself. GuttersDrawFoldGutter separately controls folding icons. Text remains in the document.
IsLineNumbersZeroPaddedbool
public bool IsLineNumbersZeroPadded();Pads displayed line numbers with leading zeroes instead of spaces to the current field width. GuttersLineNumbersMinDigits sets the minimum digit count; document text is unchanged.
boolPads displayed line numbers with leading zeroes instead of spaces to the current field width. GuttersLineNumbersMinDigits sets the minimum digit count; document text is unchanged.
IsSymbolLookupOnClickEnabledbool
public bool IsSymbolLookupOnClickEnabled();Enables lookup requests through a Ctrl/Cmd-modified click. The application validates the current word through SymbolValidate and SetSymbolLookupWordAsValid, then handles SymbolLookup. Does not provide a symbol index or perform navigation. The setter clears the previously validated word.
boolEnables lookup requests through a Ctrl/Cmd-modified click. The application validates the current word through SymbolValidate and SetSymbolLookupWordAsValid, then handles SymbolLookup. Does not provide a symbol index or perform navigation. The setter clears the previously validated word.
IsSymbolTooltipOnHoverEnabledbool
public bool IsSymbolTooltipOnHoverEnabled();Allows a delayed SymbolHovered request when hovering over a word. Does not supply tooltip content; the application prepares it. false stops the pending timer rather than disabling your own symbol provider.
boolAllows a delayed SymbolHovered request when hovering over a word. Does not supply tooltip content; the application prepares it. false stops the pending timer rather than disabling your own symbol provider.
JoinLinesvoid
public void JoinLines(string lineEnding = " ");Joins each affected line to its successor, removing edge whitespace at the join. Inserts lineEnding between nonempty parts; newlines in it are forbidden. Without selection, joins the caret line to the next; a range can include the successor of the last selected line. One Undo group; the direct method does not check Editable.
| Name | Type | Default |
|---|---|---|
lineEnding | string | " " |
lineEndingSeparator between nonempty parts, a space by default; must contain no newline.
MoveLinesDownvoid
public void MoveLinesDown();Moves line ranges one line downward, adjusting carets/selections and unfolding blocks. A range at document end does not move. One Undo group; a direct call does not check Editable.
MoveLinesUpvoid
public void MoveLinesUp();Moves selection/caret line ranges one line upward, unfolding affected blocks. A range at document start stays in place. Grouped for Undo. A direct call does not check Editable; enforce it in your command handler.
RemoveCommentDelimitervoid
public void RemoveCommentDelimiter(string startKey);Removes a comment rule by exact startKey and updates recognition caches. Does not edit document text; remaining rule indices may change.
| Name | Type | Default |
|---|---|---|
startKey | string | — |
startKeyExact nonempty opening symbol key.
RemoveStringDelimitervoid
public void RemoveStringDelimiter(string startKey);Removes a string rule by exact startKey and updates recognition caches. Does not edit document text; remaining rule indices may change.
| Name | Type | Default |
|---|---|---|
startKey | string | — |
startKeyExact nonempty opening symbol key.
RequestCodeCompletionvoid
public void RequestCodeCompletion(bool force = false);Requests candidates through CodeCompletionRequested for a suitable caret-0 context. force bypasses the ordinary context check but not the guard for an already active homogeneous FilePath/EntityPath/Signal list. Does not create candidates or insert text. Overriding _RequestCodeCompletion replaces the default request and event. A direct call does not test CodeCompletionEnabled.
| Name | Type | Default |
|---|---|---|
force | bool | false |
forceRelax request/display context checks; does not guarantee candidates or a visible list.
SetAutoBraceCompletionEnabledvoid
public void SetAutoBraceCompletionEnabled(bool enable);Allows automatic closing-key insertion on user opening-key input and paired handling for Backspace/completion confirmation. Configure AutoBraceCompletionPairs. Does not append brackets for every programmatic Text assignment or InsertText call.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described setting; existing text is not automatically converted.
SetAutoBraceCompletionPairsvoid
public void SetAutoBraceCompletionPairs(Reckfell.Collections.Dictionary pairs);Maps opening keys to closing keys; both are nonempty strings of symbol/punctuation characters. The setter replaces the set; the getter creates a new Dictionary whose mutation does not change rules. Use AddAutoBraceCompletionPair to add one pair. Does not automatically configure string/comment delimiters.
| Name | Type | Default |
|---|---|---|
pairs | Reckfell.Collections.Dictionary | — |
pairsDictionary mapping a nonempty opening key to a nonempty closing key.
SetAutoIndentEnabledvoid
public void SetAutoIndentEnabled(bool enable);Allows automatic indentation on newline input using the current line and IndentAutomaticPrefixes. Does not format the entire document or use a compiler to repair C# structure.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described setting; existing text is not automatically converted.
SetAutoIndentPrefixesvoid
public void SetAutoIndentPrefixes(Reckfell.Collections.Array<string> prefixes);Characters triggering an additional automatic indentation level. Supply nonempty single-character strings: only each first code point is stored. Assignment replaces the set; the getter returns a new array whose mutation does not change settings.
| Name | Type | Default |
|---|---|---|
prefixes | Reckfell.Collections.Array<string> | — |
prefixesNonempty single-character strings; only the first code point is used.
SetCodeCompletionEnabledvoid
public void SetCodeCompletionEnabled(bool enable);Enables built-in completion requests during input and through the query shortcut. Does not supply candidates: handle CodeCompletionRequested, add options and call UpdateCodeCompletionOptions. false does not prohibit direct RequestCodeCompletion calls or guarantee closing an active list; use CancelCodeCompletion to close it.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described interaction path; the application supplies the data source.
SetCodeCompletionPrefixesvoid
public void SetCodeCompletionPrefixes(Reckfell.Collections.Array<string> prefixes);Characters allowing completion requests after them, such as a dot. The setter takes only the first code point of each nonempty string, deduplicates and replaces the set. Supply single-character strings. The getter returns a new array; mutating it does not change settings. Result order does not define candidate priority.
| Name | Type | Default |
|---|---|---|
prefixes | Reckfell.Collections.Array<string> | — |
prefixesNonempty single-character strings; only the first code point of each is stored.
SetCodeCompletionSelectedIndexvoid
public void SetCodeCompletionSelectedIndex(int index);Selects a valid index in the active filtered list. Does nothing when inactive; -1 is not a close command. Does not insert text: call ConfirmCodeCompletion to confirm.
| Name | Type | Default |
|---|---|---|
index | int | — |
indexZero-based index in the current active filtered list.
SetCodeHintvoid
public void SetCodeHint(string codeHint);Sets a separate text hint, such as a function signature; an empty string hides it. Does not add a completion option or analyze a function. A pair of U+FFFF markers in a line highlights the span between them; markers are not drawn. Document text is unchanged.
| Name | Type | Default |
|---|---|---|
codeHint | string | — |
codeHintHint text; an empty string hides it.
SetCodeHintDrawBelowvoid
public void SetCodeHintDrawBelow(bool drawBelow);Positions the SetCodeHint hint below the current line rather than above. Does not itself set hint text or open completion options.
| Name | Type | Default |
|---|---|---|
drawBelow | bool | — |
drawBelowtrue below the current line; false above.
SetCodeRegionTagsvoid
public void SetCodeRegionTags(string start = "region", string end = "endregion");Sets distinct nonempty region start/end tag names, such as region/endregion. Actual markers concatenate a single-line comment prefix and the tag without adding a space. Configure such a comment first through AddCommentDelimiter with an empty end. Does not rewrite existing document markers.
| Name | Type | Default |
|---|---|---|
start | string | "region" |
end | string | "endregion" |
startNonempty start tag without the comment prefix; must differ from end.
endNonempty end tag without the comment prefix.
SetCommentDelimitersvoid
public void SetCommentDelimiters(Reckfell.Collections.Array<string> commentDelimiters);Replaces only the comment rules using strings formatted as “start end”, or “start” for an empty end. The getter returns a new array. Serialization does not preserve lineOnly with a nonempty closing key: use AddCommentDelimiter explicitly for such a rule rather than round-tripping the array. Does not configure syntax colors.
| Name | Type | Default |
|---|---|---|
commentDelimiters | Reckfell.Collections.Array<string> | — |
commentDelimiters“start end” or “start” entries replacing comment rules.
SetDrawBookmarksGuttervoid
public void SetDrawBookmarksGutter(bool enable);Shows bookmarks in the shared main gutter. Does not create bookmarks or clear them when disabled.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described display or folding setting.
SetDrawBreakpointsGuttervoid
public void SetDrawBreakpointsGutter(bool enable);Shows breakpoint markers in the shared main gutter and enables its clickability for these actions. Does not create breakpoints or connect a debugger. Hiding does not clear markers.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described display or folding setting.
SetDrawExecutingLinesGuttervoid
public void SetDrawExecutingLinesGutter(bool enable);Shows execution markers in the shared main gutter. Does not automatically determine the executing line or clear flags when disabled.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described display or folding setting.
SetDrawFoldGuttervoid
public void SetDrawFoldGutter(bool enable);Shows the folding-button gutter. Does not enable LineFolding or fold lines by itself. May change available text width.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described display or folding setting.
SetDrawLineNumbersvoid
public void SetDrawLineNumbers(bool enable);Shows logical line numbers starting at one. API indexing remains zero-based; wrapped parts do not become new logical lines. Does not change Text.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described display or folding setting.
SetHighlightMatchingBracesEnabledvoid
public void SetHighlightMatchingBracesEnabled(bool enable);Allows visual highlighting of matching braces. Independent of automatic insertion; does not edit Text or validate the whole program.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described setting; existing text is not automatically converted.
SetIndentSizevoid
public void SetIndentSize(int size);Positive indentation step width. The setter also sets inherited TabSize; space indentation uses this many spaces per step. Assignment does not convert existing text: use ConvertIndent.
| Name | Type | Default |
|---|---|---|
size | int | — |
sizePositive indentation step width; also sets TabSize.
SetIndentUsingSpacesvoid
public void SetIndentUsingSpaces(bool useSpaces);Chooses spaces rather than tabs for new indentation. Does not replace existing characters or format the file; ConvertIndent separately converts leading indentation.
| Name | Type | Default |
|---|---|---|
useSpaces | bool | — |
useSpacesUse spaces rather than tabs for new indentation.
SetLineAsBookmarkedvoid
public void SetLineAsBookmarked(int line, bool bookmarked);Sets or clears a line bookmark while retaining breakpoint and execution markers. Does not move the caret, edit text or create a bookmark file. GuttersDrawBookmarks separately enables its icon.
| Name | Type | Default |
|---|---|---|
line | int | — |
bookmarked | bool | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
bookmarkedSet the bookmark; false clears it.
SetLineAsBreakpointvoid
public void SetLineAsBreakpoint(int line, bool breakpointed);Sets or clears a line’s breakpoint marker. Every call emits BreakpointToggled, even when the state is unchanged. For idempotent synchronization, compare IsLineBreakpointed first. This is UI state; configure actual program suspension through your debugger.
| Name | Type | Default |
|---|---|---|
line | int | — |
breakpointed | bool | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
breakpointedSet the marker; false clears it.
SetLineAsExecutingvoid
public void SetLineAsExecuting(int line, bool executing);Sets or clears a visual execution marker. Multiple lines may be marked; does not run, suspend or step code. The application manages state and clearing. GuttersDrawExecutingLines separately enables the icon.
| Name | Type | Default |
|---|---|---|
line | int | — |
executing | bool | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
executingSet the execution marker; false clears it.
SetLineFoldingEnabledvoid
public void SetLineFoldingEnabled(bool enabled);Allows logical-line folding. Defaults to false. Disabling reveals all lines; enabling does not fold anything by itself. GuttersDrawFoldGutter separately controls folding icons. Text remains in the document.
| Name | Type | Default |
|---|---|---|
enabled | bool | — |
enabledEnable the described display or folding setting.
SetLineLengthGuidelinesvoid
public void SetLineLengthGuidelines(Reckfell.Collections.Array<int> guidelineColumns);Columns for vertical line-length guides. Visual aids rather than an input limit or automatic wrapping. The array is shared; mutating a returned array does not itself request redraw: reassign the property or call QueueRedraw.
| Name | Type | Default |
|---|---|---|
guidelineColumns | Reckfell.Collections.Array<int> | — |
guidelineColumnsArray of visual guide columns; retained by shared reference.
SetLineNumbersMinDigitsvoid
public void SetLineNumbersMinDigits(int count);Minimum displayed line-number width in digits; use a nonnegative value. The field expands when the final line number needs more digits. Neither a maximum line count nor a change to API indexing.
| Name | Type | Default |
|---|---|---|
count | int | — |
countNonnegative minimum line-number width in digits.
SetLineNumbersZeroPaddedvoid
public void SetLineNumbersZeroPadded(bool enable);Pads displayed line numbers with leading zeroes instead of spaces to the current field width. GuttersLineNumbersMinDigits sets the minimum digit count; document text is unchanged.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described display or folding setting.
SetStringDelimitersvoid
public void SetStringDelimiters(Reckfell.Collections.Array<string> stringDelimiters);Replaces only the string rules using strings formatted as “start end”, or “start” for an empty end. The getter returns a new array. Serialization does not preserve lineOnly with a nonempty closing key: use AddStringDelimiter explicitly for such a rule rather than round-tripping the array. Does not configure syntax colors.
| Name | Type | Default |
|---|---|---|
stringDelimiters | Reckfell.Collections.Array<string> | — |
stringDelimiters“start end” or “start” entries replacing string rules.
SetSymbolLookupOnClickEnabledvoid
public void SetSymbolLookupOnClickEnabled(bool enable);Enables lookup requests through a Ctrl/Cmd-modified click. The application validates the current word through SymbolValidate and SetSymbolLookupWordAsValid, then handles SymbolLookup. Does not provide a symbol index or perform navigation. The setter clears the previously validated word.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described interaction path; the application supplies the data source.
SetSymbolLookupWordAsValidvoid
public void SetSymbolLookupWordAsValid(bool valid);Accepts or rejects the current pending SymbolValidate word and consumes that pending state. true enables its lookup highlighting/navigation; false clears it. Supplies neither a symbol name nor a definition address: respond to the current request, preferably in its handler.
| Name | Type | Default |
|---|---|---|
valid | bool | — |
validAccept the current pending word; false rejects it.
SetSymbolTooltipOnHoverEnabledvoid
public void SetSymbolTooltipOnHoverEnabled(bool enable);Allows a delayed SymbolHovered request when hovering over a word. Does not supply tooltip content; the application prepares it. false stops the pending timer rather than disabling your own symbol provider.
| Name | Type | Default |
|---|---|---|
enable | bool | — |
enableEnable the described interaction path; the application supplies the data source.
ToggleFoldableLinevoid
public void ToggleFoldableLine(int line);Unfolds a folded header or attempts to fold an eligible line. For a hidden body line this is not equivalent to UnfoldLine: call UnfoldLine explicitly. Does not edit text.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
ToggleFoldableLinesAtCaretsvoid
public void ToggleFoldableLinesAtCarets();Toggles folding at caret lines in document order. Multiple carets on one header toggle it once. Folding may merge carets or exclude affected carets from further processing.
UnfoldAllLinesvoid
public void UnfoldAllLines();Reveals all hidden blocks while retaining text and the LineFolding setting. Does not restore caret positions previously moved by folding.
UnfoldLinevoid
public void UnfoldLine(int line);Reveals the contiguous hidden block after the supplied header; a hidden body line may be supplied to locate its header. Nested folds in the revealed area are also cleared: prior nested-fold state is not preserved. Text is unchanged.
| Name | Type | Default |
|---|---|---|
line | int | — |
lineExisting logical line index from 0 through GetLineCount() - 1.
UnindentLinesvoid
public void UnindentLines();Reduces indentation of selection/caret lines by removing a leading tab or spaces back to the previous step. Requires Editable; groups edits for Undo. Does not remove arbitrary spaces inside code.
UpdateCodeCompletionOptionsvoid
public void UpdateCodeCompletionOptions(bool force);Replaces the source candidate set with the staged AddCodeCompletionOption queue, clears that queue and filters for the current caret-0 context. Calling again without new candidates submits an empty batch. force relaxes some automatic-display conditions but does not guarantee a visible list with unsuitable context or no matches. Use _FilterCodeCompletionCandidates for a custom filter.
| Name | Type | Default |
|---|---|---|
force | bool | — |
forceRelax request/display context checks; does not guarantee candidates or a visible list.
_ConfirmCodeCompletionvoid
public virtual void _ConfirmCodeCompletion(bool replace);Overrides selected-option insertion after Editable and active-list checks. Obtain the selected record, perform edits and required Undo grouping, then call CancelCodeCompletion as appropriate. Default insertion and closing do not continue automatically. The base C# method is empty; calling ConfirmCodeCompletion from the handler recurses.
| Name | Type | Default |
|---|---|---|
replace | bool | — |
replaceReplace the remainder of the current section to the right; false attempts to merge matching text.
_FilterCodeCompletionCandidatesReckfell.Collections.Array<Reckfell.Collections.Dictionary>
public virtual Reckfell.Collections.Array<Reckfell.Collections.Dictionary> _FilterCodeCompletionCandidates(Reckfell.Collections.Array<Reckfell.Collections.Dictionary> candidates);Replaces built-in filtering and ranking: return records with the complete GetCodeCompletionOption key set in the required order. An empty result closes the list. The base C# method does not run the default filter. This path resets the completion base: do not assume default confirmation removes a typed prefix as the built-in filter does; use _ConfirmCodeCompletion for custom insertion semantics.
| Name | Type | Default |
|---|---|---|
candidates | Reckfell.Collections.Array<Reckfell.Collections.Dictionary> | — |
candidatesRecords containing kind, display_text, insert_text, font_color, icon, location, default_value.
Reckfell.Collections.Array<Reckfell.Collections.Dictionary>Replaces built-in filtering and ranking: return records with the complete GetCodeCompletionOption key set in the required order. An empty result closes the list. The base C# method does not run the default filter. This path resets the completion base: do not assume default confirmation removes a typed prefix as the built-in filter does; use _ConfirmCodeCompletion for custom insertion semantics.
_RequestCodeCompletionvoid
public virtual void _RequestCodeCompletion(bool force);An override completely replaces default RequestCodeCompletion, including CodeCompletionRequested. Prepare candidates and call UpdateCodeCompletionOptions yourself, or issue your own provider request. The base C# method is empty. Do not call RequestCodeCompletion from the handler to continue: it recurses.
| Name | Type | Default |
|---|---|---|
force | bool | — |
forceRelax request/display context checks; does not guarantee candidates or a visible list.
Signals and events5
BreakpointToggledEvent
public event CodeEdit.BreakpointToggledEventHandler BreakpointToggled;Notifies which line’s breakpoint state should be reread with IsLineBreakpointed. A programmatic setter emits it even without a value change. Moving a breakpoint after a text edit can notify both old and new indices; do not treat the event as an unconditional bool toggle. Validate the current line range first: an old index may no longer exist.
| Name | Type | Default |
|---|---|---|
line | long | — |
lineLogical line index from 0 through GetLineCount() - 1. An event may report an obsolete index: validate bounds first.
CodeCompletionRequestedEvent
public event Action CodeCompletionRequested;Asks the application to prepare candidates for the current context. Obtain GetTextForCodeCompletion, add options with AddCodeCompletionOption, then call UpdateCodeCompletionOptions once. Each submitted batch replaces the previous one rather than extending it. For an asynchronous response, verify that text and caret context still match: the request has no built-in ID.
SymbolHoveredEvent
public event CodeEdit.SymbolHoveredEventHandler SymbolHovered;Delayed-hover event with a symbol and its line/column in the current document. Emitted under suitable pointer/input conditions; the application supplies and displays tooltip content. Does not automatically provide a symbol type or documentation.
| Name | Type | Default |
|---|---|---|
symbol | string | — |
line | long | — |
column | long | — |
symbolCandidate symbol text in the current document.
lineZero-based logical line in the current document.
columnZero-based column in Unicode code points.
SymbolLookupEvent
public event CodeEdit.SymbolLookupEventHandler SymbolLookup;Asks the application to navigate to a validated symbol’s definition. symbol, line and column describe the clicked location in the current document rather than a definition address. The application resolves the target and opens the file/position.
| Name | Type | Default |
|---|---|---|
symbol | string | — |
line | long | — |
column | long | — |
symbolCandidate symbol text in the current document.
lineZero-based logical line in the current document.
columnZero-based column in Unicode code points.
SymbolValidateEvent
public event CodeEdit.SymbolValidateEventHandler SymbolValidate;Asks whether the current word supports navigation. Resolve it with your own system and respond with SetSymbolLookupWordAsValid. Validates a navigation candidate rather than reporting compiler diagnostics. The pending word changes with pointer movement: do not apply a delayed response without checking freshness.
| Name | Type | Default |
|---|---|---|
symbol | string | — |
symbolCandidate symbol text in the current document.
CodeEdit.CodeCompletionKind
| Value | Description |
|---|---|
Class = 0 | Marks the option as a class. |
Constant = 6 | Marks the option as a constant. |
EntityPath = 7 | Marks the option as a Reckfell node path. |
Enum = 5 | Marks the option as an enum entry. |
FilePath = 8 | Marks the option as a file path. |
Function = 1 | Marks the option as a function. |
Keyword = 10 | Marks the option as a keyword. |
Member = 4 | Marks the option as a member. |
PlainText = 9 | Marks the option as unclassified or plain text. |
Signal = 2 | Marks the option as a Reckfell signal. |
Variable = 3 | Marks the option as a variable. |
CodeEdit.CodeCompletionLocation
| Value | Description |
|---|---|
Local = 0 | The option is local to the location of the code completion query - e.g. a local variable. Subsequent value of location represent options from the outer class, the exact value represent how far they are (in terms of inner classes). |
Other = 1024 | The option is from other engine code, not covered by the other enum constants - e.g. built-in classes. |
OtherUserCode = 512 | The option is from user code which is not local and not in a derived class (e.g. Autoload Singletons). |
ParentMask = 256 | The option is from the containing class or a parent class, relative to the location of the code completion query. Perform a bitwise OR with the class depth (e.g. |
Theme properties
These are Theme resource keys, not C# properties. Use the matching Control GetTheme…() and AddTheme…Override() methods for each value type.
| Key and type | Description |
|---|---|
bookmark_colorColor |
Color(0.5, 0.64, 1, 0.8) |
brace_mismatch_colorColor |
Color(1, 0.2, 0.2, 1) |
breakpoint_colorColor |
Color(0.9, 0.29, 0.3, 1) |
code_folding_colorColor |
Color(0.8, 0.8, 0.8, 0.8) |
completion_background_colorColor | Sets the background Color(0.17, 0.16, 0.2, 1) |
completion_existing_colorColor | Background highlight Color(0.87, 0.87, 0.87, 0.13) |
completion_scroll_colorColor |
Color(1, 1, 1, 0.29) |
completion_scroll_hovered_colorColor |
Color(1, 1, 1, 0.4) |
completion_selected_colorColor | Background highlight Color(0.26, 0.26, 0.27, 1) |
executing_line_colorColor |
Color(0.98, 0.89, 0.27, 1) |
folded_code_region_colorColor |
Color(0.68, 0.46, 0.77, 0.2) |
line_length_guideline_colorColor |
Color(0.3, 0.5, 0.8, 0.1) |
line_number_colorColor | Sets the Color(0.67, 0.67, 0.67, 0.4) |
completion_linesint | Max number of options to display in the code completion popup at any one time. Default:7 |
completion_max_widthint | Max width of options in the code completion popup. Options longer than this will be cut off. Default:50 |
completion_scroll_widthint | Width of the scrollbar in the code completion popup. Default:6 |
bookmarkTexture2D | Sets a custom |
breakpointTexture2D | Sets a custom |
can_foldTexture2D | Sets a custom |
can_fold_code_regionTexture2D | Sets a custom |
completion_color_bgTexture2D | Background panel for the color preview box in autocompletion (visible when the color is translucent). |
executing_lineTexture2D | Icon to draw in the executing gutter for executing lines. |
foldedTexture2D | Sets a custom |
folded_code_regionTexture2D | Sets a custom |
folded_eol_iconTexture2D | Sets a custom |
completionStyleBox |
|