diff --git a/src/Protocol/Models/FailureHandlingKind.cs b/src/Protocol/Models/FailureHandlingKind.cs
index f341d51a5..32c3ba9cf 100644
--- a/src/Protocol/Models/FailureHandlingKind.cs
+++ b/src/Protocol/Models/FailureHandlingKind.cs
@@ -8,8 +8,8 @@ namespace OmniSharp.Extensions.LanguageServer.Protocol.Models
public enum FailureHandlingKind
{
///
- /// All operations are executed transactional. That means they either all
- /// succeed or no changes at all are applied to the workspace.
+ /// Applying the workspace change is simply aborted if one of the changes provided
+ /// fails. All operations executed before the failing operation stay executed.
///
[EnumMember(Value = "abort")]
Abort,
@@ -20,9 +20,17 @@ public enum FailureHandlingKind
[EnumMember(Value = "transactional")]
Transactional,
///
- ///Supports deleting existing files and folders.
+ /// If the workspace edit contains only textual file changes they are executed transactional.
+ /// If resource changes (create, rename or delete file) are part of the change the failure
+ /// handling strategy is abort.
+ ///
+ [EnumMember(Value = "textOnlyTransactional")]
+ TextOnlyTransactional,
+ ///
+ /// The client tries to undo the operations already executed. But there is no
+ /// guarantee that this is succeeding.
///
- [EnumMember(Value = "delete")]
- Delete,
+ [EnumMember(Value = "undo")]
+ Undo,
}
}