BSL: Made `directive` greedy (#3112)
This commit is contained in:
parent
d7017bebb3
commit
5c412cbb27
|
@ -44,15 +44,15 @@ Prism.languages.bsl = {
|
|||
{
|
||||
pattern: /\b(?:and|not|or)\b/i
|
||||
}
|
||||
|
||||
],
|
||||
'punctuation': /\(\.|\.\)|[()\[\]:;,.]/,
|
||||
'directive': [
|
||||
// Теги препроцессора вида &Клиент, &Сервер, ...
|
||||
// Preprocessor tags of the type &Client, &Server, ...
|
||||
{
|
||||
pattern: /^(\s*)&.*/m,
|
||||
pattern: /^([ \t]*)&.*/m,
|
||||
lookbehind: true,
|
||||
greedy: true,
|
||||
alias: 'important'
|
||||
},
|
||||
// Инструкции препроцессора вида:
|
||||
|
@ -64,7 +64,9 @@ Prism.languages.bsl = {
|
|||
// ...
|
||||
// #EndIf
|
||||
{
|
||||
pattern: /^\s*#.*/gm,
|
||||
pattern: /^([ \t]*)#.*/gm,
|
||||
lookbehind: true,
|
||||
greedy: true,
|
||||
alias: 'important'
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1 +1 @@
|
|||
Prism.languages.bsl={comment:/\/\/.*/,string:[{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},{pattern:/'(?:[^'\r\n\\]|\\.)*'/}],keyword:[{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,lookbehind:!0},{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}],number:{pattern:/(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,lookbehind:!0},operator:[/[<>+\-*/]=?|[%=]/,{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,lookbehind:!0},{pattern:/\b(?:and|not|or)\b/i}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/,directive:[{pattern:/^(\s*)&.*/m,lookbehind:!0,alias:"important"},{pattern:/^\s*#.*/gm,alias:"important"}]},Prism.languages.oscript=Prism.languages.bsl;
|
||||
Prism.languages.bsl={comment:/\/\/.*/,string:[{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},{pattern:/'(?:[^'\r\n\\]|\\.)*'/}],keyword:[{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,lookbehind:!0},{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}],number:{pattern:/(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,lookbehind:!0},operator:[/[<>+\-*/]=?|[%=]/,{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,lookbehind:!0},{pattern:/\b(?:and|not|or)\b/i}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/,directive:[{pattern:/^([ \t]*)&.*/m,lookbehind:!0,greedy:!0,alias:"important"},{pattern:/^([ \t]*)#.*/gm,lookbehind:!0,greedy:!0,alias:"important"}]},Prism.languages.oscript=Prism.languages.bsl;
|
|
@ -0,0 +1,13 @@
|
|||
&Client
|
||||
|
||||
#If Server Then
|
||||
#EndIf
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["directive", "&Client"],
|
||||
|
||||
["directive", "#If Server Then"],
|
||||
["directive", "#EndIf"]
|
||||
]
|
|
@ -0,0 +1,18 @@
|
|||
(. .)
|
||||
( ) [ ] : ; , .
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["punctuation", "(."],
|
||||
["punctuation", ".)"],
|
||||
|
||||
["punctuation", "("],
|
||||
["punctuation", ")"],
|
||||
["punctuation", "["],
|
||||
["punctuation", "]"],
|
||||
["punctuation", ":"],
|
||||
["punctuation", ";"],
|
||||
["punctuation", ","],
|
||||
["punctuation", "."]
|
||||
]
|
|
@ -1,13 +1,19 @@
|
|||
""
|
||||
"fo"
|
||||
|
||||
''
|
||||
'foo'
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["string", "\"\""],
|
||||
["string", "\"fo\""]
|
||||
["string", "\"fo\""],
|
||||
|
||||
["string", "''"],
|
||||
["string", "'foo'"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for strings and chars.
|
||||
Checks for strings and chars.
|
||||
|
|
Loading…
Reference in New Issue