throw errors from KTxt2 kiss interpolation
This commit is contained in:
@@ -61,7 +61,7 @@
|
||||
elements))
|
||||
|
||||
// Return [sourceFile outputFile]
|
||||
(function :Array<String> extractFileContents [:Stream fileStream]
|
||||
(function :Array<String> extractFileContents [:Stream fileStream :String->Dynamic reportError]
|
||||
(let [&mut sourceText ""
|
||||
&mut outputText ""
|
||||
interp (new KissInterp)]
|
||||
@@ -70,13 +70,13 @@
|
||||
((Block (objectWith source output))
|
||||
(+= sourceText source)
|
||||
(dictSet interp.variables "source" source)
|
||||
(dictSet interp.variables "R" re_flex.R)
|
||||
(+= outputText
|
||||
// Don't run the expensive "evalKiss" if there is no interpolation in the block!
|
||||
(if (= -1 (output.indexOf "\$"))
|
||||
output
|
||||
(let [escapedOutput
|
||||
(output.replace "\"" "\\\"")]
|
||||
(interp.evalKiss "\"${escapedOutput}\"")))))
|
||||
(try (interp.evalKiss "\"${output}\"")
|
||||
(catch [error] (reportError "Export templating error $error") (throw error))))))
|
||||
(otherwise)))
|
||||
[sourceText outputText]))
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
(function exportSourceAndOutputFiles [document]
|
||||
(let [:String ktxt2FullFilename document.fileName
|
||||
[sourceText outputText] (KTxt2.extractFileContents (Stream.fromFile ktxt2FullFilename))
|
||||
[sourceText outputText] (KTxt2.extractFileContents (Stream.fromFile ktxt2FullFilename) ->message (errorMessage message))
|
||||
ktxt2Directory (ktxt2FullFilename.directory)
|
||||
ktxt2Filename (ktxt2FullFilename.withoutDirectory)
|
||||
[baseFilename sourceExt outputExt ktxt2Ext] (ktxt2Filename.split ".")
|
||||
|
||||
Reference in New Issue
Block a user