Спецификация POSIX Shell Command Language явно указывает, что номер дескриптора файла, если таковой имеется, "непосредственно предшествует оператору перенаправления"; но это не требует аналогичного требования, чтобы оператор перенаправления непосредственно предшествовал слову. Правила распознавания токенов подразумевают, что любые пробелы будут отбрасываться между оператором перенаправления и словом, поэтому я думаю, что любая правильная реализация должна принимать такие пробелы. (Следует признать, что это было бы более обнадеживающим, если бы не одно и то же правило распознавания токенов, подразумевающее одно и то же в отношении пробелов между номером дескриптора файла и оператором перенаправления.)
Хотя примеры справочника по Bash для heredocs не содержат пробела перед словом, в нем приводятся другие примеры с перенаправлениями, которые do включают пробел перед словом и ничто в спецификации POSIX или справочном руководстве Bash не дает оснований думать, что слово heredocs отличается в этом отношении от слова в любом другом виде перенаправления, поэтому я не думаю, что это следует считать плохой практикой. Я думаю, что ваша подсветка синтаксиса должна поддерживать и то, и другое, если только одна из целей проекта не состоит в том, чтобы навязать какой-то стандартный стиль для таких вещей.