package tm-grammars

  1. Overview
  2. Docs
TextMate grammars as OCaml strings

Install

dune-project
 Dependency

Authors

Maintainers

Sources

tm-grammars-1.1.0.tbz
sha256=d06cd72e17331a9601c0b3a90a78b8f1be8f09b253a174aa5e52a624584af6bc
sha512=0fa76518e9018a9475ac84cfad140a6fcd42862669a3bb80d4b262f667b828285b967e09e35a14eaf7713cc099d5b0f30638b815c611a1bb41b94b35e33858e7

doc/src/tm-grammars.sdbl/tm_grammar_sdbl.ml.html

Source file tm_grammar_sdbl.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
let lang_id = "sdbl"
let json = {json|{
  "displayName": "1C (Query)",
  "fileTypes": [
    "sdbl",
    "query"
  ],
  "firstLineMatch": "(?i)Выбрать|Select(\\s+Разрешенные|\\s+Allowed)?(\\s+Различные|\\s+Distinct)?(\\s+Первые|\\s+Top)?.*",
  "name": "sdbl",
  "patterns": [
    {
      "match": "^(\\s*//.*)$",
      "name": "comment.line.double-slash.sdbl"
    },
    {
      "begin": "//",
      "end": "$",
      "name": "comment.line.double-slash.sdbl"
    },
    {
      "begin": "\"",
      "end": "\"(?!\")",
      "name": "string.quoted.double.sdbl",
      "patterns": [
        {
          "match": "\"\"",
          "name": "constant.character.escape.sdbl"
        },
        {
          "match": "^(\\s*//.*)$",
          "name": "comment.line.double-slash.sdbl"
        }
      ]
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^.а-яё\\w]|$)",
      "name": "constant.language.sdbl"
    },
    {
      "match": "(?<=[^.а-яё\\w]|^)(\\d+\\.?\\d*)(?=[^.а-яё\\w]|$)",
      "name": "constant.numeric.sdbl"
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w]|^)(Выбор|Case|Когда|When|Тогда|Then|Иначе|Else|Конец|End)(?=[^.а-яё\\w]|$)",
      "name": "keyword.control.conditional.sdbl"
    },
    {
      "match": "(?i)(?<!КАК\\s|AS\\s)(?<=[^.а-яё\\w]|^)(НЕ|NOT|И|AND|ИЛИ|OR|В\\s+ИЕРАРХИИ|IN\\s+HIERARCHY|В|In|Между|Between|Есть(\\s+НЕ)?\\s+NULL|Is(\\s+NOT)?\\s+NULL|Ссылка|Refs|Подобно|Like)(?=[^.а-яё\\w]|$)",
      "name": "keyword.operator.logical.sdbl"
    },
    {
      "match": "<=|>=|[<=>]",
      "name": "keyword.operator.comparison.sdbl"
    },
    {
      "match": "([-%*+/])",
      "name": "keyword.operator.arithmetic.sdbl"
    },
    {
      "match": "([,;])",
      "name": "keyword.operator.sdbl"
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w]|^)(Выбрать|Select|Разрешенные|Allowed|Различные|Distinct|Первые|Top|Как|As|ПустаяТаблица|EmptyTable|Поместить|Into|Уничтожить|Drop|Из|From|((Левое|Left|Правое|Right|Полное|Full)\\s+(Внешнее\\s+|Outer\\s+)?Соединение|Join)|((Внутреннее|Inner)\\s+Соединение|Join)|Где|Where|(Сгруппировать\\s+По(\\s+Группирующим\\s+Наборам)?)|(Group\\s+By(\\s+Grouping\\s+Set)?)|Имеющие|Having|Объединить(\\s+Все)?|Union(\\s+All)?|(Упорядочить\\s+По)|(Order\\s+By)|Автоупорядочивание|Autoorder|Итоги|Totals|По(\\s+Общие)?|By(\\s+Overall)?|(Только\\s+)?Иерархия|(Only\\s+)?Hierarchy|Периодами|Periods|Индексировать|Index|Выразить|Cast|Возр|Asc|Убыв|Desc|Для\\s+Изменения|(For\\s+Update(\\s+Of)?)|Спецсимвол|Escape|СгруппированоПо|GroupedBy)(?=[^.а-яё\\w]|$)",
      "name": "keyword.control.sdbl"
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w]|^)(Значение|Value|ДатаВремя|DateTime|Тип|Type)(?=\\()",
      "name": "support.function.sdbl"
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w]|^)(Подстрока|Substring|НРег|Lower|ВРег|Upper|Лев|Left|Прав|Right|ДлинаСтроки|StringLength|СтрНайти|StrFind|СтрЗаменить|StrReplace|СокрЛП|TrimAll|СокрЛ|TrimL|СокрП|TrimR)(?=\\()",
      "name": "support.function.sdbl"
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w]|^)(Год|Year|Квартал|Quarter|Месяц|Month|ДеньГода|DayOfYear|День|Day|Неделя|Week|ДеньНедели|Weekday|Час|Hour|Минута|Minute|Секунда|Second|НачалоПериода|BeginOfPeriod|КонецПериода|EndOfPeriod|ДобавитьКДате|DateAdd|РазностьДат|DateDiff|Полугодие|HalfYear|Декада|TenDays)(?=\\()",
      "name": "support.function.sdbl"
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w]|^)(ACOS|COS|ASIN|SIN|ATAN|TAN|EXP|POW|LOG|LOG10|Цел|Int|Окр|Round|SQRT)(?=\\()",
      "name": "support.function.sdbl"
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w]|^)(Сумма|Sum|Среднее|Avg|Минимум|Min|Максимум|Max|Количество|Count)(?=\\()",
      "name": "support.function.sdbl"
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w]|^)(ЕстьNULL|IsNULL|Представление|Presentation|ПредставлениеСсылки|RefPresentation|ТипЗначения|ValueType|АвтономерЗаписи|RecordAutoNumber|РазмерХранимыхДанных|StoredDataSize|УникальныйИдентификатор|UUID)(?=\\()",
      "name": "support.function.sdbl"
    },
    {
      "match": "(?i)(?<=[^.а-яё\\w])(Число|Number|Строка|String|Дата|Date|Булево|Boolean)(?=[^.а-яё\\w]|$)",
      "name": "support.type.sdbl"
    },
    {
      "match": "(&[а-яё\\w]+)",
      "name": "variable.parameter.sdbl"
    }
  ],
  "scopeName": "source.sdbl"
}|json}