aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-treesitter/statusline.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/lua/nvim-treesitter/statusline.lua b/lua/nvim-treesitter/statusline.lua
index cd75fcb00..fde7def2b 100644
--- a/lua/nvim-treesitter/statusline.lua
+++ b/lua/nvim-treesitter/statusline.lua
@@ -21,6 +21,10 @@ function M.statusline(opts)
local type_patterns = options.type_patterns or { "class", "function", "method" }
local transform_fn = options.transform_fn or transform_line
local separator = options.separator or " -> "
+ local dedupe = options.dedupe
+ if dedupe == nil then
+ dedupe = true
+ end
local current_node = ts_utils.get_node_at_cursor()
if not current_node then
@@ -32,8 +36,10 @@ function M.statusline(opts)
while expr do
local line = ts_utils._get_line_for_node(expr, type_patterns, transform_fn, bufnr)
- if line ~= "" and not vim.tbl_contains(lines, line) then
- table.insert(lines, 1, line)
+ if line ~= "" then
+ if not dedupe or not vim.tbl_contains(lines, line) then
+ table.insert(lines, 1, line)
+ end
end
expr = expr:parent()
end