mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-23 11:49:38 +00:00
Match signature context field name to type name
This commit is contained in:
@@ -22,7 +22,7 @@ class TypeScriptSignatureHelpProvider implements vscode.SignatureHelpProvider {
|
|||||||
document: vscode.TextDocument,
|
document: vscode.TextDocument,
|
||||||
position: vscode.Position,
|
position: vscode.Position,
|
||||||
token: vscode.CancellationToken,
|
token: vscode.CancellationToken,
|
||||||
context?: vscode.SignatureHelpContext,
|
context: vscode.SignatureHelpContext,
|
||||||
): Promise<vscode.SignatureHelp | undefined> {
|
): Promise<vscode.SignatureHelp | undefined> {
|
||||||
const filepath = this.client.toPath(document.uri);
|
const filepath = this.client.toPath(document.uri);
|
||||||
if (!filepath) {
|
if (!filepath) {
|
||||||
@@ -31,7 +31,7 @@ class TypeScriptSignatureHelpProvider implements vscode.SignatureHelpProvider {
|
|||||||
|
|
||||||
const args: Proto.SignatureHelpRequestArgs = {
|
const args: Proto.SignatureHelpRequestArgs = {
|
||||||
...typeConverters.Position.toFileLocationRequestArgs(filepath, position),
|
...typeConverters.Position.toFileLocationRequestArgs(filepath, position),
|
||||||
triggerReason: toTsTriggerReason(context!)
|
triggerReason: toTsTriggerReason(context)
|
||||||
};
|
};
|
||||||
const response = await this.client.interuptGetErr(() => this.client.execute('signatureHelp', args, token));
|
const response = await this.client.interuptGetErr(() => this.client.execute('signatureHelp', args, token));
|
||||||
if (response.type !== 'response' || !response.body) {
|
if (response.type !== 'response' || !response.body) {
|
||||||
@@ -72,7 +72,7 @@ class TypeScriptSignatureHelpProvider implements vscode.SignatureHelpProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function toTsTriggerReason(context: vscode.SignatureHelpContext): Proto.SignatureHelpTriggerReason {
|
function toTsTriggerReason(context: vscode.SignatureHelpContext): Proto.SignatureHelpTriggerReason {
|
||||||
switch (context.triggerReason) {
|
switch (context.triggerKind) {
|
||||||
case vscode.SignatureHelpTriggerKind.TriggerCharacter:
|
case vscode.SignatureHelpTriggerKind.TriggerCharacter:
|
||||||
if (context.triggerCharacter) {
|
if (context.triggerCharacter) {
|
||||||
if (context.isRetrigger) {
|
if (context.isRetrigger) {
|
||||||
|
|||||||
@@ -622,7 +622,7 @@ export enum SignatureHelpTriggerKind {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface SignatureHelpContext {
|
export interface SignatureHelpContext {
|
||||||
readonly triggerReason: SignatureHelpTriggerKind;
|
readonly triggerKind: SignatureHelpTriggerKind;
|
||||||
readonly triggerCharacter?: string;
|
readonly triggerCharacter?: string;
|
||||||
readonly isRetrigger: boolean;
|
readonly isRetrigger: boolean;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ export class TriggerParameterHintsAction extends EditorAction {
|
|||||||
let controller = ParameterHintsController.get(editor);
|
let controller = ParameterHintsController.get(editor);
|
||||||
if (controller) {
|
if (controller) {
|
||||||
controller.trigger({
|
controller.trigger({
|
||||||
triggerReason: modes.SignatureHelpTriggerKind.Invoke
|
triggerKind: modes.SignatureHelpTriggerKind.Invoke
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import { MarkdownRenderer } from 'vs/editor/contrib/markdown/markdownRenderer';
|
|||||||
const $ = dom.$;
|
const $ = dom.$;
|
||||||
|
|
||||||
export interface TriggerContext {
|
export interface TriggerContext {
|
||||||
readonly triggerReason: modes.SignatureHelpTriggerKind;
|
readonly triggerKind: modes.SignatureHelpTriggerKind;
|
||||||
readonly triggerCharacter?: string;
|
readonly triggerCharacter?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,7 +107,7 @@ export class ParameterHintsModel extends Disposable {
|
|||||||
|
|
||||||
this.throttledDelayer.trigger(
|
this.throttledDelayer.trigger(
|
||||||
() => this.doTrigger({
|
() => this.doTrigger({
|
||||||
triggerReason: context.triggerReason,
|
triggerKind: context.triggerKind,
|
||||||
triggerCharacter: context.triggerCharacter,
|
triggerCharacter: context.triggerCharacter,
|
||||||
isRetrigger: this.isTriggered,
|
isRetrigger: this.isTriggered,
|
||||||
}), delay).then(undefined, onUnexpectedError);
|
}), delay).then(undefined, onUnexpectedError);
|
||||||
@@ -193,7 +193,7 @@ export class ParameterHintsModel extends Disposable {
|
|||||||
|
|
||||||
if (this.triggerChars.has(triggerCharCode) || this.isTriggered && this.retriggerChars.has(triggerCharCode)) {
|
if (this.triggerChars.has(triggerCharCode) || this.isTriggered && this.retriggerChars.has(triggerCharCode)) {
|
||||||
this.trigger({
|
this.trigger({
|
||||||
triggerReason: modes.SignatureHelpTriggerKind.TriggerCharacter,
|
triggerKind: modes.SignatureHelpTriggerKind.TriggerCharacter,
|
||||||
triggerCharacter: text.charAt(lastCharIndex),
|
triggerCharacter: text.charAt(lastCharIndex),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -203,13 +203,13 @@ export class ParameterHintsModel extends Disposable {
|
|||||||
if (e.source === 'mouse') {
|
if (e.source === 'mouse') {
|
||||||
this.cancel();
|
this.cancel();
|
||||||
} else if (this.isTriggered) {
|
} else if (this.isTriggered) {
|
||||||
this.trigger({ triggerReason: modes.SignatureHelpTriggerKind.ContentChange });
|
this.trigger({ triggerKind: modes.SignatureHelpTriggerKind.ContentChange });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private onModelContentChange(): void {
|
private onModelContentChange(): void {
|
||||||
if (this.isTriggered) {
|
if (this.isTriggered) {
|
||||||
this.trigger({ triggerReason: modes.SignatureHelpTriggerKind.ContentChange });
|
this.trigger({ triggerKind: modes.SignatureHelpTriggerKind.ContentChange });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,6 @@ export function provideSignatureHelp(model: ITextModel, position: Position, cont
|
|||||||
|
|
||||||
registerDefaultLanguageCommand('_executeSignatureHelpProvider', (model, position) =>
|
registerDefaultLanguageCommand('_executeSignatureHelpProvider', (model, position) =>
|
||||||
provideSignatureHelp(model, position, {
|
provideSignatureHelp(model, position, {
|
||||||
triggerReason: modes.SignatureHelpTriggerKind.Invoke,
|
triggerKind: modes.SignatureHelpTriggerKind.Invoke,
|
||||||
isRetrigger: false
|
isRetrigger: false
|
||||||
}, CancellationToken.None));
|
}, CancellationToken.None));
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ suite('ParameterHintsModel', () => {
|
|||||||
signatureHelpRetriggerCharacters = [];
|
signatureHelpRetriggerCharacters = [];
|
||||||
|
|
||||||
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.strictEqual(context.triggerCharacter, triggerChar);
|
assert.strictEqual(context.triggerCharacter, triggerChar);
|
||||||
done();
|
done();
|
||||||
return undefined;
|
return undefined;
|
||||||
@@ -87,13 +87,13 @@ suite('ParameterHintsModel', () => {
|
|||||||
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
||||||
++invokeCount;
|
++invokeCount;
|
||||||
if (invokeCount === 1) {
|
if (invokeCount === 1) {
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.strictEqual(context.triggerCharacter, triggerChar);
|
assert.strictEqual(context.triggerCharacter, triggerChar);
|
||||||
// Retrigger
|
// Retrigger
|
||||||
editor.trigger('keyboard', Handler.Type, { text: triggerChar });
|
editor.trigger('keyboard', Handler.Type, { text: triggerChar });
|
||||||
} else {
|
} else {
|
||||||
assert.strictEqual(invokeCount, 2);
|
assert.strictEqual(invokeCount, 2);
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.ok(context.isRetrigger);
|
assert.ok(context.isRetrigger);
|
||||||
assert.strictEqual(context.triggerCharacter, triggerChar);
|
assert.strictEqual(context.triggerCharacter, triggerChar);
|
||||||
done();
|
done();
|
||||||
@@ -120,7 +120,7 @@ suite('ParameterHintsModel', () => {
|
|||||||
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
||||||
++invokeCount;
|
++invokeCount;
|
||||||
if (invokeCount === 1) {
|
if (invokeCount === 1) {
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.strictEqual(context.triggerCharacter, triggerChar);
|
assert.strictEqual(context.triggerCharacter, triggerChar);
|
||||||
|
|
||||||
// Cancel and retrigger
|
// Cancel and retrigger
|
||||||
@@ -128,7 +128,7 @@ suite('ParameterHintsModel', () => {
|
|||||||
editor.trigger('keyboard', Handler.Type, { text: triggerChar });
|
editor.trigger('keyboard', Handler.Type, { text: triggerChar });
|
||||||
} else {
|
} else {
|
||||||
assert.strictEqual(invokeCount, 2);
|
assert.strictEqual(invokeCount, 2);
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.strictEqual(context.triggerCharacter, triggerChar);
|
assert.strictEqual(context.triggerCharacter, triggerChar);
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
@@ -151,7 +151,7 @@ suite('ParameterHintsModel', () => {
|
|||||||
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
||||||
++invokeCount;
|
++invokeCount;
|
||||||
|
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.strictEqual(context.isRetrigger, false);
|
assert.strictEqual(context.isRetrigger, false);
|
||||||
assert.strictEqual(context.triggerCharacter, 'c');
|
assert.strictEqual(context.triggerCharacter, 'c');
|
||||||
|
|
||||||
@@ -182,13 +182,13 @@ suite('ParameterHintsModel', () => {
|
|||||||
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
||||||
++invokeCount;
|
++invokeCount;
|
||||||
if (invokeCount === 1) {
|
if (invokeCount === 1) {
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.strictEqual(context.triggerCharacter, 'a');
|
assert.strictEqual(context.triggerCharacter, 'a');
|
||||||
|
|
||||||
// retrigger after delay for widget to show up
|
// retrigger after delay for widget to show up
|
||||||
setTimeout(() => editor.trigger('keyboard', Handler.Type, { text: 'b' }), 50);
|
setTimeout(() => editor.trigger('keyboard', Handler.Type, { text: 'b' }), 50);
|
||||||
} else if (invokeCount === 2) {
|
} else if (invokeCount === 2) {
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.ok(context.isRetrigger);
|
assert.ok(context.isRetrigger);
|
||||||
assert.strictEqual(context.triggerCharacter, 'b');
|
assert.strictEqual(context.triggerCharacter, 'b');
|
||||||
done();
|
done();
|
||||||
@@ -220,7 +220,7 @@ suite('ParameterHintsModel', () => {
|
|||||||
|
|
||||||
// retrigger on first request
|
// retrigger on first request
|
||||||
if (count === 0) {
|
if (count === 0) {
|
||||||
hintsModel.trigger({ triggerReason: modes.SignatureHelpTriggerKind.Invoke }, 0);
|
hintsModel.trigger({ triggerKind: modes.SignatureHelpTriggerKind.Invoke }, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Promise<modes.SignatureHelp>(resolve => {
|
return new Promise<modes.SignatureHelp>(resolve => {
|
||||||
@@ -240,7 +240,7 @@ suite('ParameterHintsModel', () => {
|
|||||||
|
|
||||||
disposables.push(modes.SignatureHelpProviderRegistry.register(mockFileSelector, longRunningProvider));
|
disposables.push(modes.SignatureHelpProviderRegistry.register(mockFileSelector, longRunningProvider));
|
||||||
|
|
||||||
hintsModel.trigger({ triggerReason: modes.SignatureHelpTriggerKind.Invoke }, 0);
|
hintsModel.trigger({ triggerKind: modes.SignatureHelpTriggerKind.Invoke }, 0);
|
||||||
assert.strictEqual(-1, didRequestCancellationOf);
|
assert.strictEqual(-1, didRequestCancellationOf);
|
||||||
|
|
||||||
return new Promise((resolve, reject) =>
|
return new Promise((resolve, reject) =>
|
||||||
@@ -270,13 +270,13 @@ suite('ParameterHintsModel', () => {
|
|||||||
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
provideSignatureHelp(_model: ITextModel, _position: Position, _token: CancellationToken, context: modes.SignatureHelpContext): modes.SignatureHelp | Thenable<modes.SignatureHelp> {
|
||||||
++invokeCount;
|
++invokeCount;
|
||||||
if (invokeCount === 1) {
|
if (invokeCount === 1) {
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.strictEqual(context.triggerCharacter, triggerChar);
|
assert.strictEqual(context.triggerCharacter, triggerChar);
|
||||||
|
|
||||||
// retrigger after delay for widget to show up
|
// retrigger after delay for widget to show up
|
||||||
setTimeout(() => editor.trigger('keyboard', Handler.Type, { text: retriggerChar }), 50);
|
setTimeout(() => editor.trigger('keyboard', Handler.Type, { text: retriggerChar }), 50);
|
||||||
} else if (invokeCount === 2) {
|
} else if (invokeCount === 2) {
|
||||||
assert.strictEqual(context.triggerReason, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
assert.strictEqual(context.triggerKind, modes.SignatureHelpTriggerKind.TriggerCharacter);
|
||||||
assert.ok(context.isRetrigger);
|
assert.ok(context.isRetrigger);
|
||||||
assert.strictEqual(context.triggerCharacter, retriggerChar);
|
assert.strictEqual(context.triggerCharacter, retriggerChar);
|
||||||
done();
|
done();
|
||||||
|
|||||||
2
src/vs/monaco.d.ts
vendored
2
src/vs/monaco.d.ts
vendored
@@ -4934,7 +4934,7 @@ declare namespace monaco.languages {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface SignatureHelpContext {
|
export interface SignatureHelpContext {
|
||||||
readonly triggerReason: SignatureHelpTriggerKind;
|
readonly triggerKind: SignatureHelpTriggerKind;
|
||||||
readonly triggerCharacter?: string;
|
readonly triggerCharacter?: string;
|
||||||
readonly isRetrigger: boolean;
|
readonly isRetrigger: boolean;
|
||||||
}
|
}
|
||||||
|
|||||||
2
src/vs/vscode.d.ts
vendored
2
src/vs/vscode.d.ts
vendored
@@ -3151,7 +3151,7 @@ declare module 'vscode' {
|
|||||||
/**
|
/**
|
||||||
* Action that caused signature help to be triggered.
|
* Action that caused signature help to be triggered.
|
||||||
*/
|
*/
|
||||||
readonly triggerReason: SignatureHelpTriggerKind;
|
readonly triggerKind: SignatureHelpTriggerKind;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Character that caused signature help to be triggered.
|
* Character that caused signature help to be triggered.
|
||||||
|
|||||||
@@ -887,7 +887,7 @@ suite('ExtHostLanguageFeatures', function () {
|
|||||||
|
|
||||||
return rpcProtocol.sync().then(() => {
|
return rpcProtocol.sync().then(() => {
|
||||||
|
|
||||||
return provideSignatureHelp(model, new EditorPosition(1, 1), { triggerReason: modes.SignatureHelpTriggerKind.Invoke, isRetrigger: false }, CancellationToken.None).then(value => {
|
return provideSignatureHelp(model, new EditorPosition(1, 1), { triggerKind: modes.SignatureHelpTriggerKind.Invoke, isRetrigger: false }, CancellationToken.None).then(value => {
|
||||||
assert.ok(value);
|
assert.ok(value);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -902,7 +902,7 @@ suite('ExtHostLanguageFeatures', function () {
|
|||||||
|
|
||||||
return rpcProtocol.sync().then(() => {
|
return rpcProtocol.sync().then(() => {
|
||||||
|
|
||||||
return provideSignatureHelp(model, new EditorPosition(1, 1), { triggerReason: modes.SignatureHelpTriggerKind.Invoke, isRetrigger: false }, CancellationToken.None).then(value => {
|
return provideSignatureHelp(model, new EditorPosition(1, 1), { triggerKind: modes.SignatureHelpTriggerKind.Invoke, isRetrigger: false }, CancellationToken.None).then(value => {
|
||||||
assert.equal(value, undefined);
|
assert.equal(value, undefined);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user