Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrated surrounding pair scope handler #2457

Merged
merged 105 commits into from
Jul 28, 2024
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
8079939
Started working on surrounding pair scope handler
AndreasArvidsson Jun 26, 2024
a64f508
Updated Talon side
AndreasArvidsson Jun 26, 2024
9f3a3d7
fix bug
AndreasArvidsson Jun 26, 2024
97ea377
Fixes
AndreasArvidsson Jun 26, 2024
894bd93
Handle no surrounding pair in item stage
AndreasArvidsson Jun 27, 2024
93878a1
Started adding Tree sitter integration
AndreasArvidsson Jun 27, 2024
0dd64b2
Disqualify delimiters
AndreasArvidsson Jun 27, 2024
a404f1b
Added support for single line pairs
AndreasArvidsson Jun 29, 2024
d07aacd
fix
AndreasArvidsson Jun 29, 2024
6c0b527
Clean up
AndreasArvidsson Jun 29, 2024
766f390
Remove left right tests
AndreasArvidsson Jun 29, 2024
e1e6848
Support triple quotes
AndreasArvidsson Jun 30, 2024
6b16abe
Support python strings
AndreasArvidsson Jun 30, 2024
c1fe9e8
Added is preferred over
AndreasArvidsson Jul 1, 2024
a6c6e6b
Update test
AndreasArvidsson Jul 1, 2024
dc659b3
Bug fixes on strongly contains
AndreasArvidsson Jul 1, 2024
aa6a0ce
cleanup
AndreasArvidsson Jul 1, 2024
36453ff
rename
AndreasArvidsson Jul 1, 2024
fdf5788
rename
AndreasArvidsson Jul 1, 2024
850541a
Better deprecation message
AndreasArvidsson Jul 1, 2024
fe918b8
Added comment
AndreasArvidsson Jul 1, 2024
cf4a7e1
Added comment
AndreasArvidsson Jul 1, 2024
b8ed029
clean
AndreasArvidsson Jul 1, 2024
bf98a01
more clean up
AndreasArvidsson Jul 1, 2024
e0e12cc
[pre-commit.ci lite] apply automatic fixes
pre-commit-ci-lite[bot] Jul 1, 2024
0473a04
Cleanup
AndreasArvidsson Jul 1, 2024
5e9a2e9
Merge branch 'surroundingPairScopeHandler' of github.com:cursorless-d…
AndreasArvidsson Jul 1, 2024
d05d5bc
clean up
AndreasArvidsson Jul 1, 2024
3daad29
[pre-commit.ci lite] apply automatic fixes
pre-commit-ci-lite[bot] Jul 1, 2024
c017d6c
Added disqualifyDelimiter to php
AndreasArvidsson Jul 1, 2024
7de96a7
Merge branch 'main' into surroundingPairScopeHandler
AndreasArvidsson Jul 1, 2024
766864d
Fix surrounding pair scope info test
AndreasArvidsson Jul 1, 2024
057ce7a
Use text fragment
AndreasArvidsson Jul 2, 2024
3617285
Added scope tests
AndreasArvidsson Jul 3, 2024
0da6b1a
More tests
AndreasArvidsson Jul 3, 2024
a6d3bef
Update tests
AndreasArvidsson Jul 3, 2024
44941da
update tests
AndreasArvidsson Jul 3, 2024
35b3048
Remove support for overlapping pairs
AndreasArvidsson Jul 4, 2024
2e6bdc3
Update ruby quotes delimiters
AndreasArvidsson Jul 4, 2024
bb4f6f3
Update deprecation message
AndreasArvidsson Jul 4, 2024
3dc9350
clean up
AndreasArvidsson Jul 4, 2024
c697752
clean up
AndreasArvidsson Jul 4, 2024
fc17668
Use document as iteration scope
AndreasArvidsson Jul 4, 2024
a0a8cfe
Reverts delimiter map
AndreasArvidsson Jul 4, 2024
45cef0e
Merge branch 'main' into surroundingPairScopeHandler
AndreasArvidsson Jul 12, 2024
9dd9b4a
Added test
AndreasArvidsson Jul 12, 2024
39d2309
Merge branch 'main' into surroundingPairScopeHandler
pokey Jul 21, 2024
9366e2b
Cleanup
pokey Jul 22, 2024
6d7a70d
Tweaks
pokey Jul 22, 2024
8fa6506
Fix / simplify
pokey Jul 22, 2024
e3bd0ac
Add more tests
pokey Jul 23, 2024
102d27d
More test
pokey Jul 23, 2024
5e9d20a
tweaks
pokey Jul 23, 2024
ce5d975
More cleanup
pokey Jul 23, 2024
712b4ea
More tweaks
pokey Jul 23, 2024
828f04d
tweaks
pokey Jul 23, 2024
db97b69
More tweaks
pokey Jul 23, 2024
e17fc8a
Get surrounding per utility
AndreasArvidsson Jul 23, 2024
ee1b467
Merge branch 'surroundingPairScopeHandler' of github.com:cursorless-d…
AndreasArvidsson Jul 23, 2024
c88588e
Throw on more than one targets
AndreasArvidsson Jul 23, 2024
09d1f98
Added plural form of surrounding par scope
AndreasArvidsson Jul 23, 2024
864b0c5
more fixes
AndreasArvidsson Jul 23, 2024
923c472
Update captures
AndreasArvidsson Jul 23, 2024
8d2dd3f
Merge branch 'main' into surroundingPairScopeHandler
AndreasArvidsson Jul 24, 2024
714ee1c
Add missing python prefixes
AndreasArvidsson Jul 24, 2024
9e1d4a0
Fix surrounding pair capture
pokey Jul 24, 2024
5533a2f
Added more disqualify delimiters
AndreasArvidsson Jul 24, 2024
d35ae11
Merge branch 'surroundingPairScopeHandler' of github.com:cursorless-d…
AndreasArvidsson Jul 24, 2024
65a059b
added more disqualified delimiters
AndreasArvidsson Jul 24, 2024
3537bb7
Added arrow
AndreasArvidsson Jul 24, 2024
7d07aa2
Updated scopes
AndreasArvidsson Jul 24, 2024
fb6b846
Update test
AndreasArvidsson Jul 24, 2024
70ccfce
Simplify serialization of disqualified delimiter scope facet
AndreasArvidsson Jul 25, 2024
709b19e
Invalided syntax nodes with error
AndreasArvidsson Jul 25, 2024
e5230bf
[pre-commit.ci lite] apply automatic fixes
pre-commit-ci-lite[bot] Jul 25, 2024
dab4523
clean up
AndreasArvidsson Jul 25, 2024
ec3a611
Added hasError method
AndreasArvidsson Jul 25, 2024
64fe4b9
clean up
AndreasArvidsson Jul 25, 2024
5239004
Update comment
AndreasArvidsson Jul 25, 2024
5c9b027
Updated comment
AndreasArvidsson Jul 25, 2024
01ec799
Fixed test
AndreasArvidsson Jul 25, 2024
b6d0c8f
Tweak c operator disqualified delimiters
pokey Jul 25, 2024
f91e821
Simplify operators
AndreasArvidsson Jul 25, 2024
34b7908
on going work
AndreasArvidsson Jul 25, 2024
8c1dd10
updates scope files
AndreasArvidsson Jul 25, 2024
363c555
Added scope support
AndreasArvidsson Jul 25, 2024
2972642
Remove inherited tests
AndreasArvidsson Jul 25, 2024
063dc5f
Proper padding on ending range
AndreasArvidsson Jul 25, 2024
ca1061a
Clean up
AndreasArvidsson Jul 25, 2024
82e4844
clean up
AndreasArvidsson Jul 25, 2024
b0b6b10
cleanup
AndreasArvidsson Jul 25, 2024
147bee5
Merge branch 'main' into surroundingPairScopeHandler
AndreasArvidsson Jul 26, 2024
e35f8ec
Added failing test
AndreasArvidsson Jul 26, 2024
937cd03
Added is unknown boolean to delimiter map
AndreasArvidsson Jul 26, 2024
f20fb11
tweak tests
pokey Jul 26, 2024
7a26f61
tweak
pokey Jul 26, 2024
70db6d5
Merge branch 'main' into surroundingPairScopeHandler
pokey Jul 26, 2024
2ed2556
tweak
pokey Jul 26, 2024
9cc04c2
Cleanup
AndreasArvidsson Jul 26, 2024
831f989
docstrings
pokey Jul 26, 2024
e9a9a5a
More tweaks
pokey Jul 26, 2024
3ce9d21
docs
pokey Jul 26, 2024
1be7237
make start indent more robust
pokey Jul 26, 2024
97cc011
more robustness
pokey Jul 26, 2024
429c527
Change iteration scope to line
AndreasArvidsson Jul 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 22 additions & 3 deletions cursorless-talon/src/modifiers/scopes.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@


