blob: e2889ab26ecb7847faf2ff6456239d1aa8cf4a71 [file] [log] [blame]
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
/// The abstract class [DartContributionSorter] defines the behavior of objects
/// that are used to adjust the relevance of an existing list of suggestions.
/// This is a long-lived object that should not maintain state between
/// calls to it's [sort] method.
abstract class DartContributionSorter {
/// After [CompletionSuggestion]s have been computed,
/// this method is called to adjust the relevance of those suggestions.
/// Return a [Future] that completes when the suggestions have been updated.
Future sort(DartCompletionRequest request,
Iterable<CompletionSuggestion> suggestions);