Prioritize completions

Hi! I’ve just written a completion extension for Nova. Is there a way to make the completions from my extension be prioritized over other completions in the app, so that it shows on top of the list? How is this prioritization handled by Nova? I can’t seem to find any info on that. The reason I want this is because my extension provides machine learning completions (TabNine), which means it can be of any kind and should be at the top of the list of completions.


Currently this is not supported. All completions are sorted and prioritized by Nova using its fuzzy heuristic algorithm based on what the user has typed (if anything). We are currently tracking an API feature request to allow extensions to override this for certain items.

Great to know! Thanks for the reply :slight_smile:

Is there an approach to prioritise autocompletion using machine learning? I’m no machine learning expert but as far as I understand the “machine” can learn based on my behaviour.

Example: I’m writing CSS. Most of the time when I write “di”, I want to write “display”. Currently Nova suggesting “direction” first and “display” second. As far as I understand the “machine” could notice that I prefer “display” over “direction” most of the time. So the “machine” could learn from my coding behaviour and give me improved suggestions over time.

Maybe we can think this even further.
Maybe the “machine” can output different suggestions based on context and personal habits . {
  display: [“none” should suggested first] {
  display: [“block” should suggested first]

This would hopefully result in highly optimised, personal code suggestions.

I wanted to bring in this idea, which has been in my head for a long time. I know think this is a very huge topic and very difficult to realise. But maybe there is some machine learning expert out there who wants to look into the matter. What do you think?

IntelliCode does something similar.

Hello @Tobias. We have indeed discussed adding this type of feature for completion prioritization. It’s not currently planned for the short-term due to the amount of engineering effort we’ll need to expend, as there are other features taking priority at the moment. But we would like to investigate it at some point!

1 Like