1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | Prism.languages.bsl = {
|
7 | 'comment': /\/\/.*/,
|
8 | 'string': [
|
9 |
|
10 |
|
11 | {
|
12 | pattern: /"(?:[^"]|"")*"(?!")/,
|
13 | greedy: true
|
14 | },
|
15 |
|
16 |
|
17 | {
|
18 | pattern: /'(?:[^'\r\n\\]|\\.)*'/
|
19 | }
|
20 | ],
|
21 | 'keyword': [
|
22 | {
|
23 |
|
24 | pattern: /(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,
|
25 | lookbehind: true
|
26 | },
|
27 | {
|
28 |
|
29 | pattern: /\b(?:break|do|each|else|elseif|enddo|endfunction|endif|endprocedure|endtry|except|execute|export|false|for|function|if|in|new|null|procedure|raise|return|then|to|true|try|undefined|val|var|while)\b/i
|
30 | }
|
31 | ],
|
32 | 'number': {
|
33 | pattern: /(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,
|
34 | lookbehind: true
|
35 | },
|
36 | 'operator': [
|
37 | /[<>+\-*/]=?|[%=]/,
|
38 | // RU
|
39 | {
|
40 | pattern: /(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:и|или|не)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,
|
41 | lookbehind: true
|
42 | },
|
43 | // EN
|
44 | {
|
45 | pattern: /\b(?:and|not|or)\b/i
|
46 | }
|
47 | ],
|
48 | 'punctuation': /\(\.|\.\)|[()\[\]:;,.]/,
|
49 | 'directive': [
|
50 | // Теги препроцессора вида &Клиент, &Сервер, ...
|
51 | // Preprocessor tags of the type &Client, &Server, ...
|
52 | {
|
53 | pattern: /^([ \t]*)&.*/m,
|
54 | lookbehind: true,
|
55 | greedy: true,
|
56 | alias: 'important'
|
57 | },
|
58 | // Инструкции препроцессора вида:
|
59 | // #Если Сервер Тогда
|
60 | // ...
|
61 | // #КонецЕсли
|
62 | // Preprocessor instructions of the form:
|
63 | // #If Server Then
|
64 | // ...
|
65 | // #EndIf
|
66 | {
|
67 | pattern: /^([ \t]*)#.*/gm,
|
68 | lookbehind: true,
|
69 | greedy: true,
|
70 | alias: 'important'
|
71 | }
|
72 | ]
|
73 | };
|
74 |
|
75 | Prism.languages.oscript = Prism.languages['bsl'];
|
76 |
|
\ | No newline at end of file |