aboutsummaryrefslogtreecommitdiffstats
path: root/lua/conform/formatters/prettier.lua
diff options
context:
space:
mode:
authorSteven Arcangeli <stevearc@stevearc.com>2023-08-28 18:28:07 -0700
committerSteven Arcangeli <stevearc@stevearc.com>2023-08-28 18:28:07 -0700
commitcddd536e087a9fd3d2c9ea5b0a44e46c7b4b54c2 (patch)
tree70f6868440596ae90b7f451379c3abfa5678849c /lua/conform/formatters/prettier.lua
parent69c4495ab5ad3c07c3a4f3c2bcac2f070718b4cb (diff)
feat: range formatting
Should work the same as vim.lsp.buf.format(). Additionally, range formatting is supported for *any* formatter. If the formatter doesn't have native support for ranges, conform will do its best to only apply the diffs that affect that range.
Diffstat (limited to 'lua/conform/formatters/prettier.lua')
-rw-r--r--lua/conform/formatters/prettier.lua6
1 files changed, 5 insertions, 1 deletions
diff --git a/lua/conform/formatters/prettier.lua b/lua/conform/formatters/prettier.lua
index 6f4bbfb..ea45ffb 100644
--- a/lua/conform/formatters/prettier.lua
+++ b/lua/conform/formatters/prettier.lua
@@ -1,5 +1,5 @@
local util = require("conform.util")
----@type conform.FormatterConfig
+---@type conform.FileFormatterConfig
return {
meta = {
url = "https://github.com/prettier/prettier",
@@ -7,6 +7,10 @@ return {
},
command = util.from_node_modules("prettier"),
args = { "--stdin-filepath", "$FILENAME" },
+ range_args = function(ctx)
+ local start_offset, end_offset = util.get_offsets_from_range(ctx.buf, ctx.range)
+ return { "$FILENAME", "--range-start=" .. start_offset, "--range-end=" .. end_offset }
+ end,
cwd = util.root_file({
-- https://prettier.io/docs/en/configuration.html
".prettierrc",