Skip to content

Commit

Permalink
Merge pull request #1813 from filipw/feature/incomplete-completions
Browse files Browse the repository at this point in the history
for single character completions, treat the completion list as incomplete
  • Loading branch information
DustinCampbell authored Oct 27, 2017
2 parents 5f655e9 + 8b904d9 commit de33215
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions src/features/completionItemProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import AbstractSupport from './abstractProvider';
import * as protocol from '../omnisharp/protocol';
import * as serverUtils from '../omnisharp/utils';
import {createRequest} from '../omnisharp/typeConvertion';
import {CompletionItemProvider, CompletionItem, CompletionItemKind, CancellationToken, TextDocument, Range, Position} from 'vscode';
import {CompletionItemProvider, CompletionItem, CompletionItemKind, CancellationToken, TextDocument, Range, Position, CompletionList} from 'vscode';

export default class OmniSharpCompletionItemProvider extends AbstractSupport implements CompletionItemProvider {

Expand All @@ -25,7 +25,7 @@ export default class OmniSharpCompletionItemProvider extends AbstractSupport imp
';', '+', '-', '*', '/', '%', '&', '|', '^', '!',
'~', '=', '<', '>', '?', '@', '#', '\'', '\"', '\\'];

public provideCompletionItems(document: TextDocument, position: Position, token: CancellationToken): Promise<CompletionItem[]> {
public provideCompletionItems(document: TextDocument, position: Position, token: CancellationToken): Promise<CompletionList> {

let wordToComplete = '';
let range = document.getWordRangeAtPosition(position);
Expand Down Expand Up @@ -93,7 +93,9 @@ export default class OmniSharpCompletionItemProvider extends AbstractSupport imp
result.push(suggestion);
}

return result;
// for short completions (up to 1 character), treat the list as incomplete
// because the server has likely witheld some matches due to performance constraints
return new CompletionList(result, wordToComplete.length > 1 ? false : true);
});
}
}
Expand Down

0 comments on commit de33215

Please sign in to comment.