camspiers / snap

A fast finder system for neovim.
The Unlicense
490 stars 17 forks source link

reuse the UI of telescope #23

Closed sandangel closed 3 years ago

sandangel commented 3 years ago

hi, I have an idea that we can reuse the UI part of telescope nvim so hopefully it will be less work to polish this awesome plugin

akinsho commented 3 years ago

I don't really think re-using the UI of telescope is really possible, since telescope depends on popup.nvim and I'm guessing that the UI code can't just be cut and pasted without having to deal with a bunch of assumptions that aren't relevant to snap, and having to add in a new dependency.

Also, I believe snap is using native window borders whereas in order to have titles and things in the window borders telescope is drawing fake border windows which has been the standard way to do this prior to native borders.

I think creating a bunch of fake windows is kind of a faff, and probably telescope wouldn't have done it if all this functionality had existed when it was initially created. I think it would be a step backwards to start creating and managing twice as many windows just for the title functionality.

Anyway up to @.camspiers just chiming in that I don't really think this is that feasible, maybe there are a subset of UI features you think that snap could benefit from adopting rather than wholesale trying to copy telescope's code

camspiers commented 3 years ago

@akinsho You have captured my thoughts perfectly. While I am in acknowledgement that Telescope has some UI features that are superior to snap, e.g. the usage of titles in borders, I don't want to take the approach they are taking to achieve this as I think added benefit doesn't justify the overhead and complexity of the approach. As to polish, I am progressively improving the color usage and UI features. One example is now the UI dimensions recalculate on window resize, and previews can be toggled on and off with <C-h>. Very keen to keep incrementally improving on this.