From 376da7a9630e457983209cada1f989f53e7731af Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Tue, 8 Sep 2026 07:57:23 +0200 Subject: Unterstützung für jsonc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nvim/lua/config/filetypes.lua | 18 ++++++++++-------- nvim/lua/config/treesitter.lua | 3 +-- 2 files changed, 11 insertions(+), 10 deletions(-) (limited to 'nvim/lua') diff --git a/nvim/lua/config/filetypes.lua b/nvim/lua/config/filetypes.lua index 37b1b65..56810d9 100644 --- a/nvim/lua/config/filetypes.lua +++ b/nvim/lua/config/filetypes.lua @@ -11,7 +11,7 @@ M.ANSIBLE_YAML = "yaml.ansible" -- Filetypes, die hier zusaetzlich zur eingebauten Erkennung entstehen und -- an anderer Stelle mitberuecksichtigt werden muessen (siehe config.autocmds, -- Treesitter-Aktivierung). -M.extra = { M.ANSIBLE_YAML } +M.extra = { M.ANSIBLE_YAML, "jsonc" } -- Ansible-Dateien haben die Endung .yml/.yaml wie normales YAML, sind aber -- ueber ihren Pfad erkennbar. @@ -28,17 +28,19 @@ vim.filetype.add({ ["site%.ya?ml"] = M.ANSIBLE_YAML, ["requirements%.ya?ml"] = M.ANSIBLE_YAML, }, -}) - --- yaml.ansible soll den regulaeren yaml-Parser von Treesitter verwenden. -vim.treesitter.language.register("yaml", M.ANSIBLE_YAML) - --- jinja support -vim.filetype.add({ extension = { j2 = "jinja", + -- .json als jsonc behandeln, damit Kommentare erlaubt sind (jsonls meldet + -- sie dann nicht als Fehler). json = "jsonc", }, }) +-- yaml.ansible soll den regulaeren yaml-Parser von Treesitter verwenden. +vim.treesitter.language.register("yaml", M.ANSIBLE_YAML) + +-- nvim-treesitter stellt keinen eigenen jsonc-Parser bereit. Der json-Parser +-- versteht // und /* */ Kommentare, deshalb wird er fuer jsonc mitbenutzt. +vim.treesitter.language.register("json", "jsonc") + return M diff --git a/nvim/lua/config/treesitter.lua b/nvim/lua/config/treesitter.lua index de71d50..e52d637 100644 --- a/nvim/lua/config/treesitter.lua +++ b/nvim/lua/config/treesitter.lua @@ -10,8 +10,7 @@ M.languages = { -- "jinja", -- "jinja_inline", "jq", - "json", -- weiterhin nötig für Injections, z.B. ```json in Markdown - "jsonc", + "json", -- deckt auch den Dateityp jsonc ab (siehe lua/config/filetypes.lua) "lua", "make", "markdown", -- cgit v1.3