I just added this to my user keybindings to fix the bug whereby pressing Tab at the start of a line that contains text (i.e. caret is after any whitespace, and immediately before text), inserts the best completion instead of indents the line:
{ "keys": ["tab"], "command": "indent",
"context":
[
{ "key": "preceding_text", "operator": "regex_match", "operand": "^\\s*$", "match_all": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "not_regex_match", "operand": "^$", "match_all": true },
]
},
{ "keys": ["tab"], "command": "insert", "args": { "characters": "\t" },
"context":
[
{ "key": "preceding_text", "operator": "regex_match", "operand": "^\\s*$", "match_all": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true },
]
},