From 6eb02945da8ed8c44d711da869d2250f0a873514 Mon Sep 17 00:00:00 2001 From: David Sancho Moreno Date: Tue, 24 Feb 2026 13:08:50 +0000 Subject: [PATCH] feat: add ocamlformat-mlx formatter support for .mlx files --- packages/opencode/src/format/formatter.ts | 11 +++++++++++ packages/web/src/content/docs/formatters.mdx | 1 + 2 files changed, 12 insertions(+) diff --git a/packages/opencode/src/format/formatter.ts b/packages/opencode/src/format/formatter.ts index 47b2d6a12d21..73b53c021f11 100644 --- a/packages/opencode/src/format/formatter.ts +++ b/packages/opencode/src/format/formatter.ts @@ -293,6 +293,17 @@ export const ocamlformat: Info = { }, } +export const ocamlformat_mlx: Info = { + name: "ocamlformat-mlx", + command: ["ocamlformat-mlx", "-i", "$FILE"], + extensions: [".mlx"], + async enabled() { + if (!Bun.which("ocamlformat-mlx")) return false + const items = await Filesystem.findUp(".ocamlformat", Instance.directory, Instance.worktree) + return items.length > 0 + }, +} + export const terraform: Info = { name: "terraform", command: ["terraform", "fmt", "$FILE"], diff --git a/packages/web/src/content/docs/formatters.mdx b/packages/web/src/content/docs/formatters.mdx index dbee49dca6fd..d16d03e82455 100644 --- a/packages/web/src/content/docs/formatters.mdx +++ b/packages/web/src/content/docs/formatters.mdx @@ -27,6 +27,7 @@ OpenCode comes with several built-in formatters for popular languages and framew | mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` command available | | nixfmt | .nix | `nixfmt` command available | | ocamlformat | .ml, .mli | `ocamlformat` command available and `.ocamlformat` config file | +| ocamlformat-mlx | .mlx | `ocamlformat-mlx` command available and `.ocamlformat` config file | | ormolu | .hs | `ormolu` command available | | oxfmt (Experimental) | .js, .jsx, .ts, .tsx | `oxfmt` dependency in `package.json` and an [experimental env variable flag](/docs/cli/#experimental) | | pint | .php | `laravel/pint` dependency in `composer.json` |