From 408555ba205af506b1980f0b6c9cb8f0615d8a57 Mon Sep 17 00:00:00 2001 From: Dario48 Date: Fri, 21 Aug 2026 17:10:12 +0200 Subject: [PATCH] add treesitter hopefully --- lua/plugins/neorg.lua | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/lua/plugins/neorg.lua b/lua/plugins/neorg.lua index 33e7a4e..7943a4b 100644 --- a/lua/plugins/neorg.lua +++ b/lua/plugins/neorg.lua @@ -6,13 +6,46 @@ return { load("nvim-neotest/nvim-nio") load("pysan3/pathlib.nvim") load("nvim-neorg/lua-utils.nvim") + load("nvim-neorg/tree-sitter-norg") + -- parser {{{ + local data = vim.fn.stdpath("data") + local src = data .. "/site/pack/core/opt/tree-sitter-norg" + local src_meta = data .. "/site/pack/core/opt/tree-sitter-norg-meta" + local parser_dir = data .. "/site/parser" + local out = parser_dir .. "/norg.so" + local out_meta = parser_dir .. "/norg_meta.so" + + + if not vim.uv.fs_stat(out) and vim.uv.fs_stat(src) then + -- not already built, and present + vim.fn.mkdir(parser_dir, "p") + local result = vim.system({ "nix", "build" }, { cwd = src }):wait() + if result.code == 0 then + vim.system({ "cp", "result/lib/lua/5.1/parser/norg.so", out }, { cwd = src }):wait() + else + vim.notify("failed to run nix build for norg treesitter, got result " .. tostring(result), + vim.log.levels.ERROR) + end + result = vim.system({ "nix", "build" }, { cwd = src_meta }):wait() + if result.code == 0 then + vim.system({ "cp", "result/parser", out_meta }, { cwd = src_meta }):wait() + else + vim.notify("failed to run nix build for norg_meta treesitter, got result " .. tostring(result), + vim.log.levels.ERROR) + end + end + + -- }}} + load("nvim-neorg/neorg") require("neorg").setup({ load = { ["core.defaults"] = {}, ["core.concealer"] = {}, -- ["core.completion"] = { config = { engine = "nvim-cmp" } }, - -- ["core.integrations.treesitter"] = {}, + ["core.integrations.treesitter"] = { + config = { configure_parsers = false }, + }, ["core.clipboard.code-blocks"] = {}, ["core.esupports.indent"] = {}, ["core.dirman"] = {