@mod.capture(
rule="{user.cursorless_scope_type} | <user.cursorless_glyph_scope_type> | {user.cursorless_custom_regex_scope_type}"
rule="{user.cursorless_scope_type}"
" | <user.cursorless_surrounding_pair_scope_type>"
" | <user.cursorless_glyph_scope_type>"
" | {user.cursorless_custom_regex_scope_type}"
)
def cursorless_scope_type(m) -> dict[str, str]:
"""Cursorless scope type singular"""
Expand All @@ -24,16 +27,27 @@ def cursorless_scope_type(m) -> dict[str, str]:
except AttributeError:
pass

try:
return m.cursorless_surrounding_pair_scope_type
except AttributeError:
pass

try:
return m.cursorless_glyph_scope_type
except AttributeError:
pass

return {"type": "customRegex", "regex": m.cursorless_custom_regex_scope_type}
return {
"type": "customRegex",
"regex": m.cursorless_custom_regex_scope_type,
}


@mod.capture(
rule="{user.cursorless_scope_type_plural} | <user.cursorless_glyph_scope_type_plural> | {user.cursorless_custom_regex_scope_type_plural}"
rule="{user.cursorless_scope_type_plural}"
" | <user.cursorless_surrounding_pair_scope_type>"
AndreasArvidsson marked this conversation as resolved.
Show resolved Hide resolved
" | <user.cursorless_glyph_scope_type_plural>"
" | {user.cursorless_custom_regex_scope_type_plural}"
)
def cursorless_scope_type_plural(m) -> dict[str, str]:
"""Cursorless scope type plural"""
Expand All @@ -42,6 +56,11 @@ def cursorless_scope_type_plural(m) -> dict[str, str]:
except AttributeError:
pass

