reckfellENGINE

CodeHighlighter

Настраиваемая лексическая подсветка ключевых слов, чисел, вызовов и цветовых областей.

На этой странице
class CodeHighlighterReckfellSharpНаследует SyntaxHighlighter

CodeHighlighter — готовая лексическая реализация для TextEdit, не компилятор и не семантический анализатор C#. Назначьте отдельный экземпляр каждому редактору, настройте цвета токенов, затем добавьте ключевые слова и области комментариев/строк. Готовый набор правил языка автоматически не загружается.

KeywordColors и MemberKeywordColors сопоставляют точные слова с Color с учётом регистра. MemberKeywordColors применяется к отдельным словам; после точки используется правило MemberVariableColor. Важное ограничение: чёрный с alpha = 1 в таблице ключевых слов служит маркером отсутствия цвета и не применяется, даже если HasKeywordColor возвращает true. Для такого точного цвета используйте собственный SyntaxHighlighter.

Таблицы ключевых слов разделяются с переданными словарями и результатами getters. Изменение содержимого на месте не инвалидирует кэш; ClearKeywordColors очищает и общий словарь вызывающего кода. Предпочитайте Add/Remove-методы или отдельные заранее подготовленные таблицы. После смены правил вызовите EmitChanged; после изменения общего словаря сначала ClearHighlightingCache, затем EmitChanged.

AddColorRegion задаёт буквальные символы начала/конца области. Пустой конец всегда ограничивает область строкой; lineOnly = true делает это и при заданном конце. Более длинное начало проверяется раньше короткого. ColorRegions использует ключ "начало конец", но не сохраняет lineOnly: чтение и обратное назначение словаря может превратить однострочную область в многострочную. Для точной настройки используйте AddColorRegion.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

CodeHighlighterКонструктор
# CodeHighlighter
C#
public CodeHighlighter();

Создаёт лексический highlighter с пустыми таблицами ключевых слов и областей. Назначьте редактор и настройте палитру; это не готовая конфигурация синтаксиса конкретного языка.

Свойства7

ColorRegionsСвойство
# ColorRegions
C#
public Reckfell.Collections.Dictionary ColorRegions { get; set; }

Dictionary снимка областей: ключ "начало конец", либо только "начало" для области до конца строки; значение Color. Присваивание заменяет области, не связывая их с контейнером. Формат не хранит явный lineOnly при непустом конце; для него используйте AddColorRegion.

FunctionColorСвойство
# FunctionColor
C#
public Color FunctionColor { get; set; }

Лексический цвет имён перед открывающей скобкой вызова. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

KeywordColorsСвойство
# KeywordColors
C#
public Reckfell.Collections.Dictionary KeywordColors { get; set; }

Общий Dictionary: точное слово → Color. Присваивание заменяет таблицу и очищает кэш ресурса. Изменение общего словаря на месте кэш не очищает. Чёрный с alpha = 1 не применяется как цвет ключевого слова. Для обновления редактора используйте EmitChanged.

MemberKeywordColorsСвойство
# MemberKeywordColors
C#
public Reckfell.Collections.Dictionary MemberKeywordColors { get; set; }

Общий Dictionary цветов отдельных member-слов. После точки такое правило не применяется; используется MemberVariableColor. Присваивание очищает кэш ресурса, изменение содержимого общего словаря — нет. Чёрный с alpha = 1 трактуется как отсутствие цвета.

MemberVariableColorСвойство
# MemberVariableColor
C#
public Color MemberVariableColor { get; set; }

Лексический цвет слов после точки. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

NumberColorСвойство
# NumberColor
C#
public Color NumberColor { get; set; }

Лексический цвет чисел. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

SymbolColorСвойство
# SymbolColor
C#
public Color SymbolColor { get; set; }

Лексический цвет символов пунктуации. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

Методы28

AddColorRegionvoid
# AddColorRegion
C#
public void AddColorRegion(string startKey, string endKey, Color color, bool lineOnly = false);

Добавляет буквальную область комментария/строки. Разделители состоят из символов пунктуации; используйте непустое начало без пробелов. Начало должно быть уникальным: для замены сначала RemoveColorRegion. Пустой конец всегда означает line-only; lineOnly = true ограничивает строкой и при заданном конце. Длинные начала проверяются раньше коротких.

