public async Task<List<CodeCompletionData>> CodeCompleteAtAsync(ISourceFile sourceFile, int line, int column, List<UnsavedFile> unsavedFiles, string filter) { var result = new List<CodeCompletionData>(); var dataAssociation = GetAssociatedData(sourceFile); var response = await dataAssociation.Solution.Server.AutoComplete(sourceFile.FilePath, unsavedFiles.FirstOrDefault()?.Contents, line, column); if (response != null) { foreach (var completion in response) { var newCompletion = new CodeCompletionData() { Suggestion = completion.CompletionText, Priority = 1, Hint = completion.DisplayText, BriefComment = completion.Description?.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault(), Kind = FromOmniSharpKind(completion.Kind) }; if (filter == string.Empty || completion.CompletionText.StartsWith(filter)) { result.Add(newCompletion); } } } return result; }