rust-lang/rust-analyzer

matching_brace function not correct when jumping from open brace to close brace

Open

#1,942 创建于 2019年10月2日

在 GitHub 查看
 (8 评论) (0 反应) (0 负责人)Rust (14,924 star) (1,726 fork)batch import
E-has-instructionsE-mediumS-actionablegood first issue

描述

https://github.com/rust-analyzer/rust-analyzer/blob/31f22d85491d9e7eaadf5fd4f9754c83fc0f3ea6/crates/ra_ide_api/src/matching_brace.rs#L41

swap the order of do_check parameters the makes the test case failed

do_check("struct Foo <|>{ a: i32, }", "struct Foo { a: i32, }<|>");

this matching behavior should be symmetrical

https://github.com/rust-analyzer/rust-analyzer/blob/31f22d85491d9e7eaadf5fd4f9754c83fc0f3ea6/crates/ra_ide_api/src/matching_brace.rs#L18-L19

if the matching node is a left brace, we use start(), if the matching node is a right brace, we should use end()

贡献者指南