mirror of
https://github.com/salexdv/bsl_console.git
synced 2024-11-28 08:48:48 +02:00
Доработка определения источника поля #288
This commit is contained in:
parent
5224d54374
commit
ad9ba35f71
@ -4500,7 +4500,27 @@ class bslHelper {
|
|||||||
|
|
||||||
// Searching the source
|
// Searching the source
|
||||||
position = new monaco.Position(match.range.endLineNumber, match.range.endColumn);
|
position = new monaco.Position(match.range.endLineNumber, match.range.endColumn);
|
||||||
match = Finder.findPreviousMatch(this.model, '[a-zA-Z0-9\u0410-\u044F]+\\.[a-zA-Z0-9\u0410-\u044F_]+(?:\\.[a-zA-Z0-9\u0410-\u044F_]+)?(?:\\.[a-zA-Z0-9\u0410-\u044F_]+)?', position);
|
let bracket_match = this.model.findPrevBracket(position);
|
||||||
|
|
||||||
|
if (bracket_match && match.range.startLineNumber < bracket_match.range.startLineNumber) {
|
||||||
|
position = new monaco.Position(bracket_match.range.startLineNumber, bracket_match.range.startColumn);
|
||||||
|
let brackets = editor.getModel().matchBracket(position);
|
||||||
|
if (brackets) {
|
||||||
|
brackets = brackets.sort();
|
||||||
|
const open = brackets[0], close = brackets[1];
|
||||||
|
const bracket_range = new monaco.Range(open.startLineNumber, open.endColumn, close.startLineNumber, close.startColumn);
|
||||||
|
const bracket_text = this.model.getValueInRange(bracket_range);
|
||||||
|
const source_text = this.model.getValueInRange(match.range).replace(bracket_text, '');
|
||||||
|
const source_model = monaco.editor.createModel(source_text);
|
||||||
|
const model_range = source_model.getFullModelRange();
|
||||||
|
const model_position = new monaco.Position(model_range.endLineNumber, model_range.endColumn);
|
||||||
|
match = Finder.findPreviousMatch(source_model, '[a-zA-Z0-9\u0410-\u044F]+\\.[a-zA-Z0-9\u0410-\u044F_]+(?:\\.[a-zA-Z0-9\u0410-\u044F_]+)?(?:\\.[a-zA-Z0-9\u0410-\u044F_]+)?', model_position);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
match = null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
match = Finder.findPreviousMatch(this.model, '[a-zA-Z0-9\u0410-\u044F]+\\.[a-zA-Z0-9\u0410-\u044F_]+(?:\\.[a-zA-Z0-9\u0410-\u044F_]+)?(?:\\.[a-zA-Z0-9\u0410-\u044F_]+)?', position);
|
||||||
|
|
||||||
if (match) {
|
if (match) {
|
||||||
sourceDefinition = match.matches[0];
|
sourceDefinition = match.matches[0];
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
</script>
|
</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/2.0.0/chai.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/2.0.0/chai.js"></script>
|
||||||
<link href="./decorations.css" rel="stylesheet">
|
<link href="./decorations.css" rel="stylesheet">
|
||||||
|
<link href="./tree/tree.css" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -1120,7 +1121,7 @@
|
|||||||
' Справочник.Товары КАК Товары',
|
' Справочник.Товары КАК Товары',
|
||||||
' ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(',
|
' ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(',
|
||||||
' &Период,',
|
' &Период,',
|
||||||
' Номенклатура В (&СписокНоменклатуры),',
|
' Номенклатура.ВидНоменклатуры В (&СписокВидовНоменклатуры),',
|
||||||
' ) КАК Цены',
|
' ) КАК Цены',
|
||||||
' ПО Товары.Ссылка = Цены.Номенклатура',
|
' ПО Товары.Ссылка = Цены.Номенклатура',
|
||||||
' ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки КАК Остатки',
|
' ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки КАК Остатки',
|
||||||
@ -1177,6 +1178,15 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="container" style="width:100%;height:600px;border:1px solid grey"></div>
|
<div id="container" style="width:100%;height:600px;border:1px solid grey"></div>
|
||||||
|
<div id="display">
|
||||||
|
<div id="display-header">
|
||||||
|
<div id="display-title"></div>
|
||||||
|
<div id="display-close"></div>
|
||||||
|
</div>
|
||||||
|
<div id="variables-display">
|
||||||
|
<div id="variables-tree"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<button id="event-button"></button>
|
<button id="event-button"></button>
|
||||||
|
|
||||||
<script src="./vs/loader.js"></script>
|
<script src="./vs/loader.js"></script>
|
||||||
@ -1185,6 +1195,7 @@
|
|||||||
<script src="./bsl_helper.js"></script>
|
<script src="./bsl_helper.js"></script>
|
||||||
<script src="./test_query.js"></script>
|
<script src="./test_query.js"></script>
|
||||||
<script src="./init.js"></script>
|
<script src="./init.js"></script>
|
||||||
|
<script src="./tree/tree.js"></script>
|
||||||
|
|
||||||
<div id="mocha"></div>
|
<div id="mocha"></div>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user