MCPcopy Create free account
hub / github.com/csskit/csskit / fmt

Method fmt

crates/css_lexer/src/token.rs:1161–1209  ·  view source on GitHub ↗
(&self, f: &mut core::fmt::Formatter<'_>)

Source from the content-addressed store, hash-verified

1159
1160impl core::fmt::Debug for Token {
1161 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1162 let mut d = f.debug_struct(format!("Token::{}", self.kind().as_str()).as_str());
1163 match self.kind() {
1164 Kind::Eof => &mut d,
1165 Kind::Number => d.field("value", &self.value()).field("len", &self.numeric_len()),
1166 Kind::Dimension => {
1167 d.field("value", &self.value()).field("len", &self.numeric_len()).field("dimension_len", &self.len())
1168 }
1169 _ if self.is_delim_like() => {
1170 d.field("char", &self.char().unwrap()).field("len", &self.len());
1171 if !self.associated_whitespace().is_none() {
1172 d.field("associated_whitespace", &self.associated_whitespace());
1173 }
1174 &mut d
1175 }
1176 Kind::String => d
1177 .field("quote_style", &if self.first_flag() { "Double" } else { "Single" })
1178 .field("has_close_quote", &self.second_flag())
1179 .field("contains_escape_chars", &self.third_flag())
1180 .field("len", &self.len()),
1181 Kind::Ident | Kind::Function | Kind::AtKeyword => d
1182 .field("is_lower_case", &self.first_flag())
1183 .field("is_dashed_ident", &self.second_flag())
1184 .field("contains_escape_chars", &self.third_flag())
1185 .field("len", &self.len()),
1186 Kind::Hash => d
1187 .field("is_lower_case", &self.first_flag())
1188 .field("hash_is_id_like", &self.second_flag())
1189 .field("contains_escape_chars", &self.third_flag())
1190 .field("len", &self.len()),
1191 Kind::Url => d
1192 .field("url_has_closing_paren", &self.first_flag())
1193 .field("url_has_leading_space", &self.second_flag())
1194 .field("contains_escape_chars", &self.third_flag())
1195 .field("len", &self.len()),
1196 Kind::UnicodeRange => d
1197 .field("start", &format_args!("U+{:X}", self.unicode_range_start()))
1198 .field("end", &format_args!("U+{:X}", self.unicode_range_end()))
1199 .field("len", &self.len()),
1200 Kind::CdcOrCdo => d.field("is_cdc", &self.first_flag()).field("len", &self.len()),
1201 Kind::Whitespace => d.field("contains", &self.whitespace_style()).field("len", &self.len()),
1202 _ => d
1203 .field("flag_0", &self.first_flag())
1204 .field("flag_1", &self.second_flag())
1205 .field("flag_2", &self.third_flag())
1206 .field("len", &self.len()),
1207 }
1208 .finish()
1209 }
1210}
1211
1212impl std::fmt::Display for Token {

Callers

nothing calls this directly

Calls 13

finishMethod · 0.80
numeric_lenMethod · 0.80
is_delim_likeMethod · 0.80
charMethod · 0.80
associated_whitespaceMethod · 0.80
first_flagMethod · 0.80
second_flagMethod · 0.80
third_flagMethod · 0.80
whitespace_styleMethod · 0.80
as_strMethod · 0.45
kindMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected