]> git.lizzy.rs Git - rust.git/commitdiff
Use items can also have doc comments
authorLukas Wirth <lukastw97@gmail.com>
Fri, 4 Dec 2020 14:51:23 +0000 (15:51 +0100)
committerLukas Wirth <lukastw97@gmail.com>
Fri, 4 Dec 2020 16:09:40 +0000 (17:09 +0100)
crates/ide/src/folding_ranges.rs
crates/syntax/src/ast/node_ext.rs
crates/syntax/src/parsing/text_tree_sink.rs
crates/syntax/test_data/parser/inline/ok/0002_use_tree_list.rast
crates/syntax/test_data/parser/inline/ok/0110_use_path.rast

index 7523aec55732bdde0eddd88f2314928e3339cd23..45170dd29de0507238406caadec7062eba50e466 100644 (file)
@@ -83,7 +83,6 @@ pub(crate) fn folding_ranges(file: &SourceFile) -> Vec<Fold> {
 fn fold_kind(kind: SyntaxKind) -> Option<FoldKind> {
     match kind {
         COMMENT => Some(FoldKind::Comment),
-        USE => Some(FoldKind::Imports),
         ARG_LIST | PARAM_LIST => Some(FoldKind::ArgList),
         ASSOC_ITEM_LIST
         | RECORD_FIELD_LIST
@@ -258,11 +257,11 @@ fn main() <fold block>{
     fn test_fold_imports() {
         check(
             r#"
-<fold imports>use std::<fold block>{
+use std::<fold block>{
     str,
     vec,
     io as iop
-}</fold>;</fold>
+}</fold>;
 
 fn main() <fold block>{
 }</fold>"#,
@@ -306,9 +305,9 @@ fn test_fold_import_groups() {
 <fold imports>use std::mem;
 use std::f64;</fold>
 
-use std::collections::HashMap;
+<fold imports>use std::collections::HashMap;
 // Some random comment
-use std::collections::VecDeque;
+use std::collections::VecDeque;</fold>
 
 fn main() <fold block>{
 }</fold>"#,
@@ -326,10 +325,10 @@ fn test_fold_import_and_groups() {
 <fold imports>use std::mem;
 use std::f64;</fold>
 
-<fold imports>use std::collections::<fold block>{
+use std::collections::<fold block>{
     HashMap,
     VecDeque,
-}</fold>;</fold>
+}</fold>;
 // Some random comment
 
 fn main() <fold block>{
index b70b840b81abd91b1cec0ee5469817a8f9b50a5d..aa3a4b6065b5f868672cdd38e59ee1847388beb2 100644 (file)
@@ -477,3 +477,4 @@ impl ast::DocCommentsOwner for ast::Const {}
 impl ast::DocCommentsOwner for ast::TypeAlias {}
 impl ast::DocCommentsOwner for ast::Impl {}
 impl ast::DocCommentsOwner for ast::MacroCall {}
+impl ast::DocCommentsOwner for ast::Use {}
index 997bc5d288bcabd07e81ebd0e325245f2a9607ef..49842177a8a693ab93e5ceb559be1be698d544fa 100644 (file)
@@ -148,7 +148,7 @@ fn n_attached_trivias<'a>(
 ) -> usize {
     match kind {
         MACRO_CALL | CONST | TYPE_ALIAS | STRUCT | ENUM | VARIANT | FN | TRAIT | MODULE
-        | RECORD_FIELD | STATIC => {
+        | RECORD_FIELD | STATIC | USE => {
             let mut res = 0;
             let mut trivias = trivias.enumerate().peekable();
 
index 1e80dd7e27f02740fe636aed24b9bd6a859900c6..b1fb75ed1e66b006c25091e5d4b2382ec86d4412 100644 (file)
@@ -49,9 +49,9 @@ SOURCE_FILE@0..249
         R_CURLY@56..57 "}"
     SEMICOLON@57..58 ";"
   WHITESPACE@58..59 " "
-  COMMENT@59..97 "// Rust 2018 (with a  ..."
-  WHITESPACE@97..98 "\n"
-  USE@98..121
+  USE@59..121
+    COMMENT@59..97 "// Rust 2018 (with a  ..."
+    WHITESPACE@97..98 "\n"
     USE_KW@98..101 "use"
     WHITESPACE@101..102 " "
     USE_TREE@102..120
@@ -75,9 +75,9 @@ SOURCE_FILE@0..249
         R_CURLY@119..120 "}"
     SEMICOLON@120..121 ";"
   WHITESPACE@121..122 " "
-  COMMENT@122..134 "// Rust 2015"
-  WHITESPACE@134..135 "\n"
-  USE@135..166
+  USE@122..166
+    COMMENT@122..134 "// Rust 2015"
+    WHITESPACE@134..135 "\n"
     USE_KW@135..138 "use"
     WHITESPACE@138..139 " "
     USE_TREE@139..165
@@ -102,9 +102,9 @@ SOURCE_FILE@0..249
         R_CURLY@164..165 "}"
     SEMICOLON@165..166 ";"
   WHITESPACE@166..167 " "
-  COMMENT@167..179 "// Rust 2015"
-  WHITESPACE@179..180 "\n"
-  USE@180..205
+  USE@167..205
+    COMMENT@167..179 "// Rust 2015"
+    WHITESPACE@179..180 "\n"
     USE_KW@180..183 "use"
     WHITESPACE@183..184 " "
     USE_TREE@184..204
index 82028096f831d2b667aa94ac58a247b5999ac7a1..c9fad5f8c5b4b9af0c94578f8d4755a1c2b34538 100644 (file)
@@ -10,9 +10,9 @@ SOURCE_FILE@0..154
             IDENT@6..16 "crate_name"
     SEMICOLON@16..17 ";"
   WHITESPACE@17..18 " "
-  COMMENT@18..45 "// Rust 2018 - All fl ..."
-  WHITESPACE@45..46 "\n"
-  USE@46..61
+  USE@18..61
+    COMMENT@18..45 "// Rust 2018 - All fl ..."
+    WHITESPACE@45..46 "\n"
     USE_KW@46..49 "use"
     WHITESPACE@49..50 " "
     USE_TREE@50..60
@@ -22,9 +22,9 @@ SOURCE_FILE@0..154
             IDENT@50..60 "crate_name"
     SEMICOLON@60..61 ";"
   WHITESPACE@61..62 " "
-  COMMENT@62..91 "// Rust 2018 - Anchor ..."
-  WHITESPACE@91..92 "\n"
-  USE@92..124
+  USE@62..124
+    COMMENT@62..91 "// Rust 2018 - Anchor ..."
+    WHITESPACE@91..92 "\n"
     USE_KW@92..95 "use"
     WHITESPACE@95..96 " "
     USE_TREE@96..123