aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Sojka <steelsojka@gmail.com>2020-12-04 16:15:47 -0600
committerSteven Sojka <steelsojka@gmail.com>2020-12-04 16:15:47 -0600
commit2985c17867bec5dfdc77f1bae123b50cac533f1b (patch)
treeb35d548e880b26f3a3862c98999871b77378fe17
parent0c8d6ab536ec2e8e95c0de441e6ad1fdfccc909f (diff)
downloadrneovim-2985c17867bec5dfdc77f1bae123b50cac533f1b.tar.gz
rneovim-2985c17867bec5dfdc77f1bae123b50cac533f1b.tar.bz2
rneovim-2985c17867bec5dfdc77f1bae123b50cac533f1b.zip
fix(treesitter): incorrect method name call
-rw-r--r--runtime/lua/vim/treesitter/languagetree.lua2
-rw-r--r--test/functional/lua/treesitter_spec.lua21
2 files changed, 22 insertions, 1 deletions
diff --git a/runtime/lua/vim/treesitter/languagetree.lua b/runtime/lua/vim/treesitter/languagetree.lua
index a8b62e21b9..885460c9fd 100644
--- a/runtime/lua/vim/treesitter/languagetree.lua
+++ b/runtime/lua/vim/treesitter/languagetree.lua
@@ -445,7 +445,7 @@ end
function LanguageTree:language_for_range(range)
for _, child in pairs(self._children) do
if child:contains(range) then
- return child:node_for_range(range)
+ return child:language_for_range(range)
end
end
diff --git a/test/functional/lua/treesitter_spec.lua b/test/functional/lua/treesitter_spec.lua
index 65dc1b3e03..0e823426ae 100644
--- a/test/functional/lua/treesitter_spec.lua
+++ b/test/functional/lua/treesitter_spec.lua
@@ -919,4 +919,25 @@ local hl_query = [[
end)
end)
+ describe("when getting the language for a range", function()
+ before_each(function()
+ insert([[
+int x = INT_MAX;
+#define VALUE 123456789
+ ]])
+ end)
+
+ it("should return the correct language tree", function()
+ local result = exec_lua([[
+ parser = vim.treesitter.get_parser(0, "c", {
+ queries = { c = "(preproc_def (preproc_arg) @c)"}})
+
+ local sub_tree = parser:language_for_range({1, 18, 1, 19})
+
+ return sub_tree == parser:children().c
+ ]])
+
+ eq(result, true)
+ end)
+ end)
end)