anchor.diff:        // advertised that they provided the kinds).
         if (supportsLiteralCodeActions && !supportedKinds.any(isMatch)) {
           return false;
  +      }
  +
  +      return true;
  +    }
  +
  +    /// Whether any fixes of kind [kind] should be included in the results.
  +    ///
  +    /// Unlike [shouldIncludeKind], this function is called with a more general
  +    /// action kind and answers the question "Should we include any actions of
  +    /// kind CodeActionKind.Source?".
  +    bool shouldIncludeAnyOfKind(CodeActionKind? kind) {
  +      /// Checks whether the kind matches the [wanted] kind.
  +      ///
  +      /// If `kind` is `refactor.foo` then for these `wanted` values:
  +      ///  - wanted=refactor.foo - true
  +      ///  - wanted=refactor.foo.bar - true
  +      ///  - wanted=refactor - false
  +      ///  - wanted=refactor.bar - false
  +      bool isMatch(CodeActionKind wanted) =>
  +          kind == wanted || wanted.toString().startsWith('$kind.');
  +
  +      final only = params.context.only;
  +      if (only != null) {
  +        return only.any(isMatch);
         }
   
         return true;
  
positive.code:             (performance) => _getCodeActions(
                performance,
                shouldIncludeKind,
                supportsLiteralCodeActions,
                supportsApplyEdit,
                supportedDiagnosticTags,
  
negative.code:       ///  - refactor.foobar - not included
        ///  - refactor.foo.bar - included
        bool isMatch(CodeActionKind wanted) =>
            kind == wanted || kind.toString().startsWith('$wanted.');
  
        // If the client wants only a specific set, use only that filter.
        final only = params.context.only;
  