@@ -464,6 +464,52 @@ Otherwise turn off rustic format functionality and run `save-some-buffers'."
464464(advice-add 'save-some-buffers :around
465465 #'rustic-save-some-buffers-advice )
466466
467+ (defun rustic-generate-project-rustfmt-toml ()
468+ " Generate a default `rustfmt.toml' file in the project root."
469+ (let* ((root (rustic-buffer-crate t ))
470+ (file (expand-file-name " rustfmt.toml" root)))
471+ (unless (file-exists-p file)
472+ (with-temp-file file
473+ (insert " edition = \" 2024\"\n " )
474+ (insert " max_width = 100\n " )
475+ (insert " use_small_heuristics = \" Default\"\n " )
476+ (insert " newline_style = \" Unix\"\n " )
477+ (insert " format_code_in_doc_comments = true\n " )
478+ (insert " format_strings = true\n " )
479+ (insert " format_macro_matchers = true\n " )
480+ (insert " format_macro_expansion = true\n " )
481+ (insert " format_generics = true\n " )
482+ (insert " format_trait_impls = true\n " )
483+ (insert " format_impls = true\n " )
484+ (insert " format_structs = true\n " )
485+ (insert " format_enums = true\n " )
486+ (insert " format_items_in_match = true\n " )
487+ (insert " format_match_arms = true\n " )
488+ (insert " format_function_calls = true\n " )
489+ (insert " format_method_calls = true\n " )
490+ (insert " format_braces = true\n " )
491+ (insert " format_single_line_if = true\n " )
492+ (insert " format_single_line_match = true\n " )
493+ (insert " format_else_if = true\n " )
494+ (insert " format_trailing_comma = true\n " )
495+ (insert " format_match_block = true\n " )
496+ (insert " format_match_pattern = true\n " )
497+ (insert " format_struct_lit = true\n " )
498+ (insert " format_array_lit = true\n " )
499+ (insert " format_chain = true\n " )
500+ (insert " format_imports = true\n " )
501+ (insert " format_merge_imports = true\n " )
502+ (insert " format_use_toplevel = true\n " )
503+ (insert " format_empty_block = true\n " )
504+ (insert " format_empty_struct = true\n " )
505+ (insert " format_empty_enum = true\n " )
506+ (insert " format_empty_impl = true\n " )
507+ (insert " format_empty_trait = true\n " )
508+ (insert " format_empty_fn = true\n " )
509+ (insert " format_trait_bounds = true\n " )
510+ (insert " format_type_args = true\n " )
511+ ))))
512+
467513; ;; _
468514(provide 'rustic-rustfmt )
469515; ;; rustic-rustfmt.el ends here
0 commit comments