@@ -57,7 +57,7 @@ fn write_schema(
5757 buf,
5858 "# Generated by `ast-generator`, do not edit by hand.\n "
5959 ) ?;
60- writeln ! ( buf, "from .prelude import *\n " ) ?;
60+ writeln ! ( buf, "from .prelude import *" ) ?;
6161
6262 for node in & grammar. enums {
6363 let super_classses = if let Some ( cls) = super_types. get ( & node. name ) {
@@ -66,9 +66,13 @@ fn write_schema(
6666 } else {
6767 "AstNode" . to_owned ( )
6868 } ;
69- writeln ! ( buf, "class {}({}):" , class_name( & node. name) , super_classses) ?;
69+ writeln ! (
70+ buf,
71+ "\n class {}({}):" ,
72+ class_name( & node. name) ,
73+ super_classses
74+ ) ?;
7075 writeln ! ( buf, " pass" ) ?;
71- writeln ! ( buf) ?;
7276 }
7377 for node in & grammar. nodes {
7478 let super_classses = if let Some ( cls) = super_types. get ( & node. name ) {
@@ -77,7 +81,12 @@ fn write_schema(
7781 } else {
7882 "AstNode" . to_owned ( )
7983 } ;
80- writeln ! ( buf, "class {}({}):" , class_name( & node. name) , super_classses) ?;
84+ writeln ! (
85+ buf,
86+ "\n class {}({}):" ,
87+ class_name( & node. name) ,
88+ super_classses
89+ ) ?;
8190 let mut empty = true ;
8291 for field in get_fields ( node) {
8392 if field. tp == "SyntaxToken" {
@@ -111,7 +120,6 @@ fn write_schema(
111120 if empty {
112121 writeln ! ( buf, " pass" ) ?;
113122 }
114- writeln ! ( buf) ?;
115123 }
116124 Ok ( String :: from_utf8_lossy ( & buf) . to_string ( ) )
117125}
@@ -409,6 +417,8 @@ fn write_extractor(grammar: &AstSrc) -> std::io::Result<String> {
409417 writeln ! (
410418 buf,
411419 "//! Generated by `ast-generator`, do not edit by hand.\n
420+ #![cfg_attr(any(), rustfmt::skip)]
421+
412422use crate::generated;
413423use super::base::{{TextValue, Translator}};
414424use crate::trap::{{Label, TrapId}};
@@ -548,7 +558,7 @@ fn main() -> std::io::Result<()> {
548558 super_class_x. cmp ( & super_class_y) . then ( x. name . cmp ( & y. name ) )
549559 } ) ;
550560 let schema = write_schema ( & grammar, super_types) ?;
551- let schema_path = PathBuf :: from ( "../ schema/ast.py") ;
561+ let schema_path = project_root ( ) . join ( " schema/ast.py") ;
552562 codegen:: ensure_file_contents (
553563 crate :: flags:: CodegenType :: Grammar ,
554564 & schema_path,
@@ -557,7 +567,7 @@ fn main() -> std::io::Result<()> {
557567 ) ;
558568
559569 let extractor = write_extractor ( & grammar) ?;
560- let extractor_path = PathBuf :: from ( "../ extractor/src/translate/generated.rs") ;
570+ let extractor_path = project_root ( ) . join ( " extractor/src/translate/generated.rs") ;
561571 codegen:: ensure_file_contents (
562572 crate :: flags:: CodegenType :: Grammar ,
563573 & extractor_path,
0 commit comments