Index: pkg/analysis_server/lib/src/provisional/edit/utilities/change_builder_core.dart |
diff --git a/pkg/analysis_server/lib/src/provisional/edit/utilities/change_builder_core.dart b/pkg/analysis_server/lib/src/provisional/edit/utilities/change_builder_core.dart |
index 28f42c81addee1f435ce16cdff63bf051cf3ba25..7ecf9869ee8fe1b12e939ad3b971275ecbbe2ef1 100644 |
--- a/pkg/analysis_server/lib/src/provisional/edit/utilities/change_builder_core.dart |
+++ b/pkg/analysis_server/lib/src/provisional/edit/utilities/change_builder_core.dart |
@@ -6,6 +6,7 @@ import 'dart:async'; |
import 'package:analysis_server/plugin/protocol/protocol.dart'; |
import 'package:analysis_server/src/utilities/change_builder_core.dart'; |
+import 'package:meta/meta.dart'; |
/** |
* A builder used to build a [SourceChange]. |
@@ -33,6 +34,11 @@ abstract class ChangeBuilder { |
*/ |
Future<Null> addFileEdit( |
String path, int timeStamp, void buildFileEdit(FileEditBuilder builder)); |
+ |
+ /** |
+ * Set the selection for the change being built to the given [position]. |
+ */ |
+ void setSelection(Position position); |
} |
/** |
@@ -51,6 +57,12 @@ abstract class EditBuilder { |
String groupName, void buildLinkedEdit(LinkedEditBuilder builder)); |
/** |
+ * Set the selection to the given location within the edit being built. |
+ */ |
+ @experimental |
+ void selectHere(); |
+ |
+ /** |
* Add the given [string] to the content of the current edit. |
*/ |
void write(String string); |
@@ -69,6 +81,12 @@ abstract class EditBuilder { |
*/ |
abstract class FileEditBuilder { |
/** |
+ * Add a deletion of text starting at the given [offset] and continuing for |
+ * the given [length]. |
+ */ |
+ void addDeletion(int offset, int length); |
+ |
+ /** |
* Add an insertion of text at the given [offset]. The [offset] is relative to |
* the original source. The [buildEdit] function is used to write the text to |
* be inserted. This is fully equivalent to |