Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What has changed?
Made selection and navigation consistently act like the VSCode defaults while in comments, even if the comments are at the tail or head end of selection.
This can be considered a work in progress. At the very least, I'd like feedback about naming. This is my first github PR too, so please let me know if something is wrong.
The change to paredit.ts::selectForwardSexp is to treat whitespace consistently. I left it as
false
so the change is obvious. I can remove thefalse
if needed.I don't see a way to test the mixed selection functionality programmatically, because the keybindings switch between VSCode and Calva selection, and only the Calva selection is programmatic in the tests.
See #2878 for some video of how it works.
Also note that there is a shortcoming described in the above issue, where
{:a :b};|my comment
backward movement and selection doesn't behave correctly (it uses VSCode selection which selects only part of the sexp).Fixes #2878
My Calva PR Checklist
I have:
dev
branch. (Or have specific reasons to target some other branch.)published
. (Sorry for the nagging.)[Unreleased]
entry inCHANGELOG.md
, linking the issue(s) that the PR is addressing.npm run prettier-format
)npm run eslint
before creating your PR, or runnpm run eslint-watch
to eslint as you go).