blob: 4440861ad418ba0811c3b30d4d940e42e6f00652 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
" Vim syntax file
" Language: Gentoo ChangeLogs
" Author: Ciaran McCreesh <ciaranm@gentoo.org>
" Copyright: Copyright (c) 2004-2005 Ciaran McCreesh
" Licence: You may redistribute this under the same terms as Vim itself
"
" Syntax highlighting for Gentoo ChangeLogs. Needs vim 6.3 or later.
"
if &compatible || v:version < 603
finish
endif
if exists("b:current_syntax")
finish
endif
runtime syntax/gentoo-common.vim
" Releases
syn region GentooChangeLogRelease start=/^\*/ end=/$/ contains=GentooChangeLogReleaseDate
syn match GentooChangeLogReleaseDate contained /(\d\d\s\w\+\s\d\{4\})/
" Entries
syn region GentooChangeLogEntry start=/^\s\+/ end=/\n\n/
\ contains=GentooChangeLogEntryDate,GentooBug
syn region GentooChangeLogEntryDate contained start=/\d\?\d\s\w\+\s\d\{4\}/ end=/;/
\ nextgroup=GentooChangeLogEntryAuthor,GentooChangeLogEntryEmail skipwhite skipnl
syn region GentooChangeLogEntryAuthor contained start=/\S/ end=/\( <\)\@=/
\ nextgroup=GentooChangeLogEntryEmail skipwhite skipnl
syn match GentooChangeLogEntryEmail contained /<\?[a-zA-Z0-9\.\-\_]\+@[a-zA-Z0-9\.\-\_]\+>\?/
\ nextgroup=GentooChangeLogFiles skipwhite skipnl
syn region GentooChangeLogFiles contained start=/\(\S\)\@=/ end=/:/
\ contains=GentooChangeLogAddFile,GentooChangeLogDelFile,GentooChangeLogModFile
" Add / delete / changed files
syn region GentooChangeLogAddFile contained start=/+/ end=/\([,:]\)\@=/
syn region GentooChangeLogDelFile contained start=/-/ end=/\([,:]\)\@=/
syn region GentooChangeLogModFile contained start=/[a-zA-Z0-9]/ end=/\([,:]\)\@=/
" Colours
hi def link GentooChangeLogEntryDate Number
hi def link GentooChangeLogEntryAuthor String
hi def link GentooChangeLogEntryEmail Special
hi def link GentooChangeLogModFile Identifier
hi def link GentooChangeLogAddFile DiffAdd
hi def link GentooChangeLogDelFile DiffDelete
hi def link GentooChangeLogRelease Title
hi def link GentooChangeLogReleaseDate Number
let b:current_syntax = "gentoo-changelog"
|