From a0e1c7be0ea84a194b84087bebaa8cafb99b64bc Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Mon, 28 Mar 2022 14:32:36 -0600 Subject: [PATCH] generalize makeFileForNewProject() to allow more templates --- kiss/src/kiss/Main.hx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kiss/src/kiss/Main.hx b/kiss/src/kiss/Main.hx index 74e5c5bb..3636e98d 100644 --- a/kiss/src/kiss/Main.hx +++ b/kiss/src/kiss/Main.hx @@ -83,9 +83,8 @@ class Main { return input; } - static function makeFileForNewProject(templateFile:Array, workingDir:String, projectName:String, pkg:String) { - var kissLibPath = new Process("haxelib", ["libpath", "kiss"]).stdout.readAll().toString().trim(); - var fullTemplateFilePath = Path.join([kissLibPath, "template"].concat(templateFile)); + static function _makeFileForNewProject(templateDir:String, templateFile:Array, workingDir:String, projectName:String, pkg:String) { + var fullTemplateFilePath = Path.join([templateDir, "template"].concat(templateFile)); var newFileContent = File.getContent(fullTemplateFilePath).replace("template", pkg); var templateFileInNewProject = [for (part in templateFile) if (part == "template") pkg else part]; var newFilePath = Path.join([workingDir, projectName].concat(templateFileInNewProject)); @@ -93,6 +92,8 @@ class Main { } static function newProject(args:Array) { + var kissLibPath = new Process("haxelib", ["libpath", "kiss"]).stdout.readAll().toString().trim(); + var makeFileForNewProject:haxe.Constraints.Function = _makeFileForNewProject.bind(kissLibPath); var name = promptFor("name"); // TODO put the prompted description in a README.md var pkg = name.replace("-", "_");