try:
return m.cursorless_surrounding_pair_scope_type
except AttributeError:
pass

try:
return m.cursorless_glyph_scope_type_plural
except AttributeError:
Expand Down
29 changes: 5 additions & 24 deletions cursorless-talon/src/modifiers/surrounding_pair.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
from contextlib import suppress
from typing import Any

from talon import Context, Module
Expand Down Expand Up @@ -30,33 +29,15 @@
"{user.cursorless_surrounding_pair_scope_type}"
)
)
def cursorless_surrounding_pair_scope_type(m) -> str:
def cursorless_surrounding_pair_scope_type(m) -> dict[str, Any]:
"""Surrounding pair scope type"""
try:
return m.cursorless_surrounding_pair_scope_type
except AttributeError:
return m.cursorless_selectable_paired_delimiter


@mod.capture(
rule="[{user.cursorless_delimiter_force_direction}] <user.cursorless_surrounding_pair_scope_type>"
)
def cursorless_surrounding_pair(m) -> dict[str, Any]:
"""Expand to containing surrounding pair"""
try:
surrounding_pair_scope_type = m.cursorless_surrounding_pair_scope_type
delimiter = m.cursorless_surrounding_pair_scope_type
except AttributeError:
surrounding_pair_scope_type = "any"

scope_type = {
"type": "surroundingPair",
"delimiter": surrounding_pair_scope_type,
}

