SmiteshP / nvim-navbuddy

A simple popup display that provides breadcrumbs feature using LSP server
Apache License 2.0
770 stars 30 forks source link

Show jsx in outline #11

Closed TxHawks closed 1 year ago

TxHawks commented 1 year ago

Hey, great work on this. Super useful and comfortable to work with. symbols-outline.nvim has a very useful feature when working with JavaScript and TypeScript, where it will also show the outline of JSX elements, which can be super useful. See simrat39/symbols-outline.nvim#144 and #169 for the pull requests implementing it.

Could this possibly be added to this plugin?

SmiteshP commented 1 year ago

Forgive my noobness, but what are the jsx elements you are referring to? Can you point them out in the screenshots attached in those PRs?

Also I am not keen on adding anything language specific in any way, I had very tough time handling such language specfic stuff when I had written nvim-gps.

TxHawks commented 1 year ago

Sorry for taking my time to respond.

I understand the reluctance to implement language specific features outside what general LSP offers for free, so this is probably a no go.

To answer your question though, the JSX elements are those in html-like syntax. In the screenshot they are the <svg>, <use> and <VisuallyHidden> elements (lowercase ones represent native html elements and PascalCase ones custom components). You can see them in the tree generated by simrat39/symbols-outline.nvim on the right, and that they're missing from the nvim-navic and nvim-navbuddy.

It would have been super helpful for navigation to have them.

Screenshot 2023-04-01 at 10 49 01

SmiteshP commented 1 year ago

Thanks for explaining the jsx elements 👍🏽 But yeah, I don't want to add language specific features. Hope you understand.