Я думаю, это изменение было бы полезным. Однако, возможно, не хватает ещё одного правила:
Возьмём такую строку:
this ##
Если я ставлю курсор после первого символа #, это в данный момент запускает автодополнение.
А вот в этом случае:
some stuff #abcdefg
Если я нажимаю стрелку влево, чтобы пройти назад через #abcdefg, автодополнение срабатывает на каждой позиции. Кажется, что оно должно срабатывать только тогда, когда курсор находится в конце этой строки.
Так что, возможно, логика должна быть такой:
Запускать автодополнение тогда и только тогда, когда:
# предшествует пробел И
за курсором следует пробел И
символы между # и курсором являются допустимыми символами хэштега ИЛИ
(символов между # и курсором нет И # не находится в начале строки)
Да, согласен, мы можем что-то сделать здесь… особенно если функция complete возвращает пустой результат, когда видит завершение для #, и мы используем просмотр вперёд.
Это довольно сложный код, но в последнее время мы начали его немного модернизировать, так что, возможно, сможем полностью изменить этот участок.