]> git.lizzy.rs Git - rust.git/commitdiff
Fix spelling mistake
authorLukas Wirth <lukastw97@gmail.com>
Mon, 2 Jan 2023 22:16:26 +0000 (23:16 +0100)
committerLukas Wirth <lukastw97@gmail.com>
Mon, 2 Jan 2023 22:16:26 +0000 (23:16 +0100)
crates/ide/src/inlay_hints.rs
crates/ide/src/inlay_hints/discrimant.rs [deleted file]
crates/ide/src/inlay_hints/discriminant.rs [new file with mode: 0644]

index 9ec3f7f29ab5f6b91947670f83049b2066a1402f..368c8aaa935b8fbd928f80e7bdcf97f111bbb00b 100644 (file)
@@ -24,7 +24,7 @@
 mod param_name;
 mod binding_mode;
 mod bind_pat;
-mod discrimant;
+mod discriminant;
 
 #[derive(Clone, Debug, PartialEq, Eq)]
 pub struct InlayHintsConfig {
@@ -376,7 +376,7 @@ fn hints(
                 _ => None,
             },
             ast::Variant(v) => {
-                discrimant::hints(hints, famous_defs, config, file_id, &v)
+                discriminant::hints(hints, famous_defs, config, file_id, &v)
             },
             // FIXME: fn-ptr type, dyn fn type, and trait object type elisions
             ast::Type(_) => None,
diff --git a/crates/ide/src/inlay_hints/discrimant.rs b/crates/ide/src/inlay_hints/discrimant.rs
deleted file mode 100644 (file)
index f32c4bd..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-//! Implementation of "enum variant discriminant" inlay hints:
-//! ```no_run
-//! enum Foo {
-//!    Bar/* = 0*/,
-//! }
-//! ```
-use ide_db::{base_db::FileId, famous_defs::FamousDefs};
-use syntax::ast::{self, AstNode, HasName};
-
-use crate::{DiscriminantHints, InlayHint, InlayHintsConfig, InlayKind, InlayTooltip};
-
-pub(super) fn hints(
-    acc: &mut Vec<InlayHint>,
-    FamousDefs(sema, _): &FamousDefs<'_, '_>,
-    config: &InlayHintsConfig,
-    _: FileId,
-    variant: &ast::Variant,
-) -> Option<()> {
-    let field_list = match config.discriminant_hints {
-        DiscriminantHints::Always => variant.field_list(),
-        DiscriminantHints::Fieldless => match variant.field_list() {
-            Some(_) => return None,
-            None => None,
-        },
-        DiscriminantHints::Never => return None,
-    };
-
-    if variant.eq_token().is_some() {
-        return None;
-    }
-
-    let name = variant.name()?;
-
-    let descended = sema.descend_node_into_attributes(variant.clone()).pop();
-    let desc_pat = descended.as_ref().unwrap_or(variant);
-    let v = sema.to_def(desc_pat)?;
-    let d = v.eval(sema.db);
-
-    acc.push(InlayHint {
-        range: match field_list {
-            Some(field_list) => name.syntax().text_range().cover(field_list.syntax().text_range()),
-            None => name.syntax().text_range(),
-        },
-        kind: InlayKind::DiscriminantHint,
-        label: match &d {
-            Ok(v) => format!("{}", v).into(),
-            Err(_) => "?".into(),
-        },
-        tooltip: Some(InlayTooltip::String(match &d {
-            Ok(_) => "enum variant discriminant".into(),
-            Err(e) => format!("{e:?}").into(),
-        })),
-    });
-
-    Some(())
-}
-
-#[cfg(test)]
-mod tests {
-    use crate::inlay_hints::{
-        tests::{check_with_config, DISABLED_CONFIG},
-        DiscriminantHints, InlayHintsConfig,
-    };
-
-    #[track_caller]
-    fn check_discriminants(ra_fixture: &str) {
-        check_with_config(
-            InlayHintsConfig { discriminant_hints: DiscriminantHints::Always, ..DISABLED_CONFIG },
-            ra_fixture,
-        );
-    }
-
-    #[track_caller]
-    fn check_discriminants_fieldless(ra_fixture: &str) {
-        check_with_config(
-            InlayHintsConfig {
-                discriminant_hints: DiscriminantHints::Fieldless,
-                ..DISABLED_CONFIG
-            },
-            ra_fixture,
-        );
-    }
-
-    #[test]
-    fn fieldless() {
-        check_discriminants(
-            r#"
-enum Enum {
-    Variant,
-  //^^^^^^^0
-    Variant1,
-  //^^^^^^^^1
-    Variant2,
-  //^^^^^^^^2
-    Variant5 = 5,
-    Variant6,
-  //^^^^^^^^6
-}
-"#,
-        );
-    }
-
-    #[test]
-    fn datacarrying_mixed() {
-        check_discriminants(
-            r#"
-enum Enum {
-    Variant(),
-  //^^^^^^^^^0
-    Variant1,
-  //^^^^^^^^1
-    Variant2 {},
-  //^^^^^^^^^^^2
-    Variant3,
-  //^^^^^^^^3
-    Variant5 = 5,
-    Variant6,
-  //^^^^^^^^6
-}
-"#,
-        );
-    }
-
-    #[test]
-    fn datacarrying_mixed_fieldless_set() {
-        check_discriminants_fieldless(
-            r#"
-enum Enum {
-    Variant(),
-    Variant1,
-  //^^^^^^^^1
-    Variant2 {},
-    Variant3,
-  //^^^^^^^^3
-    Variant5 = 5,
-    Variant6,
-  //^^^^^^^^6
-}
-"#,
-        );
-    }
-}
diff --git a/crates/ide/src/inlay_hints/discriminant.rs b/crates/ide/src/inlay_hints/discriminant.rs
new file mode 100644 (file)
index 0000000..f32c4bd
--- /dev/null
@@ -0,0 +1,142 @@
+//! Implementation of "enum variant discriminant" inlay hints:
+//! ```no_run
+//! enum Foo {
+//!    Bar/* = 0*/,
+//! }
+//! ```
+use ide_db::{base_db::FileId, famous_defs::FamousDefs};
+use syntax::ast::{self, AstNode, HasName};
+
+use crate::{DiscriminantHints, InlayHint, InlayHintsConfig, InlayKind, InlayTooltip};
+
+pub(super) fn hints(
+    acc: &mut Vec<InlayHint>,
+    FamousDefs(sema, _): &FamousDefs<'_, '_>,
+    config: &InlayHintsConfig,
+    _: FileId,
+    variant: &ast::Variant,
+) -> Option<()> {
+    let field_list = match config.discriminant_hints {
+        DiscriminantHints::Always => variant.field_list(),
+        DiscriminantHints::Fieldless => match variant.field_list() {
+            Some(_) => return None,
+            None => None,
+        },
+        DiscriminantHints::Never => return None,
+    };
+
+    if variant.eq_token().is_some() {
+        return None;
+    }
+
+    let name = variant.name()?;
+
+    let descended = sema.descend_node_into_attributes(variant.clone()).pop();
+    let desc_pat = descended.as_ref().unwrap_or(variant);
+    let v = sema.to_def(desc_pat)?;
+    let d = v.eval(sema.db);
+
+    acc.push(InlayHint {
+        range: match field_list {
+            Some(field_list) => name.syntax().text_range().cover(field_list.syntax().text_range()),
+            None => name.syntax().text_range(),
+        },
+        kind: InlayKind::DiscriminantHint,
+        label: match &d {
+            Ok(v) => format!("{}", v).into(),
+            Err(_) => "?".into(),
+        },
+        tooltip: Some(InlayTooltip::String(match &d {
+            Ok(_) => "enum variant discriminant".into(),
+            Err(e) => format!("{e:?}").into(),
+        })),
+    });
+
+    Some(())
+}
+
+#[cfg(test)]
+mod tests {
+    use crate::inlay_hints::{
+        tests::{check_with_config, DISABLED_CONFIG},
+        DiscriminantHints, InlayHintsConfig,
+    };
+
+    #[track_caller]
+    fn check_discriminants(ra_fixture: &str) {
+        check_with_config(
+            InlayHintsConfig { discriminant_hints: DiscriminantHints::Always, ..DISABLED_CONFIG },
+            ra_fixture,
+        );
+    }
+
+    #[track_caller]
+    fn check_discriminants_fieldless(ra_fixture: &str) {
+        check_with_config(
+            InlayHintsConfig {
+                discriminant_hints: DiscriminantHints::Fieldless,
+                ..DISABLED_CONFIG
+            },
+            ra_fixture,
+        );
+    }
+
+    #[test]
+    fn fieldless() {
+        check_discriminants(
+            r#"
+enum Enum {
+    Variant,
+  //^^^^^^^0
+    Variant1,
+  //^^^^^^^^1
+    Variant2,
+  //^^^^^^^^2
+    Variant5 = 5,
+    Variant6,
+  //^^^^^^^^6
+}
+"#,
+        );
+    }
+
+    #[test]
+    fn datacarrying_mixed() {
+        check_discriminants(
+            r#"
+enum Enum {
+    Variant(),
+  //^^^^^^^^^0
+    Variant1,
+  //^^^^^^^^1
+    Variant2 {},
+  //^^^^^^^^^^^2
+    Variant3,
+  //^^^^^^^^3
+    Variant5 = 5,
+    Variant6,
+  //^^^^^^^^6
+}
+"#,
+        );
+    }
+
+    #[test]
+    fn datacarrying_mixed_fieldless_set() {
+        check_discriminants_fieldless(
+            r#"
+enum Enum {
+    Variant(),
+    Variant1,
+  //^^^^^^^^1
+    Variant2 {},
+    Variant3,
+  //^^^^^^^^3
+    Variant5 = 5,
+    Variant6,
+  //^^^^^^^^6
+}
+"#,
+        );
+    }
+}