blob: 77fde4f2158b2b0db0e691513912c6a0dadebcf7 [file] [log] [blame]
// Copyright (c) 2018, 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/analysis_server.dart';
/// A class that can be used to configure an analysis server instance to better
/// support intermittent file systems.
///
/// See also [AnalysisServerOptions.detachableFileSystemManager].
abstract class DetachableFileSystemManager {
/// Indicate that the [DetachableFileSystemManager] and the containing
/// analysis server are being shut down.
void dispose();
/// Forward on the 'analysis.setAnalysisRoots' request.
///
/// This class can choose to pass through all [setAnalysisRoots] calls to the
/// underlying analysis server, it can choose to modify the given
/// [includedPaths] and other parameters, or it could choose to delays calls
/// to [setAnalysisRoots].
void setAnalysisRoots(
String? requestId,
List<String> includedPaths,
List<String> excludedPaths,
);
/// Called exactly once before any calls to [setAnalysisRoots].
void setAnalysisServer(AnalysisServer server);
}