atom-minimap / minimap

A preview of the full source code.
https://atom.io/packages/minimap
MIT License
646 stars 129 forks source link

Minimap next steps #622

Open abe33 opened 7 years ago

abe33 commented 7 years ago

This is mostly to keep track of the things I envisioned for the minimap future and making sure @mehcode is aware of them (and if someone wants to help it's a good starting point).

mehcode commented 7 years ago

@abe33 Do you think there is merit in doing a full rewrite of the package and requiring the newest Atom version using package.json on release? There are a lot of wins in (start-up) performance and maintainability that could be had. There seems to be a lot of cruft for handling older Atom versions as well.

I think it'd be fun to spike a rewrite to see where we could go with it.


Thanks for explaining the direction on those items. Do you have a minimap plugin/extension idea that would help me more clearly see Out of bounds decorations?

abe33 commented 7 years ago

There are a lot of wins in (start-up) performance and maintainability that could be had

I'm not sure what kind of changes you're referring to, because I think we've already done pretty much everything that can be done, from moving config, services and view providers in package.json to lazily loading all dependencies that could be lazily loaded, but I'm open to any suggestions on that front.

There seems to be a lot of cruft for handling older Atom versions as well.

That's not that terrible, really, it sures make the code a bit more tedious to follow, but the biggest have been handled already (like removing the shadow DOM) so we should be fine for some time with only little issues to handle. But we can surely clean up some of the mess that have been created over time (I think that the LegacyAdapter can be completely removed, while still conserving the adapter pattern so that we can more easily handle future API changes).

I think it'd be fun to spike a rewrite to see where we could go with it.

Sure, but that's going to be a real hard work, because performances are really critical and current optimizations and improvements have been obtained through hard-fought battles. That's why I'm quite wary of going though all that hassles again to see if a new approach actually gives us a benefit.

Do you have a minimap plugin/extension idea that would help me more clearly see Out of bounds decorations?

Not that I have a specific use-case in mind, but for instance, we can imagine a version of the bookmark plugin that would render a bookmark icon instead of just highlighting the line. Or a plugin that would display an ellipsis icon where code is folded in a document. All this require to be able to render a decoration without being tied to the marker's lines.