From 88f6c33f7bbf30e1804befcd7a979e60d047317d Mon Sep 17 00:00:00 2001 From: Kyra Date: Tue, 19 Nov 2024 22:18:37 -0600 Subject: [PATCH] Add formatters for Elm, Haskell, Python, and TypeScript This commit adds `elm-format` for Elm, `ormolu` for Haskell, `ruff` for Python (with `black` as a backup), and `prettier` (with `biome` and `deno` as backups) for TypeScript, Javascript, TSX, JSX, etc. --- languages.toml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/languages.toml b/languages.toml index df0a29cf0bd9..c8b834001023 100644 --- a/languages.toml +++ b/languages.toml @@ -750,6 +750,10 @@ roots = [ "package.json" ] comment-token = "//" block-comment-tokens = { start = "/*", end = "*/" } language-servers = [ "typescript-language-server" ] +formatter = { command = "prettier" } +# Alternative formatters (comment the above and un-comment one below to use it) +# formatter = { command = "biome", args = ["format"] } +# formatter = { command = "deno", args = ["format"] } indent = { tab-width = 2, unit = " " } [language.debugger] @@ -778,6 +782,10 @@ roots = [ "package.json" ] comment-token = "//" block-comment-tokens = { start = "/*", end = "*/" } language-servers = [ "typescript-language-server" ] +formatter = { command = "prettier" } +# Alternative formatters (comment the above and un-comment one below to use it) +# formatter = { command = "biome", args = ["format"] } +# formatter = { command = "deno", args = ["format"] } indent = { tab-width = 2, unit = " " } grammar = "javascript" @@ -792,6 +800,10 @@ roots = [ "package.json", "tsconfig.json" ] comment-token = "//" block-comment-tokens = { start = "/*", end = "*/" } language-servers = [ "typescript-language-server" ] +formatter = { command = "prettier" } +# Alternative formatters (comment the above and un-comment one below to use it) +# formatter = { command = "biome", args = ["format"] } +# formatter = { command = "deno", args = ["format"] } indent = { tab-width = 2, unit = " " } [[grammar]] @@ -825,6 +837,10 @@ roots = [ "package.json", "tsconfig.json" ] comment-token = "//" block-comment-tokens = { start = "/*", end = "*/" } language-servers = [ "typescript-language-server" ] +formatter = { command = "prettier" } +# Alternative formatters (comment the above and un-comment one below to use it) +# formatter = { command = "biome", args = ["format"] } +# formatter = { command = "deno", args = ["format"] } indent = { tab-width = 2, unit = " " } [[grammar]] @@ -882,6 +898,9 @@ shebangs = ["python"] roots = ["pyproject.toml", "setup.py", "poetry.lock", "pyrightconfig.json"] comment-token = "#" language-servers = ["ruff", "jedi", "pylsp"] +formatter = { command = "ruff", args = ["format"]} +# Alternative formatters (comment the above and un-comment one below to use it) +# formatter = { command = "black", args = ["-"] } # TODO: pyls needs utf-8 offsets indent = { tab-width = 4, unit = " " } @@ -1354,6 +1373,7 @@ roots = ["Setup.hs", "stack.yaml", "cabal.project"] comment-token = "--" block-comment-tokens = { start = "{-", end = "-}" } language-servers = [ "haskell-language-server" ] +formatter = { command = "ormolu" } indent = { tab-width = 2, unit = " " } [[grammar]] @@ -1807,6 +1827,7 @@ auto-format = true comment-token = "--" block-comment-tokens = { start = "{-", end = "-}" } language-servers = [ "elm-language-server" ] +formatter = { command = "elm-format", args = ["--stdin"] } indent = { tab-width = 4, unit = " " } [[grammar]] @@ -3793,6 +3814,10 @@ language-servers = [ "vscode-eslint-language-server", "ember-language-server", ] +formatter = { command = "prettier" } +# Alternative formatters (comment the above and un-comment one below to use it) +# formatter = { command = "biome", args = ["format"] } +# formatter = { command = "deno", args = ["format"] } indent = { tab-width = 2, unit = " " } grammar = "javascript" @@ -3817,6 +3842,10 @@ language-servers = [ "vscode-eslint-language-server", "ember-language-server", ] +formatter = { command = "prettier" } +# Alternative formatters (comment the above and un-comment one below to use it) +# formatter = { command = "biome", args = ["format"] } +# formatter = { command = "deno", args = ["format"] } indent = { tab-width = 2, unit = " " } grammar = "typescript"