aboutsummaryrefslogtreecommitdiffstats
path: root/lua/conform
diff options
context:
space:
mode:
authoremmanueltouzery <etouzery@gmail.com>2024-06-03 21:29:37 +0200
committerGitHub <noreply@github.com>2024-06-03 12:29:37 -0700
commit88b699b595703f1ae9d9061c050e52b1fe7c33f1 (patch)
tree8fba875c46f812bdc75373dd53094cf1f7cf0a2c /lua/conform
parent7159a23d19fb982269dae2e8147ebbe34965095b (diff)
fix: set correct file extension for unsaved buffer temp files (#440)
the extension used to be always the file type, be smarter now. For instance prettier wouldn't recognize a `.typescript` extension.
Diffstat (limited to 'lua/conform')
-rw-r--r--lua/conform/ft_to_ext.lua13
-rw-r--r--lua/conform/runner.lua3
2 files changed, 15 insertions, 1 deletions
diff --git a/lua/conform/ft_to_ext.lua b/lua/conform/ft_to_ext.lua
new file mode 100644
index 0000000..7c6e195
--- /dev/null
+++ b/lua/conform/ft_to_ext.lua
@@ -0,0 +1,13 @@
+return {
+ elixir = "ex",
+ graphql = "gql",
+ javascript = "js",
+ javascriptreact = "jsx",
+ markdown = "md",
+ perl = "pl",
+ python = "py",
+ ruby = "rb",
+ rust = "rs",
+ typescript = "ts",
+ typescriptreact = "tsx",
+}
diff --git a/lua/conform/runner.lua b/lua/conform/runner.lua
index c59ae67..942ffbc 100644
--- a/lua/conform/runner.lua
+++ b/lua/conform/runner.lua
@@ -1,5 +1,6 @@
local errors = require("conform.errors")
local fs = require("conform.fs")
+local ft_to_ext = require("conform.ft_to_ext")
local log = require("conform.log")
local util = require("conform.util")
local uv = vim.uv or vim.loop
@@ -457,7 +458,7 @@ M.build_context = function(bufnr, config, range)
filename = fs.join(dirname, "unnamed_temp")
local ft = vim.bo[bufnr].filetype
if ft and ft ~= "" then
- filename = filename .. "." .. ft
+ filename = filename .. "." .. (ft_to_ext[ft] or ft)
end
else
dirname = vim.fs.dirname(filename)