커스텀을 만들거나 기존의 메서드 포맷터를 수정하여 다양한 스타일의 코드 정렬을 실험하려고합니다.간단한 포맷터와 코드 주위에 사용자 정의 포맷팅 스타일을 만들려고합니까?
BISimpleFormatter는 RBProgramNodeVisitor의 하위 클래스이므로 이와 비슷한 것을 사용할 계획입니다.
일반적인 시작점으로 각 코드 노드 앞뒤에 내 자신의 문자 (공백 또는 탭)를 삽입하려면 어떻게해야합니까?
커스텀을 만들거나 기존의 메서드 포맷터를 수정하여 다양한 스타일의 코드 정렬을 실험하려고합니다.간단한 포맷터와 코드 주위에 사용자 정의 포맷팅 스타일을 만들려고합니까?
BISimpleFormatter는 RBProgramNodeVisitor의 하위 클래스이므로 이와 비슷한 것을 사용할 계획입니다.
일반적인 시작점으로 각 코드 노드 앞뒤에 내 자신의 문자 (공백 또는 탭)를 삽입하려면 어떻게해야합니까?
BISimpleFormatter
의 하위 클래스를 만듭니다. BISimpleFormatter
의 모든 #visit<XYZ>
메소드에 대해 원하는 사전 장식을 수행하여 동일한 방법을 구현 한 다음 super visit<XYZ>
을 호출하고 사후 장식으로 끝냅니다. 예를 들어
,
MySpaciousFormatter
이 방법을
visitLiteralNode: aLiteralNode
codeStream space.
super visitLiteralNode: aLiteralNode.
codeStream space
의 라인에 포맷터가 LiteralNode
은 그것을 주위에 공백을 넣어 인쇄하는 것입니다 때마다 뭔가를 할 수 있습니다. 나는 당신이 훨씬 더 좋은 아이디어를 가지고 있다고 확신한다. 나는 그저 간단한 예를 들어주고 싶었습니다.