Параметры
ИмяТипПо умолчанию
startKeystring—
endKeystring—
colorColor—
lineOnlyboolfalse
startKey

Уникальный непустой открывающий разделитель из символов пунктуации.

endKey

Закрывающий разделитель; пустая строка принудительно ограничивает область одной строкой.

color

Color правила; у ключевых/member-слов чёрный с alpha = 1 трактуется как отсутствие цвета.

lineOnly

Не переносить область на следующую строку даже при непустом endKey.

AddKeywordColorvoid
# AddKeywordColor
C#
public void AddKeywordColor(string keyword, Color color);

Добавляет или заменяет цвет точного ключевого слова с учётом регистра и очищает кэш ресурса. Это не regex. После изменения правил уведомите редактор через EmitChanged.

Параметры
ИмяТипПо умолчанию
keywordstring—
colorColor—
keyword

Точное ключевое слово с учётом регистра, не regex.

color

Color правила; у ключевых/member-слов чёрный с alpha = 1 трактуется как отсутствие цвета.

AddMemberKeywordColorvoid
# AddMemberKeywordColor
C#
public void AddMemberKeywordColor(string memberKeyword, Color color);

Добавляет или заменяет цвет точного отдельного member-слова. Не предназначено для имени после точки. Очищает кэш ресурса; затем уведомите редактор через EmitChanged.

Параметры
ИмяТипПо умолчанию
memberKeywordstring—
colorColor—
memberKeyword

Точное отдельное member-слово; у setter таблицы — Dictionary слов и Color.

color

Color правила; у ключевых/member-слов чёрный с alpha = 1 трактуется как отсутствие цвета.

ClearColorRegionsvoid
# ClearColorRegions
C#
public void ClearColorRegions();

Удаляет все цветовые области и очищает кэш их многострочного состояния. Таблицы ключевых слов сохраняются.

ClearKeywordColorsvoid
# ClearKeywordColors
C#
public void ClearKeywordColors();

Очищает общую таблицу ключевых слов и кэш. Если таблица была передана извне, исходный Dictionary также становится пустым.

ClearMemberKeywordColorsvoid
# ClearMemberKeywordColors
C#
public void ClearMemberKeywordColors();

Очищает общую member-таблицу и кэш ресурса. Переданный извне Dictionary тоже очищается.

GetColorRegionsReckfell.Collections.Dictionary
# GetColorRegions
C#
public Reckfell.Collections.Dictionary GetColorRegions();

Dictionary снимка областей: ключ "начало конец", либо только "начало" для области до конца строки; значение Color. Присваивание заменяет области, не связывая их с контейнером. Формат не хранит явный lineOnly при непустом конце; для него используйте AddColorRegion.

Возвращает Reckfell.Collections.Dictionary

Dictionary снимка областей: ключ "начало конец", либо только "начало" для области до конца строки; значение Color. Присваивание заменяет области, не связывая их с контейнером. Формат не хранит явный lineOnly при непустом конце; для него используйте AddColorRegion.

GetFunctionColorColor
# GetFunctionColor
C#
public Color GetFunctionColor();

Лексический цвет имён перед открывающей скобкой вызова. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

Возвращает Color

Лексический цвет имён перед открывающей скобкой вызова. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

GetKeywordColorColor
# GetKeywordColor
C#
public Color GetKeywordColor(string keyword);

Сохранённый цвет существующего ключевого слова. Сначала проверьте HasKeywordColor: отсутствие правила — ошибка, не способ получить цвет темы.

Параметры
ИмяТипПо умолчанию
keywordstring—
keyword

Точное ключевое слово с учётом регистра, не regex.

Возвращает Color

Сохранённый цвет существующего ключевого слова. Сначала проверьте HasKeywordColor: отсутствие правила — ошибка, не способ получить цвет темы.

GetKeywordColorsReckfell.Collections.Dictionary
# GetKeywordColors
C#
public Reckfell.Collections.Dictionary GetKeywordColors();

Общий Dictionary: точное слово → Color. Присваивание заменяет таблицу и очищает кэш ресурса. Изменение общего словаря на месте кэш не очищает. Чёрный с alpha = 1 не применяется как цвет ключевого слова. Для обновления редактора используйте EmitChanged.

