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