Put cursor after pattern on field completion #857
Merged
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.
Small QoL improvement - in patterns you get completions for optional record fields, and one of the completions is "Some(theFieldName)". This is to make this type of pattern easy to insert via autocomplete:
switch x { | {id: Some(id)} => id
whereSome(id)
would be a completion item when completing atid: <com>
.Before this PR, the cursor would mark the contents of the the
Some
after insertion:Some(<cursor>id</cursor>)
. But, this is almost never what you want to do in this case, you almost always want to continue matching on other things. So, this, PR changes the position of the cursor after insertion to instead be after the fullSome
:Some(id)<cursor />
.