runtime(spec): Recognize epoch when making spec changelog in ftplugin
closes: #15537 Signed-off-by: fundawang <fundawang@yeah.net> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
2241f0845f
commit
e40157641c
@ -2,8 +2,9 @@
|
||||
" Filename: spec.vim
|
||||
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
|
||||
" Former Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com> (until March 2014)
|
||||
" Last Change: Mon Jun 01 21:15 MSK 2015 Igor Gnatenko
|
||||
" Update by Zdenek Dohnal, 2022 May 17
|
||||
" Last Change: 2015 Jun 01
|
||||
" Update by Zdenek Dohnal, 2022 May 17
|
||||
" 2024 Sep 10 by Vim Project: add epoch support for spec changelog, #15537
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@ -66,9 +67,11 @@ if !exists("*s:SpecChangelog")
|
||||
endif
|
||||
let line = 0
|
||||
let name = ""
|
||||
let epoch = ""
|
||||
let ver = ""
|
||||
let rel = ""
|
||||
let nameline = -1
|
||||
let epochline = -1
|
||||
let verline = -1
|
||||
let relline = -1
|
||||
let chgline = -1
|
||||
@ -77,6 +80,9 @@ if !exists("*s:SpecChangelog")
|
||||
if name == "" && linestr =~? '^Name:'
|
||||
let nameline = line
|
||||
let name = substitute(strpart(linestr,5), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
elseif epoch == "" && linestr =~? '^Epoch:'
|
||||
let epochline = line
|
||||
let epoch = substitute(strpart(linestr,6), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
elseif ver == "" && linestr =~? '^Version:'
|
||||
let verline = line
|
||||
let ver = substitute(strpart(linestr,8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
|
||||
@ -93,6 +99,7 @@ if !exists("*s:SpecChangelog")
|
||||
if nameline != -1 && verline != -1 && relline != -1
|
||||
let include_release_info = exists("g:spec_chglog_release_info")
|
||||
let name = s:ParseRpmVars(name, nameline)
|
||||
let epoch = s:ParseRpmVars(epoch, epochline)
|
||||
let ver = s:ParseRpmVars(ver, verline)
|
||||
let rel = s:ParseRpmVars(rel, relline)
|
||||
else
|
||||
@ -117,6 +124,9 @@ if !exists("*s:SpecChangelog")
|
||||
if chgline != -1
|
||||
let tmptime = v:lc_time
|
||||
language time C
|
||||
if strlen(epoch)
|
||||
let ver = epoch.":".ver
|
||||
endif
|
||||
let parsed_format = "* ".strftime(format)." - ".ver."-".rel
|
||||
execute "language time" tmptime
|
||||
let release_info = "+ ".name."-".ver."-".rel
|
||||
|
Reference in New Issue
Block a user