rust-lang / rust-lang/rust-mode
Closing angle brackets behaves differently than square brackets / parens
Nobody has claimed this yet.
- Dominant language
- Emacs Lisp
- Stars
- 1.3k
- Forks
- 198
- PR merge metrics
- No merged PRs in 30d
Description
Somewhy smartparens doesn't pass over the closing angle bracket that gets added automatically, which leads to duplicated closing angle brackets.
- Typing
a(b):|->a|->a(|)->a(b|)->a(b)|(where|is the cursor) - Typing
a<b>:|->a|->a<|>->a<b|>->a<b>|>
Looking at sp-local-pairs, it's not so much different for parens and angle brackets, wonder what's the issue here:
(:open "(" :close ")" :actions
(insert wrap autoskip navigate))
((:open "<" :close ">" :actions
(wrap insert autoskip navigate)
:when
(sp-rust-could-be-parameterized)
:unless nil :pre-handlers nil :post-handlers nil)
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.
Research direction
Reproduce the behavior in rust-mode with smartparens, comparing typing parentheses with angle brackets as shown in the issue. Inspect the sp-local-pairs configuration and related angle-bracket handling; done means an automatically inserted closing angle bracket is skipped rather than duplicated, matching the parenthesis behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- emacs, emacs-lisp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100