简单的格式化程序,并尝试围绕代码创建自定义格式样式?

时间:2017-01-14 13:23:44

标签: pharo

我正在尝试创建自定义或修改现有的方法格式化程序,以尝试不同类型的代码安排。

BISimpleFormatter是RBProgramNodeVisitor的子类,所以我打算也使用类似的东西。

作为一个通用的起点,如何在每个代码节点之前和之后插入我自己的字符(空格或制表符)?

1 个答案:

答案 0 :(得分:2)

创建BISimpleFormatter的子类。对于您班级中#visit<XYZ>工具中的每个BISimpleFormatter方法,您可以通过执行任何预装饰来使用相同的方法,然后调用super visit<XYZ>并以装饰后结束。

例如,

MySpaciousFormatter 可以在

行上做点什么
visitLiteralNode: aLiteralNode
  codeStream space.
  super visitLiteralNode: aLiteralNode.
  codeStream space

这样每次格式化程序要打印LiteralNode时,它都会在其周围放置空格。我相信你有更好的想法;我只想给你一个简单的例子。