with suppress(AttributeError):
scope_type["forceDirection"] = m.cursorless_delimiter_force_direction
delimiter = m.cursorless_selectable_paired_delimiter

return {
"type": "containingScope",
"scopeType": scope_type,
"type": "surroundingPair",
"delimiter": delimiter,
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
languageId: python
command:
version: 5
spokenForm: change quad
spokenForm: change string
action: {name: clearAndSetSelection}
targets:
- type: primitive
modifiers:
- type: containingScope
scopeType: {type: surroundingPair, delimiter: doubleQuotes}
scopeType: {type: surroundingPair, delimiter: string}
usePrePhraseSnapshot: false
initialState:
documentContents: |-
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
languageId: typescript
command:
version: 7
spokenForm: change pair
action:
name: clearAndSetSelection
target:
type: primitive
modifiers:
- type: containingScope
scopeType: {type: surroundingPair, delimiter: any}
usePrePhraseSnapshot: true
initialState:
documentContents: |-
(
// )
)
selections:
- anchor: {line: 0, character: 1}
active: {line: 0, character: 1}
marks: {}
finalState:
documentContents: ""
selections:
- anchor: {line: 0, character: 0}
active: {line: 0, character: 0}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
languageId: plaintext
command:
version: 7
spokenForm: change next pair
action:
name: clearAndSetSelection
target:
type: primitive
modifiers:
- type: relativeScope
scopeType: {type: surroundingPair, delimiter: any}
offset: 1
length: 1
direction: forward
usePrePhraseSnapshot: true
initialState:
documentContents: () ()
selections:
- anchor: {line: 0, character: 3}
active: {line: 0, character: 3}
marks: {}
finalState:
documentContents: "() "
selections:
- anchor: {line: 0, character: 4}
active: {line: 0, character: 4}
AndreasArvidsson marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
languageId: plaintext
command:
version: 7
spokenForm: change pair backward
action:
name: clearAndSetSelection
target:
type: primitive
modifiers:
- type: relativeScope
scopeType: {type: surroundingPair, delimiter: any}
offset: 0
length: 1
direction: backward
usePrePhraseSnapshot: true
initialState:
documentContents: ()()
selections:
- anchor: {line: 0, character: 2}
active: {line: 0, character: 2}
marks: {}
finalState:
documentContents: ()
selections:
- anchor: {line: 0, character: 0}
active: {line: 0, character: 0}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
languageId: plaintext
command:
version: 7
spokenForm: change previous pair
action:
name: clearAndSetSelection
target:
type: primitive
modifiers:
- type: relativeScope
scopeType: {type: surroundingPair, delimiter: any}
offset: 1
length: 1
direction: backward
usePrePhraseSnapshot: true
initialState:
documentContents: () ()
selections:
- anchor: {line: 0, character: 3}
active: {line: 0, character: 3}
marks: {}
finalState:
documentContents: " ()"
selections:
- anchor: {line: 0, character: 0}
active: {line: 0, character: 0}
26 changes: 26 additions & 0 deletions data/fixtures/recorded/surroundingPair/textual/changedTwoPairs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
languageId: plaintext
command:
version: 7
spokenForm: change two pairs
action:
name: clearAndSetSelection
target:
type: primitive
modifiers:
- type: relativeScope
scopeType: {type: surroundingPair, delimiter: any}
offset: 0
length: 2
direction: forward
usePrePhraseSnapshot: true
initialState:
documentContents: ()()
selections:
- anchor: {line: 0, character: 0}
active: {line: 0, character: 0}
marks: {}
finalState:
documentContents: ""
selections:
- anchor: {line: 0, character: 0}
active: {line: 0, character: 0}
26 changes: 0 additions & 26 deletions data/fixtures/recorded/surroundingPair/textual/takeLeftQuad.yml

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading