Pertanyaan vim syntax highlighting untuk git commit messages - custom commentchar


Seperti yang telah disebutkan dalam jawaban ini, karena Git 1.8.2 dapat Anda gunakan core.commentchar nilai konfigurasi untuk mengubah komit komentar komentar ke sesuatu yang lain dari default # (hashmark atau hashsign).

Itu adalah penyelamat kehidupan misalnya, jika kebijakan pesan commit Anda ingin Anda mulai mengirimkan pesan dengan nomor tiket:

#123 Fixed array indices

Bagian yang menyedihkan adalah bahwa ini memecah penyorotan sintaks Vim.

Bagaimana Anda bisa membawa keindahan itu kembali?


14
2018-04-23 08:34


asal


Jawaban:


Anda harus mencoba untuk berlari :verbose syntax. File syntax aktif mungkin $VIMRUNTIME\syntax\gitcommit.vim (versi github yang mungkin ada di Anda .vim).

Ini akan memberi tahu Anda yang mana syntax line akan memicu pemformatan sebagai komentar.

Anda mungkin akan melihat sesuatu seperti:

 gitcommitComment xxx match /^#.*/
     links to Comment

atau

 syn match   gitcommitComment   "^#.*"

artinya cocok dengan setiap baris yang dimulai oleh #.

Anda mungkin bisa memodifikasinya sehingga a # pada baris pertama tidak dianggap sebagai komentar. Aku tidak tahu syntax format cukup untuk memberi Anda solusi lengkap.

 \%^   match the beginning of file
 \%1l  match line 1
 \%>1l match below line 1

Jadi Anda mungkin mencoba untuk memodifikasi pola gitComment sehingga tidak berfungsi pada baris 1 dari commit git Anda.

(Saya mencoba beberapa hal tetapi tidak berhasil hanya mengecualikan baris pertama komentar! Sepertinya ada juga a diffComment mengacaukan segalanya karena gitcommit menyertakan format diff dengan syn include @gitcommitDiff syntax/diff.vim) )

Untuk lebih jelasnya, lihat :help syntax dan :help pattern.

Sumber lain yang bagus untuk hal-hal sintaksis: Pelajari Vim the Hard Way, bab 46.


14
2018-04-23 09:11