source: node_modules/refractor/lang/bsl.js@ 65b6638

main
Last change on this file since 65b6638 was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 2.8 KB
Line 
1'use strict'
2
3module.exports = bsl
4bsl.displayName = 'bsl'
5bsl.aliases = []
6function bsl(Prism) {
7 /* eslint-disable no-misleading-character-class */
8 // 1C:Enterprise
9 // https://github.com/Diversus23/
10 //
11 Prism.languages.bsl = {
12 comment: /\/\/.*/,
13 string: [
14 // Строки
15 // Strings
16 {
17 pattern: /"(?:[^"]|"")*"(?!")/,
18 greedy: true
19 }, // Дата и время
20 // Date & time
21 {
22 pattern: /'(?:[^'\r\n\\]|\\.)*'/
23 }
24 ],
25 keyword: [
26 {
27 // RU
28 pattern:
29 /(^|[^\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,
30 lookbehind: true
31 },
32 {
33 // EN
34 pattern:
35 /\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
36 }
37 ],
38 number: {
39 pattern:
40 /(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,
41 lookbehind: true
42 },
43 operator: [
44 /[<>+\-*/]=?|[%=]/, // RU
45 {
46 pattern:
47 /(^|[^\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,
48 lookbehind: true
49 }, // EN
50 {
51 pattern: /\b(?:and|not|or)\b/i
52 }
53 ],
54 punctuation: /\(\.|\.\)|[()\[\]:;,.]/,
55 directive: [
56 // Теги препроцессора вида &Клиент, &Сервер, ...
57 // Preprocessor tags of the type &Client, &Server, ...
58 {
59 pattern: /^([ \t]*)&.*/m,
60 lookbehind: true,
61 greedy: true,
62 alias: 'important'
63 }, // Инструкции препроцессора вида:
64 // #Если Сервер Тогда
65 // ...
66 // #КонецЕсли
67 // Preprocessor instructions of the form:
68 // #If Server Then
69 // ...
70 // #EndIf
71 {
72 pattern: /^([ \t]*)#.*/gm,
73 lookbehind: true,
74 greedy: true,
75 alias: 'important'
76 }
77 ]
78 }
79 Prism.languages.oscript = Prism.languages['bsl']
80}
Note: See TracBrowser for help on using the repository browser.