Add `syntax_test` shortcut for first character of previous line
@FichteFoll is already working on this.
Since Sep 9, 2024.
Assessment
This issue has not been assessed yet.
Description
If you press Tab in a syntax_test_* file on a line that has the test prefix (# in my case), it jumps to the next column, adds carets and the appropriate scopes. I've also found that when you use ^, you can step through the meta scopes, and once the meta scopes are added to a line's tests, subsequent auto-generated tests exclude it, thus making them much more readable. This is great, and dramatically speeds up writing tests when you have a syntax file that's working correctly.
But Tab finds the last column n with a test of any sort from the previous line and starts the next test in column n+1. That means that you can easily insert a meta test with something like #^^^, but then you have to manually line up the next test using Shift+Tab to get Tab working again to easily insert more tests.
So in this situation, with the cursor at |, I want a new, single-character test added at % for the open paren:
a = myfunc("param1", var2) + 3
# ^^^^^^^^^^^^^^^^ meta.function-call.arguments.python
#| %
Possible ways to address this:
- Add a shortcut that would work like
Tabwhen adding a new assertion, but would still add a test to the first un-asserted substring of the meta scope region if the previous line only contains meta scopes. - Simpler, just add a shortcut which works like
Tabbut instead of thinking about whether the previous region is meta or not, just start looking for the next range at the beginning of the previous line's assertion region.
I guess a good default binding for this shortcut on Mac would be Opt+Tab, although I don't know what would work best on Windows.
But another possibility is to just have Tab always work like proposal 1 above. That way it would be easy to find, and would encourage comprehensive testing. In this case, maybe we'd want to change the present behavior to another function/binding so that it was still available if needed.
- Dominant language
- Python
- Stars
- 455
- Forks
- 86
- Avg merge
- 7d 10h
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SublimeText/PackageDev
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
SublimeText/PackageDev#417 ·
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
SublimeText/PackageDev#393 · 1 comment ·
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
SublimeText/PackageDev#383 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 35/100
SublimeText/PackageDev#379 ·
-
defect
SublimeText/PackageDev#371 · 1 comment · 1 reaction · 1 assignee ·
All issues in SublimeText/PackageDev
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100