Skip to content

Commit ed28d8a

Browse files
Merge branch 'main' into migrateSnippets
1 parent 181cd9f commit ed28d8a

File tree

7 files changed

+68
-15
lines changed

7 files changed

+68
-15
lines changed

cursorless-talon/src/spoken_forms.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"drink": "editNewLineBefore",
2424
"drop": "insertEmptyLineBefore",
2525
"extract": "extractVariable",
26+
"flash": "flashTargets",
2627
"float": "insertEmptyLineAfter",
2728
"fold": "foldRegion",
2829
"follow split": "followLinkAside",
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
languageId: plaintext
2+
command:
3+
version: 7
4+
spokenForm: flash token
5+
action:
6+
name: flashTargets
7+
target:
8+
type: primitive
9+
modifiers:
10+
- type: containingScope
11+
scopeType: {type: token}
12+
usePrePhraseSnapshot: false
13+
initialState:
14+
documentContents: foo
15+
selections:
16+
- anchor: {line: 0, character: 0}
17+
active: {line: 0, character: 0}
18+
marks: {}
19+
finalState:
20+
documentContents: foo
21+
selections:
22+
- anchor: {line: 0, character: 0}
23+
active: {line: 0, character: 0}
24+
thatMark:
25+
- type: TokenTarget
26+
contentRange:
27+
start: {line: 0, character: 0}
28+
end: {line: 0, character: 3}
29+
isReversed: false
30+
hasExplicitRange: true

packages/common/src/types/command/ActionDescriptor.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export const simpleActionNames = [
2323
"extractVariable",
2424
"findInDocument",
2525
"findInWorkspace",
26+
"flashTargets",
2627
"foldRegion",
2728
"followLink",
2829
"followLinkAside",

packages/cursorless-engine/src/CommandHistory.ts

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -134,19 +134,26 @@ function sanitizeActionInPlace(action: ActionDescriptor): void {
134134
case "addSelectionAfter":
135135
case "addSelectionBefore":
136136
case "breakLine":
137+
case "callAsFunction":
137138
case "clearAndSetSelection":
138139
case "copyToClipboard":
139140
case "cutToClipboard":
140141
case "decrement":
141142
case "deselect":
143+
case "editNew":
142144
case "editNewLineAfter":
143145
case "editNewLineBefore":
144146
case "experimental.setInstanceReference":
145147
case "extractVariable":
148+
case "findInDocument":
146149
case "findInWorkspace":
150+
case "flashTargets":
147151
case "foldRegion":
148152
case "followLink":
149153
case "followLinkAside":
154+
case "generateSnippet":
155+
case "getText":
156+
case "highlight":
150157
case "increment":
151158
case "indentLine":
152159
case "insertCopyAfter":
@@ -155,13 +162,21 @@ function sanitizeActionInPlace(action: ActionDescriptor): void {
155162
case "insertEmptyLineBefore":
156163
case "insertEmptyLinesAround":
157164
case "joinLines":
165+
case "moveToTarget":
158166
case "outdentLine":
167+
case "parsed":
168+
case "pasteFromClipboard":
169+
case "private.getTargets":
170+
case "private.setKeyboardTarget":
171+
case "private.showParseTree":
159172
case "randomizeTargets":
160173
case "remove":
161174
case "rename":
175+
case "replaceWithTarget":
162176
case "revealDefinition":
163177
case "revealTypeDefinition":
164178
case "reverseTargets":
179+
case "rewrapWithPairedDelimiter":
165180
case "scrollToBottom":
166181
case "scrollToCenter":
167182
case "scrollToTop":
@@ -173,25 +188,11 @@ function sanitizeActionInPlace(action: ActionDescriptor): void {
173188
case "showQuickFix":
174189
case "showReferences":
175190
case "sortTargets":
191+
case "swapTargets":
176192
case "toggleLineBreakpoint":
177193
case "toggleLineComment":
178194
case "unfoldRegion":
179-
case "private.showParseTree":
180-
case "private.getTargets":
181-
case "callAsFunction":
182-
case "editNew":
183-
case "generateSnippet":
184-
case "getText":
185-
case "highlight":
186-
case "moveToTarget":
187-
case "pasteFromClipboard":
188-
case "replaceWithTarget":
189-
case "rewrapWithPairedDelimiter":
190-
case "swapTargets":
191195
case "wrapWithPairedDelimiter":
192-
case "findInDocument":
193-
case "private.setKeyboardTarget":
194-
case "parsed":
195196
break;
196197

197198
default: {

packages/cursorless-engine/src/actions/Actions.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { EditNew } from "./EditNew";
1313
import { EditNewAfter, EditNewBefore } from "./EditNewLineAction";
1414
import ExecuteCommand from "./ExecuteCommand";
1515
import { FindInDocument, FindInWorkspace } from "./Find";
16+
import { FlashTargets } from "./FlashTargets";
1617
import FollowLink from "./FollowLink";
1718
import GenerateSnippet from "./GenerateSnippet";
1819
import GetTargets from "./GetTargets";
@@ -98,6 +99,7 @@ export class Actions implements ActionRecord {
9899
extractVariable = new ExtractVariable(this.rangeUpdater);
99100
findInDocument = new FindInDocument(this);
100101
findInWorkspace = new FindInWorkspace(this);
102+
flashTargets = new FlashTargets();
101103
foldRegion = new Fold(this.rangeUpdater);
102104
followLink = new FollowLink({ openAside: false });
103105
followLinkAside = new FollowLink({ openAside: true });
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { FlashStyle } from "@cursorless/common";
2+
import { ide } from "../singletons/ide.singleton";
3+
import type { Target } from "../typings/target.types";
4+
import { flashTargets } from "../util/targetUtils";
5+
import type { ActionReturnValue, SimpleAction } from "./actions.types";
6+
7+
export class FlashTargets implements SimpleAction {
8+
constructor() {
9+
this.run = this.run.bind(this);
10+
}
11+
12+
async run(targets: Target[]): Promise<ActionReturnValue> {
13+
await flashTargets(ide(), targets, FlashStyle.referenced);
14+
15+
return { thatTargets: targets };
16+
}
17+
}

packages/cursorless-engine/src/spokenForms/defaultSpokenFormMapCore.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ export const defaultSpokenFormMapCore: DefaultSpokenFormMapDefinition = {
169169
foldRegion: "fold",
170170
followLink: "follow",
171171
followLinkAside: "follow split",
172+
flashTargets: "flash",
172173
deselect: "give",
173174
highlight: "highlight",
174175
showHover: "hover",

0 commit comments

Comments
 (0)