I'm still geting some problems here.
1) I've set tab completions to true,
2) the scope is text.html.basic,
3) changed the scope of HTML.sublime-completions file to:
text.html - source - meta.tag, punctuation.definition.tag.begin, source.php, source.js
Now some triggers work fine and some don't. For example when I press a->tab HTML trigger for loses with PHP one for abs() though the latter should be triggered by abs->tab not by a->tab.
And this had already worked fine, it got bad on the last build or the one before.
Is it possible to change priority of these completions? So that those defined in HTML.sublime-copletions will always prevail over PHP ones, or at least when I'm in heredoc, string etc. Why would I want to type a php function there? And especially one like "cairo_ps_surface_dsc_begin_page_setup()"?
As a makeshift solution I deleted the file PHP.sublime-completions. It was pretty useless anyway and with over 4000 (!) hardly-ever used functions getting in the way of whatever you type.