Conversions report errors

This commit is contained in:
2023-03-20 21:14:49 -06:00
parent 1a3de48594
commit 44702a6231
2 changed files with 6 additions and 6 deletions

View File

@@ -100,7 +100,7 @@
(otherwise)))
(.map [sourceText outputText] applySpecialChars)))
(function :Map<String,String> validConversions [:Array<KTxt2Conversion> conversions :String sourceFile :String outputFile :String source]
(function :Map<String,String> validConversions [:Array<KTxt2Conversion> 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<KTxt2Conversion> conversions]
(function :String tryFullAutoConvert [:String ktxt2File :Array<KTxt2Conversion> 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)))))))

View File

@@ -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)]