1
0
mirror of https://github.com/salexdv/bsl_console.git synced 2025-02-19 19:10:09 +02:00

Доработка подсказки параметров методов определяемых по ссылке

This commit is contained in:
salexdv 2022-05-31 07:48:14 +03:00
parent 1553a16631
commit f0e73d5e89

View File

@ -5487,42 +5487,34 @@ class bslHelper {
* Fills signatures provided for reference-type object
* if a reference was found in the previous position
*
* @param {SignatureHelpContext} context signature help context
*
* @return {SignatureHelp} helper with signatures
*/
getRefSigHelp() {
getRefSigHelp(context) {
let helper = null;
let match = Finder.findPreviousMatch(this.model, '\\(', this.position);
const position = context.methodPosition;
let lineContextData = contextData.get(position.lineNumber)
let method = context.methodName.split('.').pop(0);
let wordContext = null;
if (lineContextData) {
wordContext = lineContextData.get(method.toLowerCase());
if (match) {
const position = new monaco.Position(match.range.startLineNumber, match.range.startColumn);
if (position.lineNumber = this.lineNumber) {
let lineContextData = contextData.get(position.lineNumber)
let wordContext = null;
if (lineContextData) {
let wordUntil = this.model.getWordUntilPosition(position);
wordContext = lineContextData.get(wordUntil.word.toLowerCase());
if (wordContext && wordContext.sig) {
helper = {
activeParameter: this.getSignatureActiveParameter(),
activeSignature: 0,
signatures: wordContext.sig,
}
}
}
if (wordContext && wordContext.sig) {
helper = {
activeParameter: context.activeParameter,
activeSignature: 0,
signatures: wordContext.sig,
}
}
}
}
return helper;
}
@ -5614,7 +5606,7 @@ class bslHelper {
if (!editor.disableNativeSignatures) {
if (!helper)
helper = this.getRefSigHelp();
helper = this.getRefSigHelp(context);
if (!helper)
helper = this.getMetadataSigHelp(bslMetadata);