StyLua는 프로젝트 전반에 걸쳐 단일하고 결정론적인 Lua 코드 스타일을 강제합니다.
구문 분석된 AST에서 결정론적 스타일로 Lua 소스를 포맷하여 원래의 공백이나 줄 바꿈에 관계없이 동일한 출력을 생성합니다. JohnnyMorganz에 의해 데스크탑 개발을 위해 만들어진 이 도구는 Lua, Luau 및 LuaJIT 프로젝트를 대상으로 하며 편집기 또는 CI 수준에서 통합됩니다. LSP 통합, 체크 및 diff 모드를 갖춘 CLI, 프로젝트별 TOML 구성을 제공하여 예측 가능하고 자동화된 포맷이 필요한 개발자와 Roblox 제작자에게 적합합니다.
무엇을 하는지 그리고 누가 혜택을 받는지
StyLua는 구문 분석된 표현에서 Lua 코드를 다시 작성합니다, 그래서 파일은 포맷팅 후 단일하고 의견이 반영된 스타일을 따릅니다. Luau와 LuaJIT을 포함한 여러 Lua 방언을 지원하며, 편집기 통합을 위한 CLI 및 언어 서버 프로토콜 지원을 제공합니다. 단일 강제 스타일을 원하는 팀은 들여쓰기, 열 너비 및 따옴표 선호도를 정의하기 위해 프로젝트 수준의 TOML 파일이나 .editorconfig를 추가할 수 있습니다.
개발 시스템과의 상호작용
이 도구는 로컬 및 자동화된 워크플로우에서 빠르고 반복 가능한 실행을 위해 설계되었습니다. Rust 구현은 저장 시 편집기 작업이나 리포지토리 전체 작업에 적합한 낮은 지연 시간의 포맷팅을 제공합니다. CI를 위한 체크 및 diff 모드를 제공하며, 경로를 제외하기 위해 .styluaignore를 지원합니다. 범위 포맷팅은 선택된 코드 영역에 대한 편집을 제한하여 점진적 편집 중 대형 파일의 변경을 줄입니다.
안전성, 구성 및 사용 용이성
StyLua는 결정론적으로 작동하며 수동 단계를 줄이기 위한 편집기 훅을 제공합니다. LSP 옵션은 지원되는 편집기 내에서 실시간 포맷팅을 제공하며, CLI 플래그를 사용하면 파일을 변경하지 않고 스타일을 확인할 수 있습니다. stylua.toml을 통한 구성은 규칙을 프로젝트 루트에 유지하며, 무시 파일은 의도치 않은 재작성 방지를 돕습니다. 최소한의 Lua 경험이 있는 사용자도 기본값에 의존할 수 있으며, 고급 사용자는 TOML 스키마를 통해 규칙을 조정할 수 있습니다.
자동화되고 반복 가능한 Lua 형식이 필요한 팀에 추천
StyLua는 코드베이스 전반에 걸쳐 일관된 형식을 요구하는 개발자와 Roblox 제작자에게 적합하며, 편집기 또는 CI 워크플로우를 위한 빠른 도구를 제공합니다. 선호하는 스타일에 맞추기 위해 한 번의 구성 노력이 필요하며, 이후에는 이를 시행하기 위해 커밋 전 또는 CI 단계에서 형식을 자동화할 수 있습니다. 추천합니다.