more
This commit is contained in:
@@ -9,52 +9,5 @@
|
||||
indent.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Register missing treesitter predicates for compatibility with newer grammars
|
||||
extraConfigLuaPre = ''
|
||||
do
|
||||
local query = require("vim.treesitter.query")
|
||||
local predicates = query.list_predicates()
|
||||
if not vim.tbl_contains(predicates, "is-not?") then
|
||||
query.add_predicate("is-not?", function(match, pattern, source, predicate)
|
||||
local dominated_by = predicate[2]
|
||||
local dominated = false
|
||||
for _, node in pairs(match) do
|
||||
if type(node) == "userdata" then
|
||||
local current = node:parent()
|
||||
while current do
|
||||
if current:type() == dominated_by then
|
||||
dominated = true
|
||||
break
|
||||
end
|
||||
current = current:parent()
|
||||
end
|
||||
end
|
||||
end
|
||||
return not dominated
|
||||
end, { force = true, all = true })
|
||||
end
|
||||
end
|
||||
|
||||
-- Fix grammar-bundled treesitter queries that use #match? with Lua pattern
|
||||
-- syntax (e.g. %d) instead of Vim regex. Neovim 0.11 picks the first
|
||||
-- non-extending query file in the rtp as the base, so the grammar-bundled
|
||||
-- (buggy) queries take precedence over the corrected site-level queries.
|
||||
-- Override affected languages with the site-level version.
|
||||
do
|
||||
local langs = { "sql" }
|
||||
for _, lang in ipairs(langs) do
|
||||
local files = vim.api.nvim_get_runtime_file(
|
||||
"queries/" .. lang .. "/highlights.scm", true)
|
||||
if #files > 1 then
|
||||
local f = io.open(files[#files])
|
||||
if f then
|
||||
vim.treesitter.query.set(lang, "highlights", f:read("*all"))
|
||||
f:close()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user