style: rename crates to kebab case
This commit is contained in:
48
crates/ide-db/src/label.rs
Normal file
48
crates/ide-db/src/label.rs
Normal file
@@ -0,0 +1,48 @@
|
||||
//! See [`Label`]
|
||||
use std::fmt;
|
||||
|
||||
/// A type to specify UI label, like an entry in the list of assists. Enforces
|
||||
/// proper casing:
|
||||
///
|
||||
/// Frobnicate bar
|
||||
///
|
||||
/// Note the upper-case first letter and the absence of `.` at the end.
|
||||
#[derive(Clone)]
|
||||
pub struct Label(String);
|
||||
|
||||
impl PartialEq<str> for Label {
|
||||
fn eq(&self, other: &str) -> bool {
|
||||
self.0 == other
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq<&'_ str> for Label {
|
||||
fn eq(&self, other: &&str) -> bool {
|
||||
self == *other
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Label> for String {
|
||||
fn from(label: Label) -> String {
|
||||
label.0
|
||||
}
|
||||
}
|
||||
|
||||
impl Label {
|
||||
pub fn new(label: String) -> Label {
|
||||
assert!(label.starts_with(char::is_uppercase) && !label.ends_with('.'));
|
||||
Label(label)
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Display for Label {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
fmt::Display::fmt(&self.0, f)
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Debug for Label {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
fmt::Debug::fmt(&self.0, f)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user