Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/syntax/src/token_text.rs')
-rw-r--r--crates/syntax/src/token_text.rs102
1 files changed, 0 insertions, 102 deletions
diff --git a/crates/syntax/src/token_text.rs b/crates/syntax/src/token_text.rs
deleted file mode 100644
index e69deb49ce..0000000000
--- a/crates/syntax/src/token_text.rs
+++ /dev/null
@@ -1,102 +0,0 @@
-//! Yet another version of owned string, backed by a syntax tree token.
-
-use std::{cmp::Ordering, fmt, ops};
-
-use rowan::GreenToken;
-use smol_str::SmolStr;
-
-pub struct TokenText<'a>(pub(crate) Repr<'a>);
-
-pub(crate) enum Repr<'a> {
- Borrowed(&'a str),
- Owned(GreenToken),
-}
-
-impl<'a> TokenText<'a> {
- pub fn borrowed(text: &'a str) -> Self {
- TokenText(Repr::Borrowed(text))
- }
-
- pub(crate) fn owned(green: GreenToken) -> Self {
- TokenText(Repr::Owned(green))
- }
-
- pub fn as_str(&self) -> &str {
- match &self.0 {
- &Repr::Borrowed(it) => it,
- Repr::Owned(green) => green.text(),
- }
- }
-}
-
-impl ops::Deref for TokenText<'_> {
- type Target = str;
-
- fn deref(&self) -> &str {
- self.as_str()
- }
-}
-impl AsRef<str> for TokenText<'_> {
- fn as_ref(&self) -> &str {
- self.as_str()
- }
-}
-
-impl From<TokenText<'_>> for String {
- fn from(token_text: TokenText<'_>) -> Self {
- token_text.as_str().into()
- }
-}
-
-impl From<TokenText<'_>> for SmolStr {
- fn from(token_text: TokenText<'_>) -> Self {
- SmolStr::new(token_text.as_str())
- }
-}
-
-impl PartialEq<&'_ str> for TokenText<'_> {
- fn eq(&self, other: &&str) -> bool {
- self.as_str() == *other
- }
-}
-impl PartialEq<TokenText<'_>> for &'_ str {
- fn eq(&self, other: &TokenText<'_>) -> bool {
- other == self
- }
-}
-impl PartialEq<String> for TokenText<'_> {
- fn eq(&self, other: &String) -> bool {
- self.as_str() == other.as_str()
- }
-}
-impl PartialEq<TokenText<'_>> for String {
- fn eq(&self, other: &TokenText<'_>) -> bool {
- other == self
- }
-}
-impl PartialEq for TokenText<'_> {
- fn eq(&self, other: &TokenText<'_>) -> bool {
- self.as_str() == other.as_str()
- }
-}
-impl Eq for TokenText<'_> {}
-impl Ord for TokenText<'_> {
- fn cmp(&self, other: &Self) -> Ordering {
- self.as_str().cmp(other.as_str())
- }
-}
-impl PartialOrd for TokenText<'_> {
- fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
- Some(self.cmp(other))
- }
-}
-impl fmt::Display for TokenText<'_> {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- fmt::Display::fmt(self.as_str(), f)
- }
-}
-impl fmt::Debug for TokenText<'_> {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- fmt::Debug::fmt(self.as_str(), f)
- }
-}