Example #1
0
        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));
        }