Skip to content

Commit 71a90f3

Browse files
Added compound target position tests (#1566)
Fixes #758 ## Checklist - [ ] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [ ] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [ ] I have not broken the cheatsheet
1 parent 8f66663 commit 71a90f3

File tree

5 files changed

+203
-0
lines changed

5 files changed

+203
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
languageId: plaintext
2+
command:
3+
version: 5
4+
spokenForm: bring air before batt and after cap
5+
action: {name: replaceWithTarget}
6+
targets:
7+
- type: primitive
8+
mark: {type: decoratedSymbol, symbolColor: default, character: a}
9+
- type: list
10+
elements:
11+
- type: primitive
12+
mark: {type: decoratedSymbol, symbolColor: default, character: b}
13+
modifiers:
14+
- {type: position, position: before}
15+
- type: primitive
16+
modifiers:
17+
- {type: position, position: after}
18+
mark: {type: decoratedSymbol, symbolColor: default, character: c}
19+
usePrePhraseSnapshot: true
20+
initialState:
21+
documentContents: aaa bbb ccc ddd
22+
selections:
23+
- anchor: {line: 0, character: 0}
24+
active: {line: 0, character: 0}
25+
marks:
26+
default.a:
27+
start: {line: 0, character: 0}
28+
end: {line: 0, character: 3}
29+
default.b:
30+
start: {line: 0, character: 4}
31+
end: {line: 0, character: 7}
32+
default.c:
33+
start: {line: 0, character: 8}
34+
end: {line: 0, character: 11}
35+
finalState:
36+
documentContents: aaa aaa bbb ccc aaa ddd
37+
selections:
38+
- anchor: {line: 0, character: 0}
39+
active: {line: 0, character: 0}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
languageId: plaintext
2+
command:
3+
version: 5
4+
spokenForm: bring air before batt and after cap and drum
5+
action: {name: replaceWithTarget}
6+
targets:
7+
- type: primitive
8+
mark: {type: decoratedSymbol, symbolColor: default, character: a}
9+
- type: list
10+
elements:
11+
- type: primitive
12+
mark: {type: decoratedSymbol, symbolColor: default, character: b}
13+
modifiers:
14+
- {type: position, position: before}
15+
- type: primitive
16+
modifiers:
17+
- {type: position, position: after}
18+
mark: {type: decoratedSymbol, symbolColor: default, character: c}
19+
- type: primitive
20+
mark: {type: decoratedSymbol, symbolColor: default, character: d}
21+
usePrePhraseSnapshot: true
22+
initialState:
23+
documentContents: aaa bbb ccc ddd
24+
selections:
25+
- anchor: {line: 0, character: 0}
26+
active: {line: 0, character: 0}
27+
marks:
28+
default.a:
29+
start: {line: 0, character: 0}
30+
end: {line: 0, character: 3}
31+
default.b:
32+
start: {line: 0, character: 4}
33+
end: {line: 0, character: 7}
34+
default.c:
35+
start: {line: 0, character: 8}
36+
end: {line: 0, character: 11}
37+
default.d:
38+
start: {line: 0, character: 12}
39+
end: {line: 0, character: 15}
40+
finalState:
41+
documentContents: aaa aaa bbb ccc aaa ddd aaa
42+
selections:
43+
- anchor: {line: 0, character: 0}
44+
active: {line: 0, character: 0}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
languageId: plaintext
2+
command:
3+
version: 5
4+
spokenForm: bring air before batt and cap
5+
action: {name: replaceWithTarget}
6+
targets:
7+
- type: primitive
8+
mark: {type: decoratedSymbol, symbolColor: default, character: a}
9+
- type: list
10+
elements:
11+
- type: primitive
12+
mark: {type: decoratedSymbol, symbolColor: default, character: b}
13+
modifiers:
14+
- {type: position, position: before}
15+
- type: primitive
16+
mark: {type: decoratedSymbol, symbolColor: default, character: c}
17+
usePrePhraseSnapshot: true
18+
initialState:
19+
documentContents: aaa bbb ccc ddd
20+
selections:
21+
- anchor: {line: 0, character: 0}
22+
active: {line: 0, character: 0}
23+
marks:
24+
default.a:
25+
start: {line: 0, character: 0}
26+
end: {line: 0, character: 3}
27+
default.b:
28+
start: {line: 0, character: 4}
29+
end: {line: 0, character: 7}
30+
default.c:
31+
start: {line: 0, character: 8}
32+
end: {line: 0, character: 11}
33+
finalState:
34+
documentContents: aaa aaa bbb aaa ccc ddd
35+
selections:
36+
- anchor: {line: 0, character: 0}
37+
active: {line: 0, character: 0}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
languageId: plaintext
2+
command:
3+
version: 5
4+
spokenForm: take start of air and batt and end of cap and drum
5+
action: {name: setSelection}
6+
targets:
7+
- type: list
8+
elements:
9+
- type: primitive
10+
modifiers:
11+
- {type: position, position: start}
12+
mark: {type: decoratedSymbol, symbolColor: default, character: a}
13+
- type: primitive
14+
mark: {type: decoratedSymbol, symbolColor: default, character: b}
15+
- type: primitive
16+
modifiers:
17+
- {type: position, position: end}
18+
mark: {type: decoratedSymbol, symbolColor: default, character: c}
19+
- type: primitive
20+
mark: {type: decoratedSymbol, symbolColor: default, character: d}
21+
usePrePhraseSnapshot: true
22+
initialState:
23+
documentContents: aaa bbb ccc ddd
24+
selections:
25+
- anchor: {line: 0, character: 0}
26+
active: {line: 0, character: 0}
27+
marks:
28+
default.a:
29+
start: {line: 0, character: 0}
30+
end: {line: 0, character: 3}
31+
default.b:
32+
start: {line: 0, character: 4}
33+
end: {line: 0, character: 7}
34+
default.c:
35+
start: {line: 0, character: 8}
36+
end: {line: 0, character: 11}
37+
default.d:
38+
start: {line: 0, character: 12}
39+
end: {line: 0, character: 15}
40+
finalState:
41+
documentContents: aaa bbb ccc ddd
42+
selections:
43+
- anchor: {line: 0, character: 0}
44+
active: {line: 0, character: 0}
45+
- anchor: {line: 0, character: 4}
46+
active: {line: 0, character: 4}
47+
- anchor: {line: 0, character: 11}
48+
active: {line: 0, character: 11}
49+
- anchor: {line: 0, character: 15}
50+
active: {line: 0, character: 15}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
languageId: plaintext
2+
command:
3+
version: 5
4+
spokenForm: take start of batt and end of batt
5+
action: {name: setSelection}
6+
targets:
7+
- type: list
8+
elements:
9+
- type: primitive
10+
modifiers:
11+
- {type: position, position: start}
12+
mark: {type: decoratedSymbol, symbolColor: default, character: b}
13+
- type: primitive
14+
modifiers:
15+
- {type: position, position: end}
16+
mark: {type: decoratedSymbol, symbolColor: default, character: b}
17+
usePrePhraseSnapshot: true
18+
initialState:
19+
documentContents: aaa bbb ccc ddd
20+
selections:
21+
- anchor: {line: 0, character: 0}
22+
active: {line: 0, character: 0}
23+
marks:
24+
default.b:
25+
start: {line: 0, character: 4}
26+
end: {line: 0, character: 7}
27+
finalState:
28+
documentContents: aaa bbb ccc ddd
29+
selections:
30+
- anchor: {line: 0, character: 4}
31+
active: {line: 0, character: 4}
32+
- anchor: {line: 0, character: 7}
33+
active: {line: 0, character: 7}

0 commit comments

Comments
 (0)