commands: executeSignatureHelpProvider, executeDocumentRenameProvider

This commit is contained in:
Johannes Rieken
2015-11-27 15:35:13 +01:00
parent d0e5e4ad31
commit 67084502b5
6 changed files with 127 additions and 49 deletions

View File

@@ -617,51 +617,11 @@ class ParameterHintsAdapter implements modes.IParameterHintsSupport {
return asWinJsPromise(token => this._provider.provideSignatureHelp(doc, pos, token)).then(value => {
if (value instanceof SignatureHelp) {
return ParameterHintsAdapter._convertSignatureHelp(value);
return TypeConverters.SignatureHelp.from(value);
}
});
}
private static _convertSignatureHelp(signatureHelp: SignatureHelp): modes.IParameterHints {
let result: modes.IParameterHints = {
currentSignature: signatureHelp.activeSignature,
currentParameter: signatureHelp.activeParameter,
signatures: []
}
for (let signature of signatureHelp.signatures) {
let signatureItem: modes.ISignature = {
label: signature.label,
documentation: signature.documentation,
parameters: []
};
let idx = 0;
for (let parameter of signature.parameters) {
let parameterItem: modes.IParameter = {
label: parameter.label,
documentation: parameter.documentation,
};
signatureItem.parameters.push(parameterItem);
idx = signature.label.indexOf(parameter.label, idx);
if (idx >= 0) {
parameterItem.signatureLabelOffset = idx;
idx += parameter.label.length;
parameterItem.signatureLabelEnd = idx;
}
}
result.signatures.push(signatureItem);
}
return result;
}
getParameterHintsTriggerCharacters(): string[] {
throw new Error('illegal state');
}