]> git.lizzy.rs Git - rust.git/blobdiff - crates/base_db/src/fixture.rs
internal: Refactor FamousDefs builtin crate search
[rust.git] / crates / base_db / src / fixture.rs
index d1e2d74a987a44a159adc9440d92518993fd4445..daa0e3f6997f72cdb576cd61ae9697cd20209c7d 100644 (file)
@@ -10,7 +10,7 @@
 use vfs::{file_set::FileSet, VfsPath};
 
 use crate::{
-    input::{CrateName, CrateOrigin},
+    input::{CrateName, CrateOrigin, LangCrateOrigin},
     Change, CrateDisplayName, CrateGraph, CrateId, Dependency, Edition, Env, FileId, FilePosition,
     FileRange, ProcMacro, ProcMacroExpander, ProcMacroExpansionError, SourceDatabaseExt,
     SourceRoot, SourceRootId,
@@ -196,7 +196,7 @@ pub fn parse_with_proc_macros(
                 Env::default(),
                 Default::default(),
                 false,
-                Default::default(),
+                CrateOrigin::CratesIo { repo: None },
             );
         } else {
             for (from, to, prelude) in crate_deps {
@@ -233,7 +233,7 @@ pub fn parse_with_proc_macros(
                 Env::default(),
                 Vec::new(),
                 false,
-                CrateOrigin::Lang,
+                CrateOrigin::Lang(LangCrateOrigin::Core),
             );
 
             for krate in all_crates {
@@ -270,7 +270,7 @@ pub fn parse_with_proc_macros(
                 Env::default(),
                 proc_macro,
                 true,
-                CrateOrigin::Lang,
+                CrateOrigin::CratesIo { repo: None },
             );
 
             for krate in all_crates {
@@ -406,7 +406,11 @@ fn parse_crate(crate_str: String) -> (String, CrateOrigin, Option<String>) {
         };
         (a.to_owned(), origin, Some(version.to_string()))
     } else {
-        (crate_str, CrateOrigin::Unknown, None)
+        let crate_origin = match &*crate_str {
+            "std" => CrateOrigin::Lang(LangCrateOrigin::Std),
+            _ => CrateOrigin::CratesIo { repo: None },
+        };
+        (crate_str, crate_origin, None)
     }
 }