Возвращает Reckfell.Collections.Dictionary

Общий Dictionary: точное слово → Color. Присваивание заменяет таблицу и очищает кэш ресурса. Изменение общего словаря на месте кэш не очищает. Чёрный с alpha = 1 не применяется как цвет ключевого слова. Для обновления редактора используйте EmitChanged.

GetMemberKeywordColorColor
# GetMemberKeywordColor
C#
public Color GetMemberKeywordColor(string memberKeyword);

Цвет существующего member-правила. Перед запросом проверьте HasMemberKeywordColor; отсутствующий ключ вызывает ошибку.

Параметры
ИмяТипПо умолчанию
memberKeywordstring—
memberKeyword

Точное отдельное member-слово; у setter таблицы — Dictionary слов и Color.

Возвращает Color

Цвет существующего member-правила. Перед запросом проверьте HasMemberKeywordColor; отсутствующий ключ вызывает ошибку.

GetMemberKeywordColorsReckfell.Collections.Dictionary
# GetMemberKeywordColors
C#
public Reckfell.Collections.Dictionary GetMemberKeywordColors();

Общий Dictionary цветов отдельных member-слов. После точки такое правило не применяется; используется MemberVariableColor. Присваивание очищает кэш ресурса, изменение содержимого общего словаря — нет. Чёрный с alpha = 1 трактуется как отсутствие цвета.

Возвращает Reckfell.Collections.Dictionary

Общий Dictionary цветов отдельных member-слов. После точки такое правило не применяется; используется MemberVariableColor. Присваивание очищает кэш ресурса, изменение содержимого общего словаря — нет. Чёрный с alpha = 1 трактуется как отсутствие цвета.

GetMemberVariableColorColor
# GetMemberVariableColor
C#
public Color GetMemberVariableColor();

Лексический цвет слов после точки. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

Возвращает Color

Лексический цвет слов после точки. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

GetNumberColorColor
# GetNumberColor
C#
public Color GetNumberColor();

Лексический цвет чисел. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

Возвращает Color

Лексический цвет чисел. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

GetSymbolColorColor
# GetSymbolColor
C#
public Color GetSymbolColor();

Лексический цвет символов пунктуации. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

Возвращает Color

Лексический цвет символов пунктуации. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

HasColorRegionbool
# HasColorRegion
C#
public bool HasColorRegion(string startKey);

Зарегистрировано ли точное начало области. Не проверяет, находится ли позиция текста внутри этой области.

Параметры
ИмяТипПо умолчанию
startKeystring—
startKey

Уникальный непустой открывающий разделитель из символов пунктуации.

Возвращает bool

Зарегистрировано ли точное начало области. Не проверяет, находится ли позиция текста внутри этой области.

HasKeywordColorbool
# HasKeywordColor
C#
public bool HasKeywordColor(string keyword);

Есть ли ключ в таблице. true не гарантирует видимый цвет: чёрный с alpha = 1 служит маркером отсутствия цвета.

Параметры
ИмяТипПо умолчанию
keywordstring—
keyword

Точное ключевое слово с учётом регистра, не regex.

Возвращает bool

Есть ли ключ в таблице. true не гарантирует видимый цвет: чёрный с alpha = 1 служит маркером отсутствия цвета.

HasMemberKeywordColorbool
# HasMemberKeywordColor
C#
public bool HasMemberKeywordColor(string memberKeyword);

Есть ли ключ в member-таблице. Не гарантирует применение правила к квалифицированному имени после точки.

Параметры
ИмяТипПо умолчанию
memberKeywordstring—
memberKeyword

Точное отдельное member-слово; у setter таблицы — Dictionary слов и Color.

Возвращает bool

Есть ли ключ в member-таблице. Не гарантирует применение правила к квалифицированному имени после точки.

RemoveColorRegionvoid
# RemoveColorRegion
C#
public void RemoveColorRegion(string startKey);

Удаляет область по точному открывающему разделителю и очищает кэш ресурса. Для добавления новых правил затем вызовите EmitChanged.

Параметры
ИмяТипПо умолчанию
startKeystring—
startKey

