Acho que essa mudança ajudaria. Pode haver mais uma regra faltando:
Pegue esta linha:
this ##
Se eu posicionar meu cursor após o primeiro #, ele atualmente aciona o preenchimento automático.
E isto:
some stuff #abcdefg
Se eu usar a tecla de seta para a esquerda para voltar por #abcdefg, ele é acionado em todas as posições. Parece que ele só deveria ser acionado quando eu estiver posicionado no final dessa string.
Então, talvez a lógica devesse ser algo como:
Acionar preenchimento automático SE:
# for precedido por espaço em branco E
o cursor for seguido por espaço em branco E
os caracteres entre # e o cursor forem todos caracteres de hashtag válidos OU
(nenhum caractere entre # e o cursor E # não estiver no início da linha)