The auto_complete setting controls whether auto-completion is enabled or not, but this goes hand in hand with the auto_complete_selector setting as well.
The default for that setting is this:
// Controls what scopes auto complete will be triggered in
"auto_complete_selector": "meta.tag - punctuation.definition.tag.begin, source - comment - string.quoted.double.block - string.quoted.single.block - string.unquoted.heredoc",
This says that by default auto-completion happens inside of tags and in source type files (with restrictions placed on each one). However, in your syntax the top level scope is text and not source, and since text isn’t in the setting, it doesn’t appear automatically.
As a consequence the auto-complete popup won’t appear unless it’s manually triggered.
You can add a customized version of the auto_complete_selector setting that overrides the default by using a test.sublime-settings file such as:
{
"auto_complete": true,
"auto_complete_selector": "text.test"
}
Note that If you’re developing something like this for more widespread use and not just for your own personal use, it may be a good idea to skip the auto_complete setting here and just keep the selector; with that setting in there you’re essentially forcing auto-complete to be turned on by default in files of this type, which may go against the wishes of whoever is using your package.