blob: 15aadaee1984843e1c97f241159ff15ab80bebcc [file] [log] [blame]
// Copyright (c) 2023, 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/lsp_protocol/protocol.dart';
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/lsp/error_or.dart';
import 'package:analysis_server/src/lsp/handlers/handlers.dart';
import 'package:analysis_server/src/lsp/progress.dart';
class LogActionCommandHandler
extends CommandHandler<ExecuteCommandParams, Object, AnalysisServer> {
LogActionCommandHandler(super.server);
@override
bool get recordsOwnAnalytics => true;
@override
Future<ErrorOr<void>> handle(
MessageInfo message,
Map<String, Object?> parameters,
ProgressReporter progress,
CancellationToken cancellationToken,
) async {
var action = parameters['action'] as String;
// Actions are recorded the same as commands.
server.analyticsManager.executedCommand(action);
return success(null);
}
}