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