From 44702a6231db22b9965fb331b398ebfd56351d3f Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Mon, 20 Mar 2023 21:14:49 -0600 Subject: [PATCH] Conversions report errors --- projects/ktxt2/src/ktxt2/KTxt2.kiss | 8 ++++---- projects/ktxt2/src/ktxt2/KTxt2EditorProvider.kiss | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/projects/ktxt2/src/ktxt2/KTxt2.kiss b/projects/ktxt2/src/ktxt2/KTxt2.kiss index 536a7f28..e83a4afb 100644 --- a/projects/ktxt2/src/ktxt2/KTxt2.kiss +++ b/projects/ktxt2/src/ktxt2/KTxt2.kiss @@ -100,7 +100,7 @@ (otherwise))) (.map [sourceText outputText] applySpecialChars))) -(function :Map validConversions [:Array conversions :String sourceFile :String outputFile :String source] +(function :Map validConversions [:Array conversions :String sourceFile :String outputFile :String source :String->Dynamic reportError] (let [validMap (new Map)] (doFor c conversions (case c @@ -112,18 +112,18 @@ (dictSet validMap name (try (KTxt2.insertSpecialChars (convert (KTxt2.applySpecialChars source))) - (catch [e] "Conversion error: $e")))) + (catch [e] (reportError "Conversion error: $e"))))) (otherwise {}))) validMap)) (#when (or sys hxnodejs) - (function :String tryFullAutoConvert [:String ktxt2File :Array conversions] + (function :String tryFullAutoConvert [:String ktxt2File :Array conversions :String->Dynamic reportError] (let [elements (splitFileElements (Stream.fromFile ktxt2File)) [base sourceExt outputExt _] (ktxt2File.split ".")] (doFor element elements (assertLet [(Block element) element] (unless element.outputLocked - (let [conversions (validConversions conversions "${base}.${sourceExt}" "${base}.${outputExt}" element.source)] + (let [conversions (validConversions conversions "${base}.${sourceExt}" "${base}.${outputExt}" element.source reportError)] (when (= 1 (count conversions)) (let [onlyConversion (first (collect (conversions.iterator)))] (set element.output onlyConversion))))))) diff --git a/projects/ktxt2/src/ktxt2/KTxt2EditorProvider.kiss b/projects/ktxt2/src/ktxt2/KTxt2EditorProvider.kiss index ab34922a..e7f6685a 100644 --- a/projects/ktxt2/src/ktxt2/KTxt2EditorProvider.kiss +++ b/projects/ktxt2/src/ktxt2/KTxt2EditorProvider.kiss @@ -65,13 +65,13 @@ (makeEdit ->edit (edit.delete document.uri (new Range (streamPosToOffsetDocumentPos start -KTxt2.blockStartEnd.length) (streamPosToOffsetDocumentPos end KTxt2.blockStartEnd.length))))) ((object type "tryFullAutoConvert") - (let [fullConverted (KTxt2.tryFullAutoConvert document.fileName Main.conversions)] + (let [fullConverted (KTxt2.tryFullAutoConvert document.fileName Main.conversions ->message (errorMessage message))] (makeEdit ->edit (edit.replace document.uri (let [fullText (document.getText)] (new Range (document.positionAt 0) (document.positionAt (- fullText.length 1)))) fullConverted)))) ((objectWith [type "tryAutoConvert"] source output outputStart outputEnd) (let [[base sourceExt outputExt _] (document.fileName.split ".") conversions - (KTxt2.validConversions Main.conversions "${base}.${sourceExt}" "${base}.${outputExt}" source)] + (KTxt2.validConversions Main.conversions "${base}.${sourceExt}" "${base}.${outputExt}" source ->message (errorMessage message))] (if (> (Lambda.count conversions) 0) (let [overwrite (if output "" "Overwrite") chosenConversion (if (= 1 (Lambda.count conversions)) (first (collect (conversions.iterator))) null)]