aboutsummaryrefslogtreecommitdiffstats
path: root/lua/conform
diff options
context:
space:
mode:
authorMagnus Larsen <magnusfynbo@hotmail.com>2024-06-02 05:46:51 +0200
committerGitHub <noreply@github.com>2024-06-01 20:46:51 -0700
commit63e0a32c85a39484813957dc480f171907aa90b9 (patch)
tree9ad5828a5ac1d4725ad91d4604a642a586164d51 /lua/conform
parentccbbeb7087f7ee41552ebc4bac50c346d5832803 (diff)
feat: add treesitter query formatter (#425)
* [feat]: add treesitter query formatter * [docgen] Update docs skip-checks: true * lint * refactor: fix condition and simplify some logic * [docgen] Update docs skip-checks: true --------- Co-authored-by: Magnus Larsen <mzla@topsoe.com> Co-authored-by: Github Actions <actions@github> Co-authored-by: Steven Arcangeli <stevearc@stevearc.com>
Diffstat (limited to 'lua/conform')
-rw-r--r--lua/conform/formatters/format-queries.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/lua/conform/formatters/format-queries.lua b/lua/conform/formatters/format-queries.lua
new file mode 100644
index 0000000..6f7da25
--- /dev/null
+++ b/lua/conform/formatters/format-queries.lua
@@ -0,0 +1,21 @@
+---@return nil|string
+local function get_format_script()
+ return vim.api.nvim_get_runtime_file("scripts/format-queries.lua", false)[1]
+end
+
+---@type conform.FileFormatterConfig
+return {
+ meta = {
+ url = "https://github.com/nvim-treesitter/nvim-treesitter/blob/main/CONTRIBUTING.md#formatting",
+ description = "Tree-sitter query formatter.",
+ },
+ condition = function()
+ local ok = pcall(vim.treesitter.language.inspect, "query")
+ return ok and get_format_script() ~= nil
+ end,
+ command = "nvim",
+ args = function()
+ return { "-l", get_format_script(), "$FILENAME" }
+ end,
+ stdin = false,
+}