From 74ed506362a9b491fbeda5c0815a1cd1cdd0952c Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Wed, 29 Jan 2025 12:32:23 +0100 Subject: [PATCH 1/2] Use interior target in document target --- .../src/processTargets/targets/BaseTarget.ts | 2 ++ .../processTargets/targets/DocumentTarget.ts | 33 +++++++++---------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts b/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts index 3b8e5f99f8..3bd17ddbbb 100644 --- a/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts +++ b/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts @@ -69,6 +69,7 @@ export abstract class BaseTarget< get editor() { return this.state.editor; } + get isReversed() { return this.state.isReversed; } @@ -114,6 +115,7 @@ export abstract class BaseTarget< getInterior(): Target[] | undefined { return undefined; } + getBoundary(): Target[] | undefined { return undefined; } diff --git a/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts b/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts index 7773de4afe..e640da1dae 100644 --- a/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts +++ b/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts @@ -1,8 +1,6 @@ import type { Range } from "@cursorless/common"; -import { shrinkRangeToFitContent } from "../../util/selectionUtils"; -import type { CommonTargetParameters } from "./BaseTarget"; -import { BaseTarget } from "./BaseTarget"; -import { PlainTarget } from "./PlainTarget"; +import { BaseTarget, type CommonTargetParameters } from "./BaseTarget"; +import { InteriorTarget } from "./InteriorTarget"; export class DocumentTarget extends BaseTarget { type = "DocumentTarget"; @@ -13,27 +11,28 @@ export class DocumentTarget extends BaseTarget { super(parameters); } - getLeadingDelimiterTarget() { - return undefined; - } - getTrailingDelimiterTarget() { - return undefined; - } - getRemovalRange(): Range { - return this.contentRange; - } - getInterior() { return [ - // Use plain target instead of interior target since we want the same content and removal range for a document interior. - new PlainTarget({ + new InteriorTarget({ editor: this.editor, isReversed: this.isReversed, - contentRange: shrinkRangeToFitContent(this.editor, this.contentRange), + fullInteriorRange: this.contentRange, }), ]; } + getRemovalRange(): Range { + return this.contentRange; + } + + getLeadingDelimiterTarget() { + return undefined; + } + + getTrailingDelimiterTarget() { + return undefined; + } + protected getCloneParameters() { return this.state; } From 984fb27f4ede7a8aa8f8ded301ad79713e89c03d Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Wed, 29 Jan 2025 12:35:11 +0100 Subject: [PATCH 2/2] Revert --- .../src/processTargets/targets/DocumentTarget.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts b/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts index e640da1dae..ae3a6163f7 100644 --- a/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts +++ b/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts @@ -1,6 +1,7 @@ import type { Range } from "@cursorless/common"; +import { shrinkRangeToFitContent } from "../../util/selectionUtils"; import { BaseTarget, type CommonTargetParameters } from "./BaseTarget"; -import { InteriorTarget } from "./InteriorTarget"; +import { PlainTarget } from "./PlainTarget"; export class DocumentTarget extends BaseTarget { type = "DocumentTarget"; @@ -13,10 +14,11 @@ export class DocumentTarget extends BaseTarget { getInterior() { return [ - new InteriorTarget({ + // Use plain target instead of interior target since we want the same content and removal range for a document interior. + new PlainTarget({ editor: this.editor, isReversed: this.isReversed, - fullInteriorRange: this.contentRange, + contentRange: shrinkRangeToFitContent(this.editor, this.contentRange), }), ]; }