diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2012-04-18 22:31:24 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2012-04-18 22:31:24 +0200 |
commit | c530d306d8266de9964c5ec735a7b1c3a2d5b8b8 (patch) | |
tree | 995bfeeadbfcc51ba4a0e66c33eb9aa8d27ef3e0 /Tools/CodeGen/CodeGen.m | |
parent | a3972ab0796a615c48e7bce730ca539431348982 (diff) |
CodeGen.m: Add a better IndentBlock function
Diffstat (limited to 'Tools/CodeGen/CodeGen.m')
-rw-r--r-- | Tools/CodeGen/CodeGen.m | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Tools/CodeGen/CodeGen.m b/Tools/CodeGen/CodeGen.m index c2cb890..9bd749c 100644 --- a/Tools/CodeGen/CodeGen.m +++ b/Tools/CodeGen/CodeGen.m @@ -37,6 +37,7 @@ CommaSeparated::usage = ""; Stringify::usage = ""; Quote::usage = "Quote[x] returns x surrounded by quotes"; IndentBlock::usage = ""; +IndentBlock2::usage = ""; CheckBlock::usage = ""; CodeGenBlock := _String | _?AtomQ | List[(_?(MatchQ[#, CodeGenBlock] &)) ...]; @@ -70,6 +71,12 @@ DefFn[ IndentBlock[block:CodeGenBlock] := StringDrop[" " <> StringReplace[FlattenBlock[block], {"\n" -> "\n "}],-2]]; +(* This should be used everywhere - need to tidy up the newline convention in CodeGen *) +DefFn[ + IndentBlock2[block:CodeGenBlock] := + Riffle[Map[StringJoin[" ",#] &, + StringSplit[FlattenBlock[block],"\n"]],"\n"]]; + DefFn[ SeparatedBlock[block:CodeGenBlock] := {"\n", block}]; ErrorDefinition[SeparatedBlock]; |