From 5debf3cbcc8af0d22db5a743ac354f84079b1b8a Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 14 Feb 2019 10:57:33 -0800 Subject: [PATCH] cli: Create src directory before writing grammar.json Fixes #278 --- cli/src/generate/mod.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cli/src/generate/mod.rs b/cli/src/generate/mod.rs index b13dfbbd..816d0613 100644 --- a/cli/src/generate/mod.rs +++ b/cli/src/generate/mod.rs @@ -34,6 +34,10 @@ pub fn generate_parser_in_directory( state_ids_to_log: Vec, ) -> Result<()> { let repo_src_path = repo_path.join("src"); + let repo_header_path = repo_src_path.join("tree_sitter"); + + fs::create_dir_all(&repo_src_path)?; + fs::create_dir_all(&repo_header_path)?; let grammar_json; match grammar_path { @@ -49,9 +53,6 @@ pub fn generate_parser_in_directory( let (language_name, c_code) = generate_parser_for_grammar_with_opts(&grammar_json, minimize, state_ids_to_log)?; - let repo_header_path = repo_src_path.join("tree_sitter"); - fs::create_dir_all(&repo_src_path)?; - fs::create_dir_all(&repo_header_path)?; fs::write(&repo_src_path.join("parser.c"), c_code) .map_err(|e| format!("Failed to write parser.c: {}", e))?; fs::write(