I am quite shocked that Sublime has "Words in the buffer" set at the lowest priority to show in the completions list. The words in the buffer contain the variables that you are currently using for your current program. Those are the most likely to be used with the highest occurrence. For Sublime to instead show a long list of all the available function names and all the other crap from the .sublime-completions file is very inconvenient.

Because of this, I am having to remove and not use my .sublime-completions files. Because when I am typing in a variable name that I am using in my current program - I want it to show up in the auto-completion list so I don't have to keep typing that variable-name - but that variable from the buffer contents shows up very late in the sublime-completions list because it always gets superceded by all the other completions from all the other sources.

What about an option to have "Words in the buffer" as the first priority displayed auto completions in the auto completion list?

This is the order in which completions are prioritized:- Snippets- API-injected completions- .sublime-completions files- Words in the buffer

So it seems you can return additional completions from on_query_completions which would then take the #2 Rank of "API-injected completions".And we can disable "Words in the buffer" via flag - "sublime.INHIBIT_WORD_COMPLETIONS".But how to get the "Words from Buffer" completion-list in Python and return it from on_query_completions so that those completions would take the rank of "API-injected completions"?

Here's a start, can't figure out how to get the "Words from Buffer" completion list in Python.