|  | // Copyright (c) 2024, 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. | 
|  |  | 
|  | /// @docImport 'package:analysis_server/src/services/completion/dart/completion_manager.dart'; | 
|  | library; | 
|  |  | 
|  | /// A matcher that is used in completion to filter out suggestions. The criteria | 
|  | /// used to filter is specified in the implementations of the matchers. | 
|  | abstract class CompletionMatcher { | 
|  | /// Computes how well the [candidate] matches the criteria specific to the | 
|  | /// implementation of the [CompletionMatcher], and returns a value in the | 
|  | /// range of [0, 1] for matching strings, and -1 for non-matching ones. | 
|  | double score(String candidate); | 
|  | } | 
|  |  | 
|  | /// A [NoPrefixMatcher] will be used when there is no prefix specified in the | 
|  | /// [DartCompletionRequest]. | 
|  | final class NoPrefixMatcher extends CompletionMatcher { | 
|  | @override | 
|  | double score(String candidate) { | 
|  | return 0; | 
|  | } | 
|  | } |