diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-treesitter/statusline.lua | 10 |
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 |
