22" Filename: spec.vim
33" Maintainer: Igor Gnatenko [email protected] 44" Former Maintainer: Gustavo Niemeyer <[email protected] > (until March 2014)5- " Last Change: Mon Jun 01 21:15 MSK 2015 Igor Gnatenko
6- " Update by Zdenek Dohnal, 2022 May 17
5+ " Last Change: 2015 Jun 01
6+ " Update by Zdenek Dohnal, 2022 May 17
7+ " 2024 Sep 10 by Vim Project: add epoch support for spec changelog, #15537
78
89if exists (" b:did_ftplugin" )
910 finish
@@ -66,9 +67,11 @@ if !exists("*s:SpecChangelog")
6667 endif
6768 let line = 0
6869 let name = " "
70+ let epoch = " "
6971 let ver = " "
7072 let rel = " "
7173 let nameline = -1
74+ let epochline = -1
7275 let verline = -1
7376 let relline = -1
7477 let chgline = -1
@@ -77,6 +80,9 @@ if !exists("*s:SpecChangelog")
7780 if name == " " && linestr = ~? ' ^Name:'
7881 let nameline = line
7982 let name = substitute (strpart (linestr,5 ), ' ^[ ]*\([^ ]\+\)[ ]*$' ,' \1' ,' ' )
83+ elseif epoch == " " && linestr = ~? ' ^Epoch:'
84+ let epochline = line
85+ let epoch = substitute (strpart (linestr,6 ), ' ^[ ]*\([^ ]\+\)[ ]*$' ,' \1' ,' ' )
8086 elseif ver == " " && linestr = ~? ' ^Version:'
8187 let verline = line
8288 let ver = substitute (strpart (linestr,8 ), ' ^[ ]*\([^ ]\+\)[ ]*$' ,' \1' ,' ' )
@@ -93,6 +99,7 @@ if !exists("*s:SpecChangelog")
9399 if nameline != -1 && verline != -1 && relline != -1
94100 let include_release_info = exists (" g:spec_chglog_release_info" )
95101 let name = s: ParseRpmVars (name, nameline)
102+ let epoch = s: ParseRpmVars (epoch, epochline)
96103 let ver = s: ParseRpmVars (ver, verline)
97104 let rel = s: ParseRpmVars (rel, relline)
98105 else
@@ -117,6 +124,9 @@ if !exists("*s:SpecChangelog")
117124 if chgline != -1
118125 let tmptime = v: lc_time
119126 language time C
127+ if strlen (epoch)
128+ let ver = epoch." :" .ver
129+ endif
120130 let parsed_format = " * " .strftime (format)." - " .ver." -" .rel
121131 execute " language time" tmptime
122132 let release_info = " + " .name." -" .ver." -" .rel
0 commit comments