diff --git a/packages/opencode/src/format/formatter.ts b/packages/opencode/src/format/formatter.ts index 9e96b2305cd9..c87f40cc5a8c 100644 --- a/packages/opencode/src/format/formatter.ts +++ b/packages/opencode/src/format/formatter.ts @@ -386,6 +386,15 @@ export const cljfmt: Info = { }, } +export const stylua: Info = { + name: "stylua", + command: ["stylua", "$FILE"], + extensions: [".lua"], + async enabled() { + return Bun.which("stylua") !== null + }, +} + export const dfmt: Info = { name: "dfmt", command: ["dfmt", "-i", "$FILE"], diff --git a/packages/web/src/content/docs/formatters.mdx b/packages/web/src/content/docs/formatters.mdx index dbee49dca6fd..7b33aaee5c78 100644 --- a/packages/web/src/content/docs/formatters.mdx +++ b/packages/web/src/content/docs/formatters.mdx @@ -36,6 +36,7 @@ OpenCode comes with several built-in formatters for popular languages and framew | rustfmt | .rs | `rustfmt` command available | | shfmt | .sh, .bash | `shfmt` command available | | standardrb | .rb, .rake, .gemspec, .ru | `standardrb` command available | +| stylua | .lua | `stylua` command available | | terraform | .tf, .tfvars | `terraform` command available | | uv | .py, .pyi | `uv` command available | | zig | .zig, .zon | `zig` command available |