Skip to content

fix(treesitter): deduplicate repeated breadcrumb symbols#271

Open
disrupted wants to merge 21 commits intoBekaboo:masterfrom
disrupted:fix/treesitter-dedup-breadcrumbs
Open

fix(treesitter): deduplicate repeated breadcrumb symbols#271
disrupted wants to merge 21 commits intoBekaboo:masterfrom
disrupted:fix/treesitter-dedup-breadcrumbs

Conversation

@disrupted
Copy link
Contributor

@disrupted disrupted commented Feb 21, 2026

When using the Treesitter source with nested mapping-style structures, dropbar often shows duplicated breadcrumb entries.

For example when using this Nickel configuration file

{
  languages = {
    nu = {
      extensions = ["nu", "nuon"],
      grammar.source.git = {
        git = "https://github.com/nushell/tree-sitter-nu.git",
        rev = "bb3f533e5792260291945e1f329e1f0a779def6e",
      },
    },
  },
}

the breadcrumbs can look like this:

languages.ncl> languages> languages> nu> nu> grammar.source.git> grammar.source.git> git> git

I've implemented heuristics that resolve a lot of those issues which previously lead to incorrect or noisy breadcrumbs. Now it should be more concise and preserve real nesting.

languages.ncl> languages> nu> grammar.source.git> git

@disrupted disrupted force-pushed the fix/treesitter-dedup-breadcrumbs branch from bfb772e to 953f2b4 Compare February 21, 2026 21:03
@disrupted disrupted marked this pull request as ready for review February 21, 2026 21:03
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't sure if real Treesitter parsers can be used in CI. using stubs for treesitter instead makes it more portable.

@disrupted disrupted marked this pull request as draft February 22, 2026 22:10
@disrupted disrupted force-pushed the fix/treesitter-dedup-breadcrumbs branch from 953f2b4 to 9475fc1 Compare February 22, 2026 23:51
@disrupted disrupted marked this pull request as ready for review February 23, 2026 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants