기본 형식에서 범위 좁히기
Gofmt가 허용하는 출력 형식 가운데 더 제한된 부분을 선택하는 접근이다. Gofumpt로 정리한 코드에 다시 gofmt를 적용해도 서식이 바뀌지 않는 것을 목표로 한다. 기본 도구와 전혀 다른 문법을 도입하기보다 같은 언어의 작성 기준을 더 엄격하게 다룬다.
추가되는 작성 기준
단순 대입 뒤의 불필요한 줄바꿈이나 함수 본문 주변의 빈 줄 등을 정리한다. 표준 라이브러리 가져오기 구문을 위쪽의 별도 묶음에 두는 기준도 있다. 이런 규칙은 프로그램의 기능을 설명하는 규칙보다 표현과 배치의 일관성을 다루는 기준이다.
프로젝트 적용 범위
파일과 디렉터리를 대상으로 실행할 수 있으며 vendor와 testdata는 직접 지정하지 않으면 건너뛴다. 생성된 Go 파일에도 추가 규칙의 기본 적용 범위가 다르다. 편집기에서 Gopls를 사용한다면 그 안의 Gofumpt 지원을 설정해 작성 중 서식 정리에 연결할 수 있다.
관련 문서
Prettier / Dprint / EditorConfig / Shfmt