rust-lang/rust-analyzer

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

开放

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

 (8 条评论) (0 个反应) (0 位负责人)Rust (1,726 个派生)batch import
E-has-instructionsE-mediumS-actionablegood first issue

仓库指标

星标
 (14,924 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

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()

贡献者指南