From b2a5d3607568b5c25bb7f1a6badfcba2e9138175 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Mon, 20 Jun 2022 00:55:50 +0000 Subject: [PATCH] fix assert error insertion on windows --- kiss/src/kiss/Macros.hx | 3 ++- kiss/src/kiss/Prelude.hx | 4 ++-- projects/nat-flixel-desktop-playground/source/PlayState.kiss | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/kiss/src/kiss/Macros.hx b/kiss/src/kiss/Macros.hx index c06a57e5..a888c92f 100644 --- a/kiss/src/kiss/Macros.hx +++ b/kiss/src/kiss/Macros.hx @@ -305,6 +305,7 @@ class Macros { var b = wholeExp.expBuilder(); var expression = exps[0]; var failureError = KissError.fromExp(wholeExp, "").toString(AssertionFail); + var colonsInPrefix = if (Sys.systemName() == "Windows") 5 else 4; var messageExp = if (exps.length > 1) { exps[1]; } else { @@ -320,7 +321,7 @@ class Macros { letVal, letVal, b.callSymbol("throw", [ - b.callSymbol("kiss.Prelude.runtimeInsertAssertionMessage", [messageExp, b.str(failureError)]) + b.callSymbol("kiss.Prelude.runtimeInsertAssertionMessage", [messageExp, b.str(failureError), b.int(colonsInPrefix)]) ]) ]) ]); diff --git a/kiss/src/kiss/Prelude.hx b/kiss/src/kiss/Prelude.hx index 05b2f614..7b0a1a28 100644 --- a/kiss/src/kiss/Prelude.hx +++ b/kiss/src/kiss/Prelude.hx @@ -723,9 +723,9 @@ class Prelude { return str.substr(negIdx(startIdx), negIdx(endIdx)); } - public static function runtimeInsertAssertionMessage(message:String, error:String) { + public static function runtimeInsertAssertionMessage(message:String, error:String, colonsInPrefix:Int) { var colonIdx = 0; - for (_ in 0...4) { + for (_ in 0...colonsInPrefix) { colonIdx = error.indexOf(":", colonIdx) + 1; } colonIdx += 1; diff --git a/projects/nat-flixel-desktop-playground/source/PlayState.kiss b/projects/nat-flixel-desktop-playground/source/PlayState.kiss index 7e50994b..cd1c83d9 100644 --- a/projects/nat-flixel-desktop-playground/source/PlayState.kiss +++ b/projects/nat-flixel-desktop-playground/source/PlayState.kiss @@ -50,6 +50,9 @@ (method &override :Void update [:Float elapsed] (super.update elapsed) + (when FlxG.keys.justPressed.ESCAPE + (Sys.exit 0)) + // Press ENTER to type a command to run (when (and !textInput FlxG.keys.justPressed.ENTER) (typeCommand))