Уникальный непустой открывающий разделитель из символов пунктуации.

RemoveKeywordColorvoid
# RemoveKeywordColor
C#
public void RemoveKeywordColor(string keyword);

Удаляет правило ключевого слова и очищает кэш ресурса. При общем словаре удаление видно всем его владельцам. Не удаляет слово из текста.

Параметры
ИмяТипПо умолчанию
keywordstring—
keyword

Точное ключевое слово с учётом регистра, не regex.

RemoveMemberKeywordColorvoid
# RemoveMemberKeywordColor
C#
public void RemoveMemberKeywordColor(string memberKeyword);

Удаляет member-правило из общей таблицы и очищает кэш ресурса. Текст документа не меняется.

Параметры
ИмяТипПо умолчанию
memberKeywordstring—
memberKeyword

Точное отдельное member-слово; у setter таблицы — Dictionary слов и Color.

SetColorRegionsvoid
# SetColorRegions
C#
public void SetColorRegions(Reckfell.Collections.Dictionary colorRegions);

Dictionary снимка областей: ключ "начало конец", либо только "начало" для области до конца строки; значение Color. Присваивание заменяет области, не связывая их с контейнером. Формат не хранит явный lineOnly при непустом конце; для него используйте AddColorRegion.

Параметры
ИмяТипПо умолчанию
colorRegionsReckfell.Collections.Dictionary—
colorRegions

Dictionary "начало конец" → Color; явный lineOnly при непустом конце не кодируется.

SetFunctionColorvoid
# SetFunctionColor
C#
public void SetFunctionColor(Color color);

Лексический цвет имён перед открывающей скобкой вызова. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

Параметры
ИмяТипПо умолчанию
colorColor—
color

Color правила; у ключевых/member-слов чёрный с alpha = 1 трактуется как отсутствие цвета.

SetKeywordColorsvoid
# SetKeywordColors
C#
public void SetKeywordColors(Reckfell.Collections.Dictionary keywords);

Общий Dictionary: точное слово → Color. Присваивание заменяет таблицу и очищает кэш ресурса. Изменение общего словаря на месте кэш не очищает. Чёрный с alpha = 1 не применяется как цвет ключевого слова. Для обновления редактора используйте EmitChanged.

Параметры
ИмяТипПо умолчанию
keywordsReckfell.Collections.Dictionary—
keywords

Общий Dictionary со строковыми ключами и Color; не изменяйте на месте без очистки кэша.

SetMemberKeywordColorsvoid
# SetMemberKeywordColors
C#
public void SetMemberKeywordColors(Reckfell.Collections.Dictionary memberKeyword);

Общий Dictionary цветов отдельных member-слов. После точки такое правило не применяется; используется MemberVariableColor. Присваивание очищает кэш ресурса, изменение содержимого общего словаря — нет. Чёрный с alpha = 1 трактуется как отсутствие цвета.

Параметры
ИмяТипПо умолчанию
memberKeywordReckfell.Collections.Dictionary—
memberKeyword

Точное отдельное member-слово; у setter таблицы — Dictionary слов и Color.

SetMemberVariableColorvoid
# SetMemberVariableColor
C#
public void SetMemberVariableColor(Color color);

Лексический цвет слов после точки. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

Параметры
ИмяТипПо умолчанию
colorColor—
color

Color правила; у ключевых/member-слов чёрный с alpha = 1 трактуется как отсутствие цвета.

SetNumberColorvoid
# SetNumberColor
C#
public void SetNumberColor(Color color);

Лексический цвет чисел. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

Параметры
ИмяТипПо умолчанию
colorColor—
color

Color правила; у ключевых/member-слов чёрный с alpha = 1 трактуется как отсутствие цвета.

SetSymbolColorvoid
# SetSymbolColor
C#
public void SetSymbolColor(Color color);

Лексический цвет символов пунктуации. Это правило текста, не семантическое определение типа токена компилятором. Setter очищает кэш ресурса; для обновления редактора вызовите EmitChanged.

Параметры
ИмяТипПо умолчанию
colorColor—
color

Color правила; у ключевых/member-слов чёрный с alpha = 1 трактуется как отсутствие цвета.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.