natgillin/translations-raw huggingface dataset:
name is either singleLine or multiLine. If you choose multiLine the attributes end and region are required.
name: може мати значення singleLine або multiLine. Якщо буде обрано варіант multiLine, слід буде також вказати атрибути end і region.
start defines the string used to start a comment. In C++ this would be & quot; /*quot;.
start визначає рядок, який використовується для позначення початку коментаря. У C++ цим рядком є & quot; / * quot;.
end defines the string used to close a comment. In C++ this would be & quot; */ quot;.
end визначає рядок, яким завершуватиметься коментар. У C++ цим рядком буде & quot; * / quot;.
region should be the name of the foldable multiline comment. Assume you have beginRegion="Comment "... endRegion="Comment" in your rules, you should use region="Comment ". This way uncomment works even if you do not select all the text of the multiline comment. The cursor only must be in the multiline comment.
Атрибут region повинен мати значення назви придатного для згортання багаторядкового коментаря. Припустімо, що у правилах вказано beginRegion=" Comment "... endRegion=" Comment", тоді вам слід взяти значення region=" Comment ". За допомогою цього атрибута можна користуватися дією з розкоментування, навіть якщо було виділено не весь текст багаторядкового коментаря. Потрібно лише, щоб курсор знаходився всередині цього багаторядкового коментаря.
The element folding in the group general defines code folding properties. Available attributes are:
Елемент folding у групі general призначено для визначення властивостей згортання коду. Серед можливих атрибутів:
indentationsensitive if true, the code folding markers will be added indentation based, like in the scripting language Python. Usually you do not need to set it, as it defaults to false.
indentationsensitive: якщо має значення true, позначки згортання коду буде додано на основі відступів, так, як це робиться у скриптовій мові Python. Зазвичай, вам не потрібно буде встановлювати цей атрибут, оскільки його типовим значенням є false.
The element indentation in the group general defines which indenter will be used, however we strongly recommend to omit this element, as the indenter usually will be set by either defining a File Type or by adding a mode line to the text file. If you specify an indenter though, you will force a specific indentation on the user, which he might not like at all. Available attributes are:
Елемент indentation у групі general призначено для зазначення інструменту визначення відступів. Ми наполегливо рекомендуємо вам уникати використання цього елемента, оскільки інструмент визначення відступів, зазвичай, визначається або за типом файла або за рядком режиму, доданим до текстового файла. Якщо ви все ж визначите цей інструмент програма примусово буде використовувати саме його, що може бути дуже небажаним для користувача програми. Серед можливих атрибутів:
mode is the name of the indenter. Available indenters right now are: normal, cstyle, csands, xml, python and varindent.
mode: назва інструменту визначення відступів. У поточній версії можливими значеннями є: normal, cstyle, csands, xml, python і varindent.
Available Default Styles
Можливі типові стилі
Default Styles were already explained, as a short summary: Default styles are predefined font and color styles.
Ви вже обговорювали типові стилі у короткому резюме: типовими стилями є наперед визначені набори з гарнітур шрифтів та кольорів.
So here only the list of available default styles:
Отже, ось список доступних типових стилів:
dsNormal, used for normal text.
dsNormal, використовується для звичайного тексту.
dsKeyword, used for keywords.
dsKeyword, використовується для ключових слів.
dsDataType, used for data types.
dsDataType, використовується для типів даних.
dsDecVal, used for decimal values.
dsDecVal, використовується для десяткових значень.
dsBaseN, used for values with a base other than 10.
dsBaseN, використовується для величин у численні з основою, відмінною від 10.
dsFloat, used for float values.
dsFloat, використовується для значень з плаваючою комою.
dsChar, used for a character.
dsChar, використовується для символів.
dsString, used for strings.
dsString, використовується для рядків.
dsComment, used for comments.
dsComment, використовується для коментарів.
dsOthers, used for'other 'things.
dsOthers, використовується для « інших » значень.
dsAlert, used for warning messages.
dsAlert, використовується для попереджувальних повідомлень.
dsFunction, used for function calls.
dsFunction, використовується для викликів функцій.
dsRegionMarker, used for region markers.
dsRegionMarker, використовується для позначок ділянок.
dsError, used for error highlighting and wrong syntax.
dsError, використовується для підсвічування помилок та синтаксичних неточностей.
Highlight Detection Rules
Правила визначення способу підсвічування
This section describes the syntax detection rules.
Цей розділ присвячено опису правил визначення синтаксису.
Each rule can match zero or more characters at the beginning of the string they are test against. If the rule matches, the matching characters are assigned the style or attribute defined by the rule, and a rule may ask that the current context is switched.
Кожне з правил може відповідати нульовій або більшій кількості символів на початку рядка, у якому шукатиметься відповідник правила. Якщо такий відповідник буде знайдено, знайдені символи визначать стиль або attribute, вказані за допомогою правила, правило також може надіслати системі запит на зміну поточного контексту.
A rule looks like this:
Правило виглядає так:
& lt; RuleName attribute=quot; (identifier)quot; context=quot; (identifier)quot; [rule specific attributes] / gt;
& lt; НазваПравила attribute=quot; (ідентифікатор) quot; context=quot; (ідентифікатор) quot; [специфічні для правила атрибути] / gt;
The attribute identifies the style to use for matched characters by name, and the context identifies the context to use from here.
Значення attribute визначає назву стилю, який буде використано для відповідних символів, а значення context визначає контекст, який слід використовувати, починаючи з цього місця.
The context can be identified by:
context може бути визначено за допомогою:
An identifier, which is the name of the other context.
Ідентифікатора, який є назвою іншого контексту.
An order telling the engine to stay in the current context (#stay), or to pop back to a previous context used in the string (#pop).
Значення порядку, яке повідомляє рушієві, чи слід залишатися у поточному контексті (# stay), чи слід повернутися до попереднього контексту, використаного у рядку (# pop).
To go back more steps, the #pop keyword can be repeated: #pop#pop#pop
Щоб повернутися на декілька рівнів контексту назад, ключове слово # pop можна повторити декілька разів: # pop# pop# pop
Some rules can have child rules which are then evaluated only if the parent rule matched. The entire matched string will be given the attribute defined by the parent rule. A rule with child rules looks like this:
У деяких правил можуть бути дочірні правила, перевірка можливості використання яких виконуватиметься, лише якщо буде задіяно батьківське правило. Атрибути, визначені у батьківському правилі, буде застосовано до всього знайденого рядка. Правило з дочірніми правилами виглядає так:
& lt; RuleName (attributes)gt; & lt; ChildRuleName (attributes) / gt;... & lt; /RuleNamegt;
& lt; НазваПравила (атрибути) gt; & lt; НазваДочірньогоПравила (атрибути) / gt;... & lt; / НазваПравилаgt;
Rule specific attributes varies and are described in the following sections.
Специфічні для правила атрибути можуть бути різними, їх описано у наступних розділах.
Common attributes
Загальні атрибути
All rules have the following attributes in common and are available whenever (common attributes) appears. attribute and context are required attributes, all others are optional.
Всі правила мають перелічені нижче атрибути, їх можна вказувати всюди, де ви побачите напис (загальні атрибути) у списку. Атрибути attribute і context є обов’ язковими атрибутами, всі інші атрибути є необов’ язковими.
attribute: An attribute maps to a defined itemData.
attribute: атрибут, що вказує на визначені itemData.
context: Specify the context to which the highlighting system switches if the rule matches.
context: визначає контекст, на який слід перемкнути систему підсвічування у разі виявлення відповідника правила.
beginRegion: Start a code folding block. Default: unset.
beginRegion: почати блок згортання коду. Типове значення: unset.
endRegion: Close a code folding block. Default: unset.
endRegion: закрити блок згортання коду. Типове значення: unset.
lookAhead: If true, the highlighting system will not process the matches length. Default: false.
lookAhead: якщо має значення true, система підсвічування не оброблятиме довжину відповідника. Типове значення: false.
firstNonSpace: Match only, if the string is the first non-whitespace in the line. Default: false.
firstNonSpace: відповідність встановлюватиметься, лише якщо рядок є першою відмінною від пробілів послідовністю символів у рядку тексту. Типове значення: false.
column: Match only, if the column matches. Default: unset.
column: збіг буде зареєстровано, якщо збігатиметься рядок. Типове значення: unset.
Dynamic rules
Динамічні правила
Some rules allow the optional attribute dynamic of type boolean that defaults to false. If dynamic is true, a rule can use placeholders representing the text matched by a regular expression rule that switched to the current context in its string or char attributes. In a string, the placeholder %N (where N is a number) will be replaced with the corresponding capture N from the calling regular expression. In a char the placeholder must be a number N and it will be replaced with the first character of the corresponding capture N from the calling regular expression. Whenever a rule allows this attribute it will contain a (dynamic).
Деякі з правил надають змогу встановлювати додатковий атрибут, dynamic, булівського типу з типовим значенням false. Якщо атрибут dynamic має значення true, у правилі можна використовувати заповнювачі, які позначають текст, знайдений за допомогою правила формального виразу, текст буде перемкнуто у поточний контекст у його атрибутах string або char. У атрибуті string заповнювач% N (де N — ціле число) буде замінено на відповідний елемент N з виклику формального виразу. У атрибуті char заповнювач повинен бути числом N, його буде замінено на перший символ відповідного елемента N з виклику формального виразу. Всі правила, які дозволяють використання цього атрибута, буде позначено написом (dynamic).
dynamic: may be (true_BAR_false).
dynamic: може мати значення (true_BAR_false).
The Rules in Detail
Докладно про правила
Detect a single specific character. Commonly used for example to find the ends of quoted strings.
Перевірка на рівність одному певному символу. Зазвичай, використовується для пошуку кінця рядків, взятих у лапки.
& lt; DetectChar char=quot; (character)quot; (common attributes) (dynamic) / gt;
& lt; DetectChar char=quot; (символ) quot; (загальні атрибути) (dynamic) / gt;
The char attribute defines the character to match.
Атрибут char визначає символ, з яким відбуватиметься порівняння.
Detect two specific characters in a defined order.
Перевірка на рівність двом певним символам у вказаному порядку.
& lt; Detect2Chars char=quot; (character)quot; char1=quot; (character)quot; (common attributes) (dynamic) / gt;
& lt; Detect2Chars char=quot; (символ) quot; char1=quot; (символ) quot; (загальні атрибути) (dynamic) / gt;
The char attribute defines the first character to match, char1 the second.
Атрибут char визначає перший символ для порівняння, char1 — другий.
Detect one character of a set of specified characters.
Перевірка на рівність одному з символів вказаного набору.
& lt; AnyChar String=quot; (string)quot; (common attributes) / gt;
& lt; AnyChar String=quot; (рядок) quot; (загальні атрибути) / gt;
The String attribute defines the set of characters.
Атрибут String визначає набір символів.
Detect an exact string.
Перевірка на рівність вказаному рядку.
& lt; StringDetect String=quot; (string)quot; [insensitive=quot; true_BAR_falsequot;] (common attributes) (dynamic) / gt;
& lt; StringDetect String=quot; (рядок) quot; [insensitive=quot; true_BAR_falsequot;] (загальні атрибути) (dynamic) / gt;
The String attribute defines the string to match. The insensitive attribute defaults to false and is passed to the string comparison function. If the value is true insensitive comparing is used.
Атрибут String визначає рядок для порівняння. Типовим значенням атрибута insensitive є false, цей атрибут передається функції порівняння рядків. Якщо значенням атрибута буде true, порівняння відбуватиметься без врахування регістру.
Matches against a regular expression.
Перевірка на збіг з формальним виразом.
& lt; RegExpr String=quot; (string)quot; [insensitive=quot; true_BAR_falsequot;] [minimal=quot; true_BAR_falsequot;] (common attributes) (dynamic) / gt;
& lt; RegExpr String=quot; (рядок) quot; [insensitive=quot; true_BAR_falsequot;] [minimal=quot; true_BAR_falsequot;] (загальні атрибути) (dynamic) / gt;
The String attribute defines the regular expression.
Атрибут String визначає формальний вираз.
insensitive defaults to false and is passed to the regular expression engine.
Типовим значенням атрибута insensitive є false, цей атрибут передається рушію пошуку за формальним виразом.
minimal defaults to false and is passed to the regular expression engine.
Типовим значенням атрибута minimal є false, цей атрибут буде передано рушієві пошуку за формальним виразом.
Because the rules are always matched against the beginning of the current string, a regular expression starting with a caret (^) indicates that the rule should only be matched against the start of a line.
Оскільки пошук відповідників для застосування правила завжди відбувається на початку поточного рядка, формальний вираз, що починається з символу каретки (^) вказує на те, що пошук відповідника правила слід виконувати лише на початку рядка.
See Regular Expressions for more information on those.
Щоб дізнатися більше, ознайомтеся з розділом Формальні вирази.
Detect a keyword from a specified list.
Перевірка на рівність ключовому слову з вказаного списку.
& lt; keyword String=quot; (list name)quot; (common attributes) / gt;
& lt; keyword String=quot; (назва списку) quot; (загальні атрибути) / gt;
The String attribute identifies the keyword list by name. A list with that name must exist.
Атрибут String визначає назву списку ключових слів. Список з вказаною назвою має існувати.
Detect an integer number.
Перевірка на рівність цілому числу.
& lt; Int (common attributes) (dynamic) / gt;
& lt; Int (загальні атрибути) (dynamic) / gt;
This rule has no specific attributes. Child rules are typically used to detect combinations of L and U after the number, indicating the integer type in program code. Actually all rules are allowed as child rules, though, the DTD only allows the child rule StringDetect.
У цього правила немає специфічних атрибутів. Зазвичай, для виявлення символів, що стоять після числа і позначають тип цілого числа у коді програми, L і U, використовуються дочірні правила. Насправді, можна використовувати будь- які правила як дочірні, але у DTD передбачено використання лише правила StringDetect.
The following example matches integer numbers follows by the character'L '.
Приклад пошуку цілих чисел, які слідують за символом « L ».
Detect a floating point number.
Перевірка на рівність числу з плаваючою крапкою.
& lt; Float (common attributes) / gt;
& lt; Float (загальні атрибути) / gt;
This rule has no specific attributes. AnyChar is allowed as a child rules and typically used to detect combinations, see rule Int for reference.
У цього правила немає специфічних атрибутів. Можна використовувати правило AnyChar як дочірнє, це правило типово використовується для виявлення комбінацій, порівняйте з правилом Int.
Detect an octal point number representation.
Перевірка на відповідність рядка запису вісімкового числа (починається з « 0 »).
& lt; HlCOct (common attributes) / gt;
& lt; HlCOct (загальні атрибути) / gt;
This rule has no specific attributes.
У цього правила немає особливих атрибутів.
Detect a hexadecimal number representation.
Перевірка на відповідність рядка запису шістнадцяткового числа (починається з « 0x »).
& lt; HlCHex (common attributes) / gt;
& lt; HlCHex (загальні атрибути) / gt;
Detect an escaped character.
Перевірка на відповідність символу керівної послідовності.
& lt; HlCStringChar (common attributes) / gt;
& lt; HlCStringChar (загальні атрибути) / gt;
It matches literal representations of characters commonly used in program code, for example\ (newline) or \\t (TAB).
Перевірка на відповідність символам, які часто використовуються у коді програм, наприклад,\ (перехід на новий рядок) або\\ t (табуляція).
The following characters will match if they follow a backslash (\\): abefnrtvquot; '?\\. Additionally, escaped hexadecimal numbers like for example \\xff and escaped octal numbers, for example \\033 will match.
Пошук буде виконуватися за переліченими далі символами, якщо ці символи стоять одразу за зворотною навскісною рискою (\\): abefnrtvquot; '?\\. Крім того, відповідними вважатимуться шістнадцяткові числа, наприклад,\\ xff і екрановані вісімкові числа, наприклад,\\ 033.
Detect an C character.
Перевірка на відповідність символу C.
& lt; HlCChar (common attributes) / gt;
& lt; HlCChar (загальні атрибути) / gt;
It matches C characters enclosed in a tick (Example: 'c '). So in the ticks may be a simple character or an escaped character. See HlCStringChar for matched escaped character sequences.
Перевірка на відповідність символам C, взятим у одинарні лапки (Приклад: 'c'). Отже, у таких лапках може бути простий символ або екранований символ. Щоб дізнатися про пошук екранованих послідовностей символів, перегляньте пункт для HlCStringChar.
Detect a string with defined start and end characters.
Перевірка на відповідність рядку з вказаними початковим і кінцевим символами.
& lt; RangeDetect char=quot; (character)quot; char1=quot; (character)quot; (common attributes) / gt;
& lt; RangeDetect char=quot; (символ) quot; char1=quot; (символ) quot; (загальні атрибути) / gt;
char defines the character starting the range, char1 the character ending the range.
char визначає символ, який повинен починати діапазон символів, char1 — символ, який має завершувати діапазон.
Useful to detect for example small quoted strings and the like, but note that since the highlighting engine works on one line at a time, this will not find strings spanning over a line break.
Корисно для виявлення, наприклад, невеличких рядків у лапках, але зауважте, що, оскільки рушій підсвічування обробляє за раз лише один рядок, у такий спосіб неможливо знайти рядки у лапках, які розбито між декількома рядками документа.
Matches at end of line.
Перевірка на відповідність символу кінця рядка.
& lt; LineContinue (common attributes) / gt;
& lt; LineContinue (загальні атрибути) / gt;
This rule is useful for switching context at end of line, if the last character is a backslash ('\\ '). This is needed for example in C/ C++ to continue macros or strings.
Це правило корисне для перемикання контексту наприкінці рядка, якщо останнім символом є зворотна навскісна риска ('\\'). Така риска потрібна зокрема у коді мовами C/ C++ для продовження макросів або рядків.
Include rules from another context or language/ file.
Включити правила з іншого контексту або мови/ файла.
& lt; IncludeRules context=quot; contextlinkquot; [includeAttrib=quot; true_BAR_falsequot;] / gt;
& lt; IncludeRules context=quot; посилання на контекстquot; [includeAttrib=quot; true_BAR_falsequot;] / gt;
The context attribute defines which context to include.
Атрибут context визначає контекст, який слід включити.
If it a simple string it includes all defined rules into the current context, example:
Якщо значенням є простий рядок, у поточний контекст буде включено всі визначені правила, наприклад:
If the string begins with ## the highlight system will look for another language definition with the given name, example:
Якщо рядок починатиметься з ##, система підсвічування шукатиме інше визначення для мови з вказаною назвою. Приклад:
If includeAttrib attribute is true, change the destination attribute to the one of the source. This is required to make for example commenting work, if text matched by the included context is a different highlight than the host context.
Якщо атрибут includeAttrib матиме значення true, атрибут призначення буде змінено на атрибут джерела. Це потрібно для того, щоб, наприклад, виконати коментування, якщо текст, що відповідає знайденому контексту, має інше підсвічування, ніж текст у основному контексті.
Detect whitespaces.
Пошук пробілів.
& lt; DetectSpaces (common attributes) / gt;
& lt; DetectSpaces (загальні атрибути) / gt;
Use this rule if you know that there can several whitespaces ahead, for example in the beginning of indented lines. This rule will skip all whitespace at once, instead of testing multiple rules and skipping one at the time due to no match.
Цим правилом можна скористатися, якщо вам точно відомо, що перед текстом рядка має бути декілька пробілів, наприклад, на початку рядків з відступом. За допомогою цього правила можна пропустити одразу всі пробіли, замість послідовної перевірки на основі декількох правил, кожне з яких надаватиме змогу відкидати по одному пробілу за один прийом через невідповідність.
Detect identifier strings (as a regular expression: [a-zA-Z_][a-zA-Z0-9_]*).
Пошук рядків ідентифікаторів (зокрема формальних виразів: [a- zA- Z _] [a- zA- Z0- 9 _] *).
& lt; DetectIdentifier (common attributes) / gt;
& lt; DetectIdentifier (загальні атрибути) / gt;
Use this rule to skip a string of word characters at once, rather than testing with multiple rules and skipping one at the time due to no match.
Це правило слід використовувати для пропуску рядка з символів, які складають слова, замість послідовної перевірки на основі декількох правил, кожне з яких надаватиме змогу відкидати по одному символу за один прийом через невідповідність.
Tips & Tricks
Підказки та поради
Once you have understood how the context switching works it will be easy to write highlight definitions. Though you should carefully check what rule you choose in what situation. Regular expressions are very mighty, but they are slow compared to the other rules. So you may consider the following tips.
Після того, як ви зрозумієте роботу інструменту перемикання контексту, ви зможете писати власні визначення підсвічування. Але вам завжди слід з обережністю ставитися до вибору правил. Формальні вирази є дуже потужним, але досить повільним у порівнянні з іншими, інструментом. Отже, скористайтесь наведеними нижче підказками.
If you only match two characters use Detect2Chars instead of StringDetect. The same applies to DetectChar.
Якщо вам потрібно перевірити відповідність лише двом символам, скористайтеся правилом Detect2Chars, замість правила StringDetect. Те саме стосується правила DetectChar.