excalith / excalith-start-page

Terminal-inspired, clean, feature-rich and customizable browser start page for geeks. Has built-in editor for customizing.
https://excalith-start-page.vercel.app
MIT License
554 stars 163 forks source link

[FEATURE] Tab completion w/ autosuggestions. #25

Closed Xithrius closed 1 year ago

Xithrius commented 1 year ago

Is your feature request related to a problem? Please describe. I feel like a major missing feature from this is shell completion, it just doesn't feel right without it. However, that could just be me.

Describe the solution you'd like Some shells have autocomplete built in, like fish. It'd be nice to have here, so if I type something like gi, it'll complete to github, and I can hit enter.

Additional context image

excalith commented 1 year ago

Hey @Xithrius, you are definetely not the only one asked this feature! In fact, discussions have this idea already. I will have a look at this as soon as possible.

Xithrius commented 1 year ago

My bad, didn't see the discussion. Thanks!

excalith commented 1 year ago

Hey @Xithrius, just tried something hasty and nasty. What do you think about this? Feedback is appreciated before further improving it.

http://start-page-git-autocomplete-excalith.vercel.app?_vercel_share=03EBYQq4ZIfr9DAPKvEBxeHLk6AXCH7a

To be honest, I postponed this feature for later since you can already use without the autocomplete feature by typing the first letters only since it filters out the input directly. But this definetely feels better!

Den4200 commented 1 year ago

This seems quite nice. I would suggest to also implement the ability to tab through multiple results.

Xithrius commented 1 year ago

I don't have any comments for improving at the moment, feels very nice!

excalith commented 1 year ago

@Den4200 thanks for the idea. Discussions had that as well, but I had to drop it. Since the Tab key completes the prompt, no multiple links will be available, making switching through available links impossible.

excalith commented 1 year ago

Hey @Xithrius and @Den4200 I tried to do something to make 2 features work. It turned out to be a real headache but looks nice. Can you please have a look at the link below?

This is more likely a test build for the feature, so some functions are currently broken such as commands like fetch etc. I would like to hear your feedback since this 2 features were colliding at its core. If I manage to make it work without causing a lot of issues to core systems, I can add a setting to use TAB key to either autocomplete or cycle items etc.

http://start-page-git-cycle-filter-excalith.vercel.app?_vercel_share=cKXYcjt19QNSalnVteoLMgLNpPK3cEgO

Thanks for the feedbacks and support, I really appreciate it!

Xithrius commented 1 year ago

Now that's the good stuff right there. I really like the selection color. Since I use fish as my main shell, this feels right at home.

Den4200 commented 1 year ago

This looks awesome! The implementation is great so far. The only suggestion I have left is to have the text in the input also change when tabbing.

Thanks so much for your hard work!

excalith commented 1 year ago

@Xithrius and @Den4200 after a few refactors, I decided to rewrite the whole logic for that one. So, seems like both world mix together just fine right now. Here is the link to check out: https://start-page-git-cycle-filter-excalith.vercel.app/?_vercel_share=cKXYcjt19QNSalnVteoLMgLNpPK3cEgO

I have removed the "selected object always launches the url" since it does interfere with launching other links as a bulk. However, completing the suggestion will filter that spesific link, and solves that issue. Feels like more terminal style <3

As far as my tests go, it works as it should. Since it received quite a lot refactor, I would love to hear your feedback yet again. I think we have nailed it this time!

Xithrius commented 1 year ago

You very much have nailed it! Thank you so much for developing this feature! :heart:

Den4200 commented 1 year ago

You absolutely nailed it! I think this implementation is perfect. Keep up the good work :D

excalith commented 1 year ago

Thank you both for your incredible feedback guys, I have merged it into main and both features are ready to use!