提交 f5a50979 编写于 作者: R Ramya Achutha Rao

When trigger suggest for incomplete completions, use new kind

上级 8046a036
......@@ -314,7 +314,8 @@ export interface ISuggestResult {
*/
export enum SuggestTriggerKind {
Invoke = 0,
TriggerCharacter = 1
TriggerCharacter = 1,
TriggerForIncompleteCompletions = 2
}
/**
......
......@@ -11,7 +11,7 @@ import Event, { Emitter } from 'vs/base/common/event';
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { TPromise } from 'vs/base/common/winjs.base';
import { ITextModel, IWordAtPosition } from 'vs/editor/common/model';
import { ISuggestSupport, SuggestRegistry, StandardTokenType, SuggestTriggerKind } from 'vs/editor/common/modes';
import { ISuggestSupport, SuggestRegistry, StandardTokenType, SuggestTriggerKind, SuggestContext } from 'vs/editor/common/modes';
import { Position } from 'vs/editor/common/core/position';
import { provideSuggestionItems, getSuggestionComparator, ISuggestionItem } from './suggest';
import { CompletionModel } from './completionModel';
......@@ -347,13 +347,23 @@ export class SuggestModel implements IDisposable {
// Capture context when request was sent
this._context = ctx;
// Build context for request
let suggestCtx: SuggestContext;
if (context.triggerCharacter) {
suggestCtx = {
triggerKind: SuggestTriggerKind.TriggerCharacter,
triggerCharacter: context.triggerCharacter
};
} else if (onlyFrom && onlyFrom.length) {
suggestCtx = { triggerKind: SuggestTriggerKind.TriggerForIncompleteCompletions };
} else {
suggestCtx = { triggerKind: SuggestTriggerKind.Invoke };
}
this._requestPromise = provideSuggestionItems(model, this._editor.getPosition(),
this._editor.getConfiguration().contribInfo.snippetSuggestions,
onlyFrom,
{
triggerCharacter: context.triggerCharacter,
triggerKind: context.triggerCharacter ? SuggestTriggerKind.TriggerCharacter : SuggestTriggerKind.Invoke
}
suggestCtx
).then(items => {
this._requestPromise = null;
......
......@@ -4487,6 +4487,7 @@ declare module monaco.languages {
export enum SuggestTriggerKind {
Invoke = 0,
TriggerCharacter = 1,
TriggerForIncompleteCompletions = 2,
}
export interface CodeAction {
......
......@@ -2912,7 +2912,7 @@ declare module 'vscode' {
export class CompletionList {
/**
* This list it not complete. Further typing should result in recomputing
* This list is not complete. Further typing should result in recomputing
* this list.
*/
isIncomplete?: boolean;
......@@ -2942,7 +2942,11 @@ declare module 'vscode' {
/**
* Completion was triggered by a trigger character.
*/
TriggerCharacter = 1
TriggerCharacter = 1,
/**
* Completion was re-triggered as current completion list is incomplete
*/
TriggerForIncompleteCompletions = 2
}
/**
......
......@@ -347,7 +347,8 @@ export namespace CompletionTriggerKind {
switch (kind) {
case modes.SuggestTriggerKind.TriggerCharacter:
return types.CompletionTriggerKind.TriggerCharacter;
case modes.SuggestTriggerKind.TriggerForIncompleteCompletions:
return types.CompletionTriggerKind.TriggerForIncompleteCompletions;
case modes.SuggestTriggerKind.Invoke:
default:
return types.CompletionTriggerKind.Invoke;
......
......@@ -907,7 +907,8 @@ export class SignatureHelp {
export enum CompletionTriggerKind {
Invoke = 0,
TriggerCharacter = 1
TriggerCharacter = 1,
TriggerForIncompleteCompletions = 2
}
export interface CompletionContext {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册