Как показать разные цвета в списке файлов при заполнении сообщения git commit в vim - PullRequest
0 голосов
/ 03 декабря 2018

когда я заполняю сообщение коммита, я вижу список файлов, но они одного цвета (новый / изменить / del)

Я спрашиваю список файлов выделение,нет сообщение выделение, а не дублирование вопроса Настройка цветов редактора git commit

Я могу получить только имя тега gitcommitSelectedFile, как их различить?

первая картинка в моем vim, вторая - в коде

1 Ответ

0 голосов
/ 03 декабря 2018

Вы можете изменить, изменив gitcommit.vim

Вы можете найти свой gitcommit.vim в syntax/ dir.

вы можете легко найти vim dir по :echo $VIMRUNTIME внутри вашего vim.

Внутри gitcommit.vim вы должны найти gruop, который хотите изменить.

В моих настройках это gitcommitSelectedType.Вот gitcommitSelectedType match - он использует \t\@<=[[:lower:]][^:]*[[:lower:]]: для сопоставления modified: и new file: в шаблоне фиксации.

syn match   gitcommitSelectedType   "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite

Для простого примера я очищаю gitcoomitSelectedType и добавляю новое совпадение для gitcommitNew и gitcommitModified.(например, простое совпадение. Вы можете использовать regex для своего собственного)

syn clear gitcommitSelectedType
" match for new file and modified
syn match gitcommitNew  "\t\@<=new file: " contained containedin=gitcommitComment nextgroup=gitcommitSelectedType skipwhite
syn match   gitcommitModified   "\t\@<=modified: "he=e-2    contained containedin=gitcommitComment nextgroup=gitcommitModified skipwhite

" give other color type for these group
hi link gitcommitNew    Type
hi link gitcommitModified   Special
" add two groups we made to gitcommitSelected
syn region  gitcommitSelected   start=/^# Changes to be committed:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType,gitcommitNew,gitcommitModified fold

Возможно, есть лучшее решение - не использовать группу, а использовать исключение после gitcommitSelectedType - но я не знаю как.Может быть, вы можете найти его.

До

Before change color

После

enter image description here

ADD

Кроме того, он будет добавлен на будущее.Проверьте здесь

...