2013-12-10 2 views
0

erl_tidy를 사용하여 escript 파일을 포함하여 erlang 코드를 형식화합니다. 그러나 이것은 -module(erl_pprint)을 추가 한 후 하나의 escript 파일 (source)을 포맷 할 때 나타납니다. :erl_tidy가 escript의 모듈 이름을 결정할 수 없습니다.

1> erl_tidy:file("erl_pprint"). 
erl_pprint: error: cannot determine module name. 
** exception exit: error 

그러나 나는 그녀 - 뱅 라인 #!/usr/bin/env escript을 제거하면 포맷이 잘 어울린다. 그렇다면시 뱅 라인을 유지하면서 코드를 어떻게 포맷 할 수 있습니까?

답변

1

escript 파일을 일반 모듈로 취급하여 erl_tidy에 제공 할 수 없습니다. 아마도 "tail -n + 2 erl_pprint> /tmp/erl_pprint.erl"을 사용하여 주석 행을 삭제하고 임시 파일에서 erl_tidy를 실행 한 다음 "cat escript-header.txt /tmp/erl_pprint.erl> erl_pprint를 사용할 수 있습니다. new "로 시작하는 줄을 포함하는 escript-header.txt 파일을 만들면"new "가됩니다.

+0

좋아요,이 작업을 수행하는 다른 방법은 찾지 않았지만 she-bang 행을 삭제하지 않았습니다. – schemacs

관련 문제