object ProvideCompletionItems( string modelId, LinePosition linePosition, CancellationToken cancellationToken) { var sourceTextContent = getSourceTextByModelId(modelId); var completionTask = controller.ProvideFilteredCompletionItemsAsync( sourceTextContent, linePosition, cancellationToken); return(context.ToMonacoPromise( completionTask, ToMonacoCompletionItems, MainThread.TaskScheduler, raiseErrors: false)); }
object ProvideCompletionItems( string modelId, LinePosition linePosition, CancellationToken cancellationToken) { sourceTextContent = getSourceTextByModelId(modelId); var sourcePosition = sourceTextContent.Lines.GetPosition(linePosition); var rules = compilationWorkspace.CompletionService.GetRules(); StopComputation(); StartNewComputation(sourcePosition, rules, filterItems: true); var currentComputation = computation; cancellationToken.Register(() => currentComputation.Stop()); return(context.ToMonacoPromise( computation.ModelTask, ToMonacoCompletionItems, MainThread.TaskScheduler, raiseErrors: false)); }