StyLua thực thi một phong cách mã Lua duy nhất, xác định cho tất cả các dự án
Định dạng mã nguồn Lua thành một phong cách xác định từ một AST đã phân tích, tạo ra đầu ra giống hệt nhau bất kể khoảng cách hoặc ngắt dòng ban đầu. Được tạo ra bởi JohnnyMorganz cho phát triển trên máy tính để bàn, công cụ này nhắm đến các dự án Lua, Luau và LuaJIT và tích hợp ở cấp độ trình soạn thảo hoặc CI. Nó cung cấp tích hợp LSP, một CLI với chế độ kiểm tra và so sánh, và cấu hình TOML cho từng dự án, làm cho nó phù hợp cho các nhà phát triển và người sáng tạo Roblox cần định dạng tự động, có thể dự đoán.
Cái nó làm và ai được lợi
StyLua viết lại mã Lua từ một đại diện đã phân tích, vì vậy các tệp tuân theo một phong cách duy nhất, có ý kiến sau khi định dạng. Nó hỗ trợ nhiều phương ngữ Lua bao gồm Luau và LuaJIT, và cung cấp một CLI cộng với hỗ trợ Giao thức Máy chủ Ngôn ngữ để tích hợp vào trình soạn thảo. Các nhóm muốn một phong cách được thực thi duy nhất có thể thêm một tệp TOML cấp dự án hoặc .editorconfig để xác định thụt lề, chiều rộng cột và sở thích trích dẫn.
Cách nó tương tác với các hệ thống phát triển
Công cụ được thiết kế cho các lần chạy nhanh, lặp lại trong các quy trình làm việc cục bộ và tự động. Việc triển khai Rust của nó mang lại định dạng độ trễ thấp phù hợp cho các hành động trong trình soạn thảo khi lưu hoặc các công việc trên toàn kho lưu trữ. Nó cung cấp chế độ kiểm tra và so sánh cho CI, và hỗ trợ .styluaignore để loại trừ các đường dẫn. Định dạng theo phạm vi giới hạn các chỉnh sửa trong các vùng mã đã chọn, điều này giảm thiểu sự thay đổi trong các tệp lớn trong quá trình chỉnh sửa gia tăng.
An toàn, cấu hình và dễ sử dụng
StyLua hoạt động một cách xác định và cung cấp các móc trình soạn thảo để giảm thiểu các bước thủ công. Tùy chọn LSP cung cấp định dạng theo thời gian thực bên trong các trình soạn thảo được hỗ trợ, trong khi các cờ CLI cho phép bạn xác minh phong cách mà không thay đổi tệp. Cấu hình thông qua stylua.toml giữ các quy tắc ở gốc dự án, và các tệp bỏ qua ngăn chặn việc viết lại không mong muốn. Người dùng có kinh nghiệm Lua tối thiểu có thể dựa vào các giá trị mặc định; người dùng nâng cao có thể điều chỉnh các quy tắc thông qua lược đồ TOML.
Được khuyến nghị cho các nhóm cần định dạng Lua tự động, lặp lại
StyLua phù hợp với các nhà phát triển và người sáng tạo Roblox cần định dạng nhất quán trong toàn bộ mã nguồn và công cụ nhanh chóng cho quy trình làm việc của trình soạn thảo hoặc CI. Mong đợi một nỗ lực cấu hình một lần để phù hợp với phong cách ưa thích của bạn, sau đó tự động hóa định dạng như một bước trước khi cam kết hoặc CI để thực thi nó. Được khuyến nghị.