From 826683b1bfd704f4691bc7522411672a9cae5059 Mon Sep 17 00:00:00 2001 From: Stephan Seitz Date: Mon, 5 Apr 2021 14:40:22 +0200 Subject: [PATCH] Fix: allow empty path in utils.get_at_path --- lua/nvim-treesitter/query.lua | 9 +++------ lua/nvim-treesitter/utils.lua | 1 + 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/lua/nvim-treesitter/query.lua b/lua/nvim-treesitter/query.lua index e6683139e..6bcc5687d 100644 --- a/lua/nvim-treesitter/query.lua +++ b/lua/nvim-treesitter/query.lua @@ -189,14 +189,11 @@ function M.get_capture_matches(bufnr, capture_string, query_group, root, lang) end function M.find_best_match(bufnr, capture_string, query_group, filter_predicate, scoring_function, root) - if not string.sub(capture_string, 1,2) == '@' then - api.nvim_err_writeln('capture_string must start with "@"') - return + if string.sub(capture_string, 1,2) == '@' then + --remove leading "@" + capture_string = string.sub(capture_string, 2) end - --remove leading "@" - capture_string = string.sub(capture_string, 2) - local best local best_score diff --git a/lua/nvim-treesitter/utils.lua b/lua/nvim-treesitter/utils.lua index ab8498b0e..1d2bb22c0 100644 --- a/lua/nvim-treesitter/utils.lua +++ b/lua/nvim-treesitter/utils.lua @@ -111,6 +111,7 @@ end -- @param path the '.' separated path -- @returns the value at path or nil function M.get_at_path(tbl, path) + if path == '' then return tbl end local segments = vim.split(path, '.', true) local result = tbl