подсветка синтаксиса vim-go не работает последовательно для пользовательских типов

#go #vim #vim-plugin

#Вперед #vim #vim-плагин

Вопрос:

Я смог установить vim-go плагин и настроить vim его практически так, как показано в руководствах по golang разработке. Есть одна вещь, которая, однако, не сработала для меня, я не уверен, было ли это задумано именно так, но меня это довольно раздражает, и я хотел бы знать, есть ли способ это исправить.

Проблема в том, что подсветка синтаксиса не работает последовательно, когда дело доходит до пользовательских типов type list []int , как показано на этом снимке экрана В идеале, тип должен быть выделен для обеих этих строк

 func removeDuplicates(ld list) list {    // <- here                                                                     
    var lu list // <- here
  

это сводит меня с ума, пожалуйста, предложите что-нибудь. Удивительно, но в main нем действительно выделяется место, где переменной того же типа предоставляются начальные значения.

Комментарии:

1. подсветка синтаксиса vim-go основана на регулярных выражениях; то, что вы хотите, требует анализа исходного кода, и это на самом деле не то, что поддерживает vim-go. В var [..] ит знает из-за синтаксиса. Если вам действительно нужна подсветка синтаксиса, то vim-go, вероятно, не подходит для вас.

2. ах, я вижу, @MartinTournoij, вы лично почувствовали какую-либо разницу в удобочитаемости больших кодовых баз? Я новичок в vim и в значительной степени полагался на IDE, но теперь, работая с Docker и all, я начинаю сам работать с Vim.

3. Я лично предпочитаю минималистичный подход к подсветке синтаксиса, поэтому я в порядке с vim-go (на самом деле, я использовал урезанную версию). Но вкусы и предпочтения в этом вопросе различаются.