Lines Matching defs:kind
51 kind: Sp<Kind>,
61 let kind = Sp::new(Kind::Command(Sp::new(Ty::Other, span)), span);
63 let mut res = Self::new(name, ident, None, argument_casing, env_casing, kind);
78 let kind = Sp::new(Kind::Command(Sp::new(Ty::Other, span)), span);
80 let mut res = Self::new(name, ident, None, argument_casing, env_casing, kind);
95 let kind = Sp::new(Kind::Value, span);
97 let mut res = Self::new(name, ident, None, argument_casing, env_casing, kind);
131 let kind = Sp::new(Kind::Command(ty), span);
138 kind,
143 if matches!(&*res.kind, Kind::Command(_) | Kind::Subcommand(_)) {
147 match &*res.kind {
151 res.kind.span(),
176 let kind = Sp::new(Kind::Value, span);
183 kind,
188 if matches!(&*res.kind, Kind::Value) {
204 let kind = Sp::new(Kind::Arg(ty), span);
211 kind,
216 if matches!(&*res.kind, Kind::Arg(_)) {
220 match &*res.kind {
224 res.kind.span(),
233 res.kind.span(),
255 kind: Sp<Kind>,
275 kind,
279 fn push_method(&mut self, kind: AttrKind, name: Ident, arg: impl ToTokens) {
281 match kind {
289 kind.as_str(),
290 kind.as_str()
298 match kind {
306 kind.as_str(),
307 kind.as_str(),
308 kind.as_str()
337 let actual_attr_kind = *attr.kind.get();
338 let kind = match &attr.magic {
345 .kind()
348 .unwrap_or_else(|| Sp::new(Ty::Other, self.kind.span()));
349 let kind = Sp::new(Kind::FromGlobal(ty), attr.name.clone().span());
350 Some(kind)
358 .kind()
361 .unwrap_or_else(|| Sp::new(Ty::Other, self.kind.span()));
362 let kind = Sp::new(Kind::Subcommand(ty), attr.name.clone().span());
363 Some(kind)
370 let kind = Sp::new(Kind::ExternalSubcommand, attr.name.clone().span());
371 Some(kind)
379 .kind()
382 .unwrap_or_else(|| Sp::new(Ty::Other, self.kind.span()));
383 let kind = Sp::new(Kind::Flatten(ty), attr.name.clone().span());
384 Some(kind)
388 let kind = Sp::new(
389 Kind::Skip(expr, self.kind.attr_kind()),
392 Some(kind)
397 if let Some(kind) = kind {
398 self.set_kind(kind)?;
407 let actual_attr_kind = *attr.kind.get();
408 let expected_attr_kind = self.kind.attr_kind();
415 attr.kind.span(),
421 _ if attr.kind != expected_attr_kind => {
423 attr.kind.span(),
435 self.push_method(*attr.kind.get(), attr.name.clone(), quote!(#(#tokens),*));
444 *attr.kind.get(),
453 self.push_method(*attr.kind.get(), attr.name.clone(), self.name.clone().translate(*self.casing));
484 *attr.kind.get(),
844 self.push_method(*attr.kind.get(), attr.name.clone(), expr);
850 self.push_method(*attr.kind.get(), attr.name.clone(), expr);
871 if let Kind::Skip(_, attr) = &*self.kind {
879 if let Kind::FromGlobal(_) = &*self.kind {
918 fn set_kind(&mut self, kind: Sp<Kind>) -> Result<(), syn::Error> {
919 match (self.kind.get(), kind.get()) {
929 self.kind = kind;
933 let old = self.kind.name();
934 let new = kind.name();
935 abort!(kind.span(), "`{}` cannot be used with `{}`", new, old);
1019 .unwrap_or_else(|| self.kind.span());
1038 .unwrap_or_else(|| self.kind.span());
1044 pub fn kind(&self) -> Sp<Kind> {
1045 self.kind.clone()
1190 Self::Skip(_, kind) => *kind,
1309 if *attr.kind.get() == AttrKind::Clap || *attr.kind.get() == AttrKind::StructOpt {
1311 } else if !possible_kind.contains(attr.kind.get()) {
1319 attr.kind.as_str(),
1378 let cs = |kind| Sp::new(kind, name.span());