]> git.lizzy.rs Git - rust.git/commitdiff
Merge #722
authorbors[bot] <bors[bot]@users.noreply.github.com>
Fri, 1 Feb 2019 07:54:32 +0000 (07:54 +0000)
committerbors[bot] <bors[bot]@users.noreply.github.com>
Fri, 1 Feb 2019 07:54:32 +0000 (07:54 +0000)
722: remove hard-coded support for ctry macro r=matklad a=matklad

It was used mainly to prevent HirFileId infra from bitroting, but the
`vec![]` macro can serve that just as well!

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
crates/ra_hir/src/macros.rs
crates/ra_ide_api/src/extend_selection.rs
crates/ra_ide_api/src/snapshots/tests__highlight_query_group_macro.snap
crates/ra_ide_api/src/snapshots/tests__highlights_code_inside_macros.snap
crates/ra_ide_api/src/syntax_highlighting.rs

index 7ca34d434511d670a5ae22bb38943ca3d6a4a842..cf722087550159d08999ad728d39b7218ee5ce1a 100644 (file)
@@ -19,7 +19,6 @@
 // Hard-coded defs for now :-(
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub enum MacroDef {
-    CTry,
     Vec,
     QueryGroup,
 }
@@ -38,9 +37,7 @@ fn from_call(macro_call: &ast::MacroCall) -> Option<(MacroDef, MacroInput)> {
         let def = {
             let path = macro_call.path()?;
             let name_ref = path.segment()?.name_ref()?;
-            if name_ref.text() == "ctry" {
-                MacroDef::CTry
-            } else if name_ref.text() == "vec" {
+            if name_ref.text() == "vec" {
                 MacroDef::Vec
             } else if name_ref.text() == "query_group" {
                 MacroDef::QueryGroup
@@ -60,35 +57,10 @@ fn from_call(macro_call: &ast::MacroCall) -> Option<(MacroDef, MacroInput)> {
 
     fn expand(self, input: MacroInput) -> Option<MacroExpansion> {
         match self {
-            MacroDef::CTry => self.expand_ctry(input),
             MacroDef::Vec => self.expand_vec(input),
             MacroDef::QueryGroup => self.expand_query_group(input),
         }
     }
-    fn expand_ctry(self, input: MacroInput) -> Option<MacroExpansion> {
-        let text = format!(
-            r"
-                fn dummy() {{
-                    match {} {{
-                        None => return Ok(None),
-                        Some(it) => it,
-                    }}
-                }}",
-            input.text
-        );
-        let file = SourceFile::parse(&text);
-        let match_expr = file.syntax().descendants().find_map(ast::MatchExpr::cast)?;
-        let match_arg = match_expr.expr()?;
-        let ptr = SyntaxNodePtr::new(match_arg.syntax());
-        let src_range = TextRange::offset_len(0.into(), TextUnit::of_str(&input.text));
-        let ranges_map = vec![(src_range, match_arg.syntax().range())];
-        let res = MacroExpansion {
-            text,
-            ranges_map,
-            ptr,
-        };
-        Some(res)
-    }
     fn expand_vec(self, input: MacroInput) -> Option<MacroExpansion> {
         let text = format!(r"fn dummy() {{ {}; }}", input.text);
         let file = SourceFile::parse(&text);
index cd2ebe471b78b685859021d6dd2297e7fa06c1d9..f61feaf1b3c124b9997d395ec69fa78f537e77d2 100644 (file)
@@ -47,11 +47,11 @@ fn extend_selection_inside_macros() {
         let (analysis, frange) = single_file_with_range(
             "
             fn main() {
-                ctry!(foo(|x| <|>x<|>));
+                vec![foo(|x| <|>x<|>)];
             }
         ",
         );
         let r = analysis.extend_selection(frange).unwrap();
-        assert_eq!(r, TextRange::from_to(51.into(), 56.into()));
+        assert_eq!(r, TextRange::from_to(50.into(), 55.into()));
     }
 }
index 062add08385fb014a30032d5b0a37eb23b7e2936..0b802ac3dcbb623d6c901520e23341edbb2568b9 100644 (file)
@@ -1,8 +1,8 @@
 ---
-created: "2019-01-22T14:45:01.017117100+00:00"
-creator: insta@0.4.0
+created: "2019-02-01T07:52:15.689836752+00:00"
+creator: insta@0.5.3
 expression: "&highlights"
-source: "crates\\ra_ide_api\\src\\syntax_highlighting.rs"
+source: crates/ra_ide_api/src/syntax_highlighting.rs
 ---
 [
     HighlightedRange {
index fd8265abb797292234ed095493910c6c88a7b6e6..ae8923e75f151803b8243b221ca6eb0afedd609d 100644 (file)
@@ -1,8 +1,8 @@
 ---
-created: "2019-01-22T14:45:01.043047100+00:00"
-creator: insta@0.4.0
+created: "2019-02-01T07:46:59.130146403+00:00"
+creator: insta@0.5.3
 expression: "&highlights"
-source: "crates\\ra_ide_api\\src\\syntax_highlighting.rs"
+source: crates/ra_ide_api/src/syntax_highlighting.rs
 ---
 [
     HighlightedRange {
@@ -14,59 +14,31 @@ source: "crates\\ra_ide_api\\src\\syntax_highlighting.rs"
         tag: "function"
     },
     HighlightedRange {
-        range: [41; 46),
+        range: [41; 45),
         tag: "macro"
     },
     HighlightedRange {
-        range: [49; 52),
+        range: [48; 51),
         tag: "keyword"
     },
     HighlightedRange {
-        range: [57; 59),
+        range: [56; 58),
         tag: "literal"
     },
     HighlightedRange {
-        range: [82; 86),
-        tag: "macro"
-    },
-    HighlightedRange {
-        range: [89; 92),
-        tag: "keyword"
-    },
-    HighlightedRange {
-        range: [97; 99),
-        tag: "literal"
-    },
-    HighlightedRange {
-        range: [49; 52),
-        tag: "keyword"
-    },
-    HighlightedRange {
-        range: [53; 54),
-        tag: "function"
-    },
-    HighlightedRange {
-        range: [57; 59),
-        tag: "literal"
-    },
-    HighlightedRange {
-        range: [61; 62),
-        tag: "text"
-    },
-    HighlightedRange {
-        range: [89; 92),
+        range: [48; 51),
         tag: "keyword"
     },
     HighlightedRange {
-        range: [93; 94),
+        range: [52; 53),
         tag: "function"
     },
     HighlightedRange {
-        range: [97; 99),
+        range: [56; 58),
         tag: "literal"
     },
     HighlightedRange {
-        range: [101; 102),
+        range: [60; 61),
         tag: "text"
     }
 ]
index 26bde495b3fcb9c707beabd4475df594f293cda3..6c4391e1e81d4a77903ac152b29572a84ac0828a 100644 (file)
@@ -42,7 +42,6 @@ fn highlights_code_inside_macros() {
         let (analysis, file_id) = single_file(
             "
             fn main() {
-                ctry!({ let x = 92; x});
                 vec![{ let x = 92; x}];
             }
             ",