summaryrefslogtreecommitdiff
path: root/extension/src/continueIdeClient.ts
diff options
context:
space:
mode:
Diffstat (limited to 'extension/src/continueIdeClient.ts')
-rw-r--r--extension/src/continueIdeClient.ts31
1 files changed, 30 insertions, 1 deletions
diff --git a/extension/src/continueIdeClient.ts b/extension/src/continueIdeClient.ts
index bbaf5f08..c395ae0e 100644
--- a/extension/src/continueIdeClient.ts
+++ b/extension/src/continueIdeClient.ts
@@ -13,6 +13,7 @@ import { FileEditWithFullContents } from "../schema/FileEditWithFullContents";
import fs = require("fs");
import { WebsocketMessenger } from "./util/messenger";
import { CapturedTerminal } from "./terminal/terminalEmulator";
+import { decorationManager } from "./decorations";
class IdeProtocolClient {
private messenger: WebsocketMessenger | null = null;
@@ -281,8 +282,36 @@ class IdeProtocolClient {
edit.range.start.line,
edit.range.start.character,
edit.range.end.line,
- edit.range.end.character + 1
+ edit.range.end.character
);
+ const decorationKey =
+ edit.replacement === ""
+ ? {
+ editorUri: editor.document.uri.fsPath,
+ options: {
+ range: new vscode.Range(
+ new vscode.Position(range.start.line, 0),
+ new vscode.Position(range.end.line + 1, 0)
+ ),
+ // after: {
+ // contentText: "Removed",
+ // },
+ },
+ decorationType: vscode.window.createTextEditorDecorationType({
+ backgroundColor: "rgba(255, 0, 0, 0.2)",
+ }),
+ }
+ : {
+ editorUri: editor.document.uri.fsPath,
+ options: {
+ range,
+ },
+ decorationType: vscode.window.createTextEditorDecorationType({
+ backgroundColor: "rgba(66, 105, 55, 1.0)",
+ isWholeLine: true,
+ }),
+ };
+ decorationManager.addDecoration(decorationKey);
editor.edit((editBuilder) => {
this._makingEdit += 2; // editBuilder.replace takes 2 edits: delete and insert
editBuilder.replace(range, edit.replacement);