Skip to content

Commit a19d969

Browse files
committed
fix: format code with cargo fmt
1 parent 5357711 commit a19d969

File tree

1 file changed

+26
-15
lines changed

1 file changed

+26
-15
lines changed

mcp-macros/src/mcp_tool.rs

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,29 +26,35 @@ fn parse_uri_template(uri_template: &str) -> (String, Vec<String>) {
2626
// Convert "timedate://current-time/{timezone}" to "/current-time/{timezone}"
2727
let path = if let Some(scheme_end) = uri_template.find("://") {
2828
let after_scheme = &uri_template[scheme_end + 3..];
29-
29+
3030
// For custom URI schemes like "timedate://current-time/{timezone}",
3131
// treat everything after :// as the path since there's no host part
3232
// Add leading slash to make it a proper matchit path
33-
return (format!("/{}", after_scheme), extract_uri_parameters(after_scheme));
33+
return (
34+
format!("/{}", after_scheme),
35+
extract_uri_parameters(after_scheme),
36+
);
3437
} else {
3538
// No scheme, assume it's already a path
3639
if uri_template.starts_with('/') {
3740
uri_template
3841
} else {
3942
// Add leading slash
40-
return (format!("/{}", uri_template), extract_uri_parameters(uri_template));
43+
return (
44+
format!("/{}", uri_template),
45+
extract_uri_parameters(uri_template),
46+
);
4147
}
4248
};
43-
49+
4450
(path.to_string(), extract_uri_parameters(path))
4551
}
4652

4753
/// Extract parameter names from URI template path
4854
fn extract_uri_parameters(path: &str) -> Vec<String> {
4955
let mut params = Vec::new();
5056
let mut chars = path.chars().peekable();
51-
57+
5258
while let Some(ch) = chars.next() {
5359
if ch == '{' {
5460
let mut param_name = String::new();
@@ -63,7 +69,7 @@ fn extract_uri_parameters(path: &str) -> Vec<String> {
6369
}
6470
}
6571
}
66-
72+
6773
params
6874
}
6975

@@ -229,11 +235,16 @@ fn generate_matchit_resource_impl(
229235
.map(|(i, info)| {
230236
let variant_name = format_ident!("Resource{}", i);
231237
let method_name = &info.method_name;
232-
let await_token = if info.is_async { quote!(.await) } else { quote!() };
233-
238+
let await_token = if info.is_async {
239+
quote!(.await)
240+
} else {
241+
quote!()
242+
};
243+
234244
if info.has_params {
235245
// Generate parameter extraction for parameterized resources
236-
let param_extractions: Vec<_> = info.param_names
246+
let param_extractions: Vec<_> = info
247+
.param_names
237248
.iter()
238249
.enumerate()
239250
.map(|(param_idx, param_name)| {
@@ -248,8 +259,9 @@ fn generate_matchit_resource_impl(
248259
}
249260
})
250261
.collect();
251-
252-
let method_call_params: Vec<_> = info.method_param_names
262+
263+
let method_call_params: Vec<_> = info
264+
.method_param_names
253265
.iter()
254266
.map(|param| quote! { #param })
255267
.collect();
@@ -422,7 +434,7 @@ pub fn mcp_tools_impl(_attr: TokenStream, item: TokenStream) -> syn::Result<Toke
422434
let mut tool_definitions = Vec::new();
423435
let mut tool_dispatch_cases = Vec::new();
424436
let mut resource_definitions = Vec::new();
425-
437+
426438
// Collect resource information for matchit router generation
427439
let mut resource_infos = Vec::new();
428440

@@ -454,7 +466,7 @@ pub fn mcp_tools_impl(_attr: TokenStream, item: TokenStream) -> syn::Result<Toke
454466
// Parse URI template to get matchit path pattern
455467
let (path_pattern, template_param_names) = parse_uri_template(&uri_template);
456468

457-
// Extract method parameter names
469+
// Extract method parameter names
458470
let mut method_param_names = Vec::new();
459471
for input in &method.sig.inputs {
460472
match input {
@@ -478,7 +490,7 @@ pub fn mcp_tools_impl(_attr: TokenStream, item: TokenStream) -> syn::Result<Toke
478490
is_async: method.sig.asyncness.is_some(),
479491
has_params: method.sig.inputs.len() > 1,
480492
};
481-
493+
482494
resource_infos.push(resource_info);
483495

484496
// Create resource definition for list_resources
@@ -492,7 +504,6 @@ pub fn mcp_tools_impl(_attr: TokenStream, item: TokenStream) -> syn::Result<Toke
492504
raw: None,
493505
}
494506
});
495-
496507
} else {
497508
// Handle as tool (existing logic)
498509
let tool_name = method.sig.ident.to_string();

0 commit comments

Comments
 (0)