This commit is contained in:
Karsten Hopp 2016-04-29 13:49:50 +02:00
commit d86665fd3d
7 changed files with 531 additions and 115 deletions

26
.gitignore vendored
View File

@ -1,29 +1,3 @@
vim-7.2-extra.tar.gz
vim-7.2-lang.tar.gz
vim-7.2.tar.bz2
/vim-7.3.tar.bz2
/vim-7.4.tar.bz2
/vim-7.4-909.tar.bz2
/vim-7.4-917.tar.bz2
/vim-7.4-922.tar.bz2
/vim-7.4-930.tar.bz2
/vim-7.4-941.tar.bz2
/vim-7.4-942.tar.bz2
/vim-7.4-944.tar.bz2
/vim-7.4-945.tar.bz2
/vim-7.4-947.tar.bz2
/vim-7.4-960.tar.bz2
/vim-7.4-969.tar.bz2
/vim-7.4-970.tar.bz2
/vim-7.4-972.tar.bz2
/vim-7.4-977.tar.bz2
/vim-7.4-979.tar.bz2
/vim-7.4-1087.tar.bz2
/vim-7.4-1142.tar.bz2
/vim-7.4-1229.tar.bz2
/vim-7.4-1344.tar.bz2
/vim-7.4-1570.tar.bz2
/vim-7.4-1718.tar.bz2
/vim-7.4-1775.tar.bz2
/vim-7.4-1786.tar.bz2
/vim-7.4-1797.tar.bz2

View File

@ -1,10 +1,3 @@
commit 3247fc9e85ec2067ebfd44d0e7efebce66f0aac2
Merge: f953813 c61348e
Author: Karsten Hopp <karsten@redhat.com>
Date: Fri Apr 29 11:43:48 2016 +0200
Merge branch 'master' of https://github.com/vim/vim
commit c61348e83fd4eed8b999fe5b7cdfb4caf90bf3fd
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 28 22:20:03 2016 +0200
@ -98,13 +91,6 @@ Date: Tue Apr 26 17:16:24 2016 +0200
Solution: First invoke out/err callbacks before the close callback.
Make the close callback work on Windows.
commit f9538136beff21c04d8d7f8ad7f8d23ed0905771
Merge: b33f51a d10abe5
Author: Karsten Hopp <karsten@redhat.com>
Date: Tue Apr 26 13:09:13 2016 +0200
Merge branch 'master' of https://github.com/vim/vim
commit d10abe52019d10403eb559ea0a424bbd310b738f
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Apr 24 15:41:33 2016 +0200
@ -198,13 +184,6 @@ Date: Fri Apr 22 20:20:19 2016 +0200
Problem: Using wrong buffer length.
Solution: use the right name. (Kazunobu Kuriyama)
commit b33f51aac191c8831bebbc0ca5b0a49456fc0003
Merge: 8cf439c 763b684
Author: Karsten Hopp <karsten@redhat.com>
Date: Fri Apr 22 12:40:34 2016 +0200
Merge branch 'master' of https://github.com/vim/vim
commit 763b684373bf5954445d8d8d99da1e39a4fc5105
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Apr 22 12:24:52 2016 +0200
@ -716,13 +695,6 @@ Date: Fri Apr 8 17:07:19 2016 +0200
by them. Go through all jobs and channels to find unreferenced
items. Also, decrement reference counts when garbage collecting.
commit 8cf439cb8003c79addd36cc2c6d1dcc42652f3f2
Merge: d8dc5e6 d56374e
Author: Karsten Hopp <karsten@redhat.com>
Date: Fri Apr 8 11:00:52 2016 +0200
Merge branch 'master' of https://github.com/vim/vim
commit d56374e25df0b317b01423a01f158157faa647fa
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 7 22:16:30 2016 +0200
@ -1984,13 +1956,6 @@ Date: Tue Mar 15 16:35:39 2016 +0100
Problem: No test for ":help".
Solution: Add a test for what 7.4.1568 fixed. (Higashi Higashi)
commit d8dc5e63fabbbddeb45a311f1deff240e4a8e709
Merge: 0ee7bfe 426dd02
Author: Karsten Hopp <karsten@redhat.com>
Date: Tue Mar 15 16:13:43 2016 +0100
Merge branch 'master' of https://github.com/vim/vim
commit 426dd0219512af5f4abeb0901b533159253ffba3
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Mar 15 15:09:29 2016 +0100
@ -3296,14 +3261,6 @@ Date: Thu Feb 25 15:25:03 2016 +0100
(Jörg Plate)
Solution: Use "char_u" always.
commit 0ee7bfeec9fef5bd2a86ba0e37de6b4ffe11e152
Merge: 61d7db7 f391327
Author: Karsten Hopp <karsten@redhat.com>
Date: Thu Feb 25 00:31:00 2016 +0100
Merg e branch 'master' of https://github.com/vim/vim
pd
commit f391327adbbffb11180cf6038a92af1ed144e907
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Feb 25 00:00:01 2016 +0100
@ -3912,13 +3869,6 @@ Date: Wed Feb 17 20:48:19 2016 +0100
Problem: A few more compiler warnings. (Axel Bender)
Solution: Add type casts.
commit 61d7db7b5a9897fea34054cebe8442f45efa3fa4
Merge: 07a61e8 2032190
Author: Karsten Hopp <karsten@redhat.com>
Date: Wed Feb 17 14:50:39 2016 +0100
Merge branch 'master' of https://github.com/vim/vim
commit 203219048fa007b5042d9b893fd647aef44722a0
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Feb 17 12:30:17 2016 +0100
@ -4913,13 +4863,6 @@ Date: Mon Feb 1 21:32:58 2016 +0100
Solution: Add a zero timeout. Call parse_queued_messages(). (Yasuhiro
Matsumoto)
commit 07a61e8ce9dfd44a17d63b4629fb7443cc481a7f
Merge: 67a4e64 fb1f626
Author: Karsten Hopp <karsten@redhat.com>
Date: Mon Feb 1 14:12:20 2016 +0100
Merge branch 'master' of https://github.com/vim/vim
commit fb1f62691eae7c79a28b3b17a60e72ce198c71a2
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 31 20:24:32 2016 +0100
@ -5671,13 +5614,6 @@ Date: Tue Jan 19 23:36:15 2016 +0100
Solution: Add the "f" flag to ":sort". (Alex Jakushev) Also add the "f"
flag to sort().
commit 67a4e64892d55b6ee45673230ca77693860ac6cb
Merge: 2b52732 b8060fe
Author: Karsten Hopp <karsten@redhat.com>
Date: Tue Jan 19 22:53:42 2016 +0100
Merge branch 'master' of https://github.com/vim/vim
commit b8060fe862f684b591f9ac679eac5b2594d6c5a0
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jan 19 22:29:28 2016 +0100
@ -6166,12 +6102,6 @@ Date: Tue Jan 12 21:00:40 2016 +0100
problem.
Solution: Move the conditions. Don't use endpos if handling an error.
commit 2b527328d1927b42ca190ff5f92ba69283bdcad0
Author: Karsten Hopp <karsten@redhat.com>
Date: Tue Jan 12 14:59:32 2016 +0100
add more ssh keywords
commit d79e55016cf8268cee935f1ac3b5b28712d1399e
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 10 22:13:02 2016 +0100

210
ftplugin-spec.vim Normal file
View File

@ -0,0 +1,210 @@
" Plugin to update the %changelog section of RPM spec files
" 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
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
if !exists("no_plugin_maps") && !exists("no_spec_maps")
if !hasmapto("<Plug>SpecChangelog")
map <buffer> <LocalLeader>c <Plug>SpecChangelog
endif
endif
if !hasmapto("call <SID>SpecChangelog(\"\")<CR>")
noremap <buffer> <unique> <script> <Plug>SpecChangelog :call <SID>SpecChangelog("")<CR>
endif
if !exists("*s:GetRelVer")
function! s:GetRelVer()
if has('python')
python << PYEND
import sys, datetime, shutil, tempfile
import vim
try:
import rpm
except ImportError:
pass
else:
specfile = vim.current.buffer.name
if specfile:
rpm.delMacro("dist")
spec = rpm.spec(specfile)
headers = spec.sourceHeader
version = headers["Version"]
release = headers["Release"]
vim.command("let ver = " + version)
vim.command("let rel = " + release)
PYEND
endif
endfunction
endif
if !exists("*s:SpecChangelog")
function s:SpecChangelog(format)
if strlen(a:format) == 0
if !exists("g:spec_chglog_format")
let email = input("Name <email address>: ")
let g:spec_chglog_format = "%a %b %d %Y " . l:email
echo "\r"
endif
let format = g:spec_chglog_format
else
if !exists("g:spec_chglog_format")
let g:spec_chglog_format = a:format
endif
let format = a:format
endif
let line = 0
let name = ""
let ver = ""
let rel = ""
let nameline = -1
let verline = -1
let relline = -1
let chgline = -1
while (line <= line("$"))
let linestr = getline(line)
if (name == "" && linestr =~? '^Name:')
let nameline = line
let name = substitute(strpart(linestr,5), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
elseif (ver == "" && linestr =~? '^Version:')
let verline = line
let ver = substitute(strpart(linestr,8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
elseif (rel == "" && linestr =~? '^Release:')
let relline = line
let rel = substitute(strpart(linestr,8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
elseif (linestr =~? '^%changelog')
let chgline = line
execute line
break
endif
let line = line+1
endwhile
if (nameline != -1 && verline != -1 && relline != -1)
let include_release_info = exists("g:spec_chglog_release_info")
let name = s:ParseRpmVars(name, nameline)
let ver = s:ParseRpmVars(ver, verline)
let rel = s:ParseRpmVars(rel, relline)
else
let include_release_info = 0
endif
call s:GetRelVer()
if (chgline == -1)
let option = confirm("Can't find %changelog. Create one? ","&End of file\n&Here\n&Cancel",3)
if (option == 1)
call append(line("$"),"")
call append(line("$"),"%changelog")
execute line("$")
let chgline = line(".")
elseif (option == 2)
call append(line("."),"%changelog")
normal j
chgline = line(".")
endif
endif
if (chgline != -1)
let tmptime = v:lc_time
language time C
let parsed_format = "* ".strftime(format)." - ".ver."-".rel
execute "language time" tmptime
let release_info = "+ ".name."-".ver."-".rel
let wrong_format = 0
let wrong_release = 0
let insert_line = 0
if (getline(chgline+1) != parsed_format)
let wrong_format = 1
endif
if (include_release_info && getline(chgline+2) != release_info)
let wrong_release = 1
endif
if (wrong_format || wrong_release)
if (include_release_info && !wrong_release && !exists("g:spec_chglog_never_increase_release"))
let option = confirm("Increase release? ","&Yes\n&No",1)
if (option == 1)
execute relline
normal 
let rel = substitute(strpart(getline(relline),8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
let release_info = "+ ".name."-".ver."-".rel
endif
endif
let n = 0
call append(chgline+n, parsed_format)
if include_release_info
let n = n + 1
call append(chgline+n, release_info)
endif
let n = n + 1
call append(chgline+n,"- ")
let n = n + 1
call append(chgline+n,"")
let insert_line = chgline+n
else
let line = chgline
if !exists("g:spec_chglog_prepend")
while !(getline(line+2) =~ '^\( *\|\*.*\)$')
let line = line+1
endwhile
endif
call append(line+1,"- ")
let insert_line = line+2
endif
execute insert_line
startinsert!
endif
endfunction
endif
if !exists("*s:ParseRpmVars")
function s:ParseRpmVars(str, strline)
let end = -1
let ret = ""
while (1)
let start = match(a:str, "\%{", end+1)
if (start == -1)
let ret = ret . strpart(a:str, end+1)
break
endif
let ret = ret . strpart(a:str, end+1, start-(end+1))
let end = match(a:str, "}", start)
if (end == -1)
let ret = ret . strpart(a:str, start)
break
endif
let varname = strpart(a:str, start+2, end-(start+2))
execute a:strline
let definestr = "^[ \t]*%(?:global|define)[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
let linenum = search(definestr, "bW")
if (linenum != -1)
let ret = ret . substitute(getline(linenum), definestr, "\\1", "")
else
let ret = ret . strpart(str, start, end+1-start)
endif
endwhile
return ret
endfunction
endif
" The following lines, along with the macros/matchit.vim plugin,
" make it easy to navigate the different sections of a spec file
" with the % key (thanks to Max Ischenko).
let b:match_ignorecase = 0
let b:match_words =
\ '^Name:^%description:^%clean:^%(?:auto)?setup:^%build:^%install:^%files:' .
\ '^%package:^%preun:^%postun:^%changelog'
let &cpo = s:cpo_save
unlet s:cpo_save
let b:undo_ftplugin = "unlet! b:match_ignorecase b:match_words"

View File

@ -1 +1 @@
604fae227404a29eb6881159b7052e04 vim-7.4-1797.tar.bz2
1796124213bc3504e93c1b047a0cee9d vim-7.4-1797.tar.bz2

236
syntax-spec.vim Normal file
View File

@ -0,0 +1,236 @@
" Filename: spec.vim
" Purpose: Vim syntax file
" Language: SPEC: Build/install scripts for Linux RPM packages
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
" Former Maintainer: Donovan Rebbechi elflord@panix.com (until March 2014)
" Last Change: Sat Apr 9 15:30 2016 Filip Szymański
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
syn sync minlines=1000
syn match specSpecialChar contained '[][!$()\\|>^;:{}]'
syn match specColon contained ':'
syn match specPercent contained '%'
syn match specVariables contained '\$\h\w*' contains=specSpecialVariablesNames,specSpecialChar
syn match specVariables contained '\${\w*}' contains=specSpecialVariablesNames,specSpecialChar
syn match specMacroIdentifier contained '%\h\w*' contains=specMacroNameLocal,specMacroNameOther,specPercent
syn match specMacroIdentifier contained '%{\w*}' contains=specMacroNameLocal,specMacroNameOther,specPercent,specSpecialChar
syn match specSpecialVariables contained '\$[0-9]\|\${[0-9]}'
syn match specCommandOpts contained '\s\(-\w\+\|--\w[a-zA-Z_-]\+\)'ms=s+1
syn match specComment '^\s*#.*$'
syn case match
"matches with no highlight
syn match specNoNumberHilite 'X11\|X11R6\|[a-zA-Z]*\.\d\|[a-zA-Z][-/]\d'
syn match specManpageFile '[a-zA-Z]\.1'
"Day, Month and most used license acronyms
syn keyword specLicense contained GPL LGPL BSD MIT GNU
syn keyword specWeekday contained Mon Tue Wed Thu Fri Sat Sun
syn keyword specMonth contained Jan Feb Mar Apr Jun Jul Aug Sep Oct Nov Dec
syn keyword specMonth contained January February March April May June July August September October November December
"#, @, www
syn match specNumber '\(^-\=\|[ \t]-\=\|-\)[0-9.-]*[0-9]'
syn match specEmail contained "<\=\<[A-Za-z0-9_.-]\+@\([A-Za-z0-9_-]\+\.\)\+[A-Za-z]\+\>>\="
syn match specURL contained '\<\(\(https\{0,1}\|ftp\)://\|\(www[23]\{0,1}\.\|ftp\.\)\)[A-Za-z0-9._/~:,#-]\+\>'
syn match specURLMacro contained '\<\(\(https\{0,1}\|ftp\)://\|\(www[23]\{0,1}\.\|ftp\.\)\)[A-Za-z0-9._/~:,#%{}-]\+\>' contains=specMacroIdentifier
"TODO take specSpecialVariables out of the cluster for the sh* contains (ALLBUT)
"Special system directories
syn match specListedFilesPrefix contained '/\(usr\|local\|opt\|X11R6\|X11\)/'me=e-1
syn match specListedFilesBin contained '/s\=bin/'me=e-1
syn match specListedFilesLib contained '/\(lib\|include\)/'me=e-1
syn match specListedFilesDoc contained '/\(man\d*\|doc\|info\)\>'
syn match specListedFilesEtc contained '/etc/'me=e-1
syn match specListedFilesShare contained '/share/'me=e-1
syn cluster specListedFiles contains=specListedFilesBin,specListedFilesLib,specListedFilesDoc,specListedFilesEtc,specListedFilesShare,specListedFilesPrefix,specVariables,specSpecialChar
"specComands
syn match specConfigure contained '\./configure'
syn match specTarCommand contained '\<tar\s\+[cxvpzIf]\{,5}\s*'
syn keyword specCommandSpecial contained root
syn keyword specCommand contained make xmkmf mkdir chmod ln find sed rm strip moc echo grep ls rm mv mkdir install cp pwd cat tail then else elif cd gzip rmdir ln eval export touch
syn cluster specCommands contains=specCommand,specTarCommand,specConfigure,specCommandSpecial
"frequently used rpm env vars
syn keyword specSpecialVariablesNames contained RPM_BUILD_ROOT RPM_BUILD_DIR RPM_SOURCE_DIR RPM_OPT_FLAGS LDFLAGS CC CC_FLAGS CPPNAME CFLAGS CXX CXXFLAGS CPPFLAGS
"valid macro names from /usr/lib/rpm/macros
syn keyword specMacroNameOther contained buildroot buildsubdir distribution disturl ix86 name nil optflags perl_sitearch release requires_eq vendor version
syn match specMacroNameOther contained '\<\(PATCH\|SOURCE\)\d*\>'
"valid _macro names from /usr/lib/rpm/macros
syn keyword specMacroNameLocal contained _arch _binary_payload _bindir _build _build_alias _build_cpu _builddir _build_os _buildshell _buildsubdir _build_vendor _bzip2bin _datadir _dbpath _dbpath_rebuild _defaultdocdir _docdir _excludedocs _exec_prefix _fixgroup _fixowner _fixperms _ftpport _ftpproxy _gpg_path _gzipbin _host _host_alias _host_cpu _host_os _host_vendor _httpport _httpproxy _includedir _infodir _install_langs _install_script_path _instchangelog _langpatt _lib _libdir _libexecdir _localstatedir _mandir _netsharedpath _oldincludedir _os _pgpbin _pgp_path _prefix _preScriptEnvironment _provides _rpmdir _rpmfilename _sbindir _sharedstatedir _signature _sourcedir _source_payload _specdir _srcrpmdir _sysconfdir _target _target_alias _target_cpu _target_os _target_platform _target_vendor _timecheck _tmppath _topdir _usr _usrsrc _var _vendor
"------------------------------------------------------------------------------
" here's is all the spec sections definitions: PreAmble, Description, Package,
" Scripts, Files and Changelog
"One line macros - valid in all ScriptAreas
"tip: remember do include new items on specScriptArea's skip section
syn region specSectionMacroArea oneline matchgroup=specSectionMacro start='^%\(define\|global\|patch\d*\|setup\|autosetup\|autopatch\|configure\|GNUconfigure\|find_lang\|make_build\|makeinstall\|make_install\|include\)\>' end='$' contains=specCommandOpts,specMacroIdentifier
syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start='^%{\(configure\|GNUconfigure\|find_lang\|make_build\|makeinstall\|make_install\)}' end='$' contains=specCommandOpts,specMacroIdentifier
"%% Files Section %%
"TODO %config valid parameters: missingok\|noreplace
"TODO %verify valid parameters: \(not\)\= \(md5\|atime\|...\)
syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier
"tip: remember to include new itens in specFilesArea above
syn match specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\)\>'
"valid options for certain section headers
syn match specDescriptionOpts contained '\s-[ln]\s*\a'ms=s+1,me=e-1
syn match specPackageOpts contained '\s-n\s*\w'ms=s+1,me=e-1
syn match specFilesOpts contained '\s-f\s*\w'ms=s+1,me=e-1
syn case ignore
"%% PreAmble Section %%
"Copyright and Serial were deprecated by License and Epoch
syn region specPreAmbleDeprecated oneline matchgroup=specError start='^\(Copyright\|Serial\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Recommends\|Suggests\|Supplements\|Enhances\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
"%% Description Section %%
syn region specDescriptionArea matchgroup=specSection start='^%description' end='^%'me=e-1 contains=specDescriptionOpts,specEmail,specURL,specNumber,specMacroIdentifier,specComment
"%% Package Section %%
syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment
"%% Scripts Section %%
syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
"%% Changelog Section %%
syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense
"------------------------------------------------------------------------------
"here's the shell syntax for all the Script Sections
syn case match
"sh-like comment stile, only valid in script part
syn match shComment contained '#.*$'
syn region shQuote1 contained matchgroup=shQuoteDelim start=+'+ skip=+\\'+ end=+'+ contains=specMacroIdentifier
syn region shQuote2 contained matchgroup=shQuoteDelim start=+"+ skip=+\\"+ end=+"+ contains=specVariables,specMacroIdentifier
syn match shOperator contained '[><|!&;]\|[!=]='
syn region shDo transparent matchgroup=specBlock start="\<do\>" end="\<done\>" contains=ALLBUT,shFunction,shDoError,shCase,specPreAmble,@specListedFiles
syn region specIf matchgroup=specBlock start="%ifosf\|%ifos\|%ifnos\|%ifarch\|%ifnarch\|%else" end='%endif' contains=ALLBUT, specIfError, shCase
syn region shIf transparent matchgroup=specBlock start="\<if\>" end="\<fi\>" contains=ALLBUT,shFunction,shIfError,shCase,@specListedFiles
syn region shFor matchgroup=specBlock start="\<for\>" end="\<in\>" contains=ALLBUT,shFunction,shInError,shCase,@specListedFiles
syn region shCaseEsac transparent matchgroup=specBlock start="\<case\>" matchgroup=NONE end="\<in\>"me=s-1 contains=ALLBUT,shFunction,shCaseError,@specListedFiles nextgroup=shCaseEsac
syn region shCaseEsac matchgroup=specBlock start="\<in\>" end="\<esac\>" contains=ALLBUT,shFunction,shCaseError,@specListedFilesBin
syn region shCase matchgroup=specBlock contained start=")" end=";;" contains=ALLBUT,shFunction,shCaseError,shCase,@specListedFiles
syn sync match shDoSync grouphere shDo "\<do\>"
syn sync match shDoSync groupthere shDo "\<done\>"
syn sync match shIfSync grouphere shIf "\<if\>"
syn sync match shIfSync groupthere shIf "\<fi\>"
syn sync match specIfSync grouphere specIf "%ifarch\|%ifos\|%ifnos"
syn sync match specIfSync groupthere specIf "%endIf"
syn sync match shForSync grouphere shFor "\<for\>"
syn sync match shForSync groupthere shFor "\<in\>"
syn sync match shCaseEsacSync grouphere shCaseEsac "\<case\>"
syn sync match shCaseEsacSync groupthere shCaseEsac "\<esac\>"
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_spec_syntax_inits")
if version < 508
let did_spec_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
"main types color definitions
HiLink specSection Structure
HiLink specSectionMacro Macro
HiLink specWWWlink PreProc
HiLink specOpts Operator
"yes, it's ugly, but white is sooo cool
if &background == "dark"
hi def specGlobalMacro ctermfg=white
else
HiLink specGlobalMacro Identifier
endif
"sh colors
HiLink shComment Comment
HiLink shIf Statement
HiLink shOperator Special
HiLink shQuote1 String
HiLink shQuote2 String
HiLink shQuoteDelim Statement
"spec colors
HiLink specBlock Function
HiLink specColon Special
HiLink specCommand Statement
HiLink specCommandOpts specOpts
HiLink specCommandSpecial Special
HiLink specComment Comment
HiLink specConfigure specCommand
HiLink specDate String
HiLink specDescriptionOpts specOpts
HiLink specEmail specWWWlink
HiLink specError Error
HiLink specFilesDirective specSectionMacro
HiLink specFilesOpts specOpts
HiLink specLicense String
HiLink specMacroNameLocal specGlobalMacro
HiLink specMacroNameOther specGlobalMacro
HiLink specManpageFile NONE
HiLink specMonth specDate
HiLink specNoNumberHilite NONE
HiLink specNumber Number
HiLink specPackageOpts specOpts
HiLink specPercent Special
HiLink specSpecialChar Special
HiLink specSpecialVariables specGlobalMacro
HiLink specSpecialVariablesNames specGlobalMacro
HiLink specTarCommand specCommand
HiLink specURL specWWWlink
HiLink specURLMacro specWWWlink
HiLink specVariables Identifier
HiLink specWeekday specDate
HiLink specListedFilesBin Statement
HiLink specListedFilesDoc Statement
HiLink specListedFilesEtc Statement
HiLink specListedFilesLib Statement
HiLink specListedFilesPrefix Statement
HiLink specListedFilesShare Statement
delcommand HiLink
endif
let b:current_syntax = "spec"
" vim: ts=8

View File

@ -42,6 +42,8 @@ popd
cp -f vim-upstream/dist/README.patches README.patches
cp -f vim-upstream/dist/vim-${UPSTREAMMAJOR}-${LASTPLFILLED}.tar.bz2 .
wget https://raw.githubusercontent.com/ignatenkobrain/vim-spec-plugin/master/ftplugin/spec.vim -O ftplugin-spec.vim
wget https://raw.githubusercontent.com/ignatenkobrain/vim-spec-plugin/master/syntax/spec.vim -O syntax-spec.vim
if [ $CHANGES -ne 0 ]; then
CHLOG="* $DATE Karsten Hopp <karsten@redhat.com> $UPSTREAMMAJOR"
$debug sed -i -e "/Release: /cRelease: 1%{?dist}" $SPEC

100
vim.spec
View File

@ -41,6 +41,8 @@ Source13: vim-spell-files.tar.bz2
Source14: spec-template
Source15: spec-template.new
Source16: macros.vim
Source17: ftplugin-spec.vim
Source18: syntax-spec.vim
Patch2002: vim-7.0-fixkeys.patch
Patch2003: vim-6.2-specsyntax.patch
@ -230,7 +232,7 @@ export CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOU
cp -f os_unix.h os_unix.h.save
cp -f ex_cmds.c ex_cmds.c.save
#perl -pi -e "s/help.txt/vi_help.txt/" os_unix.h ex_cmds.c
perl -pi -e "s/help.txt/vi_help.txt/" os_unix.h ex_cmds.c
perl -pi -e "s/vimrc/virc/" os_unix.h
%configure --prefix=%{_prefix} --with-features=small --with-x=no \
--enable-multibyte \
@ -255,7 +257,7 @@ mv -f ex_cmds.c.save ex_cmds.c
%configure --with-features=huge \
--enable-pythoninterp=dynamic \
--enable-python3interp=dynamic \
--enable-perlinterp=dynamic \
--enable-perlinterp \
--disable-tclinterp --with-x=yes \
--enable-xim --enable-multibyte \
--with-tlib=ncurses \
@ -291,7 +293,7 @@ make clean
%configure --prefix=%{_prefix} --with-features=huge \
--enable-pythoninterp=dynamic \
--enable-python3interp=dynamic \
--enable-perlinterp=dynamic \
--enable-perlinterp \
--disable-tclinterp \
--with-x=no \
--enable-gui=no --exec-prefix=%{_prefix} --enable-multibyte \
@ -354,6 +356,8 @@ install -p -m644 %{SOURCE9} \
%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gvim.png
install -p -m644 %{SOURCE10} \
%{buildroot}%{_datadir}/icons/hicolor/64x64/apps/gvim.png
cp -f %{SOURCE17} %{buildroot}/%{_datadir}/%{name}/%{vimdir}/ftplugin/spec.vim
cp -f %{SOURCE18} %{buildroot}/%{_datadir}/%{name}/%{vimdir}/syntax/spec.vim
# Register as an application to be visible in the software center
#
@ -484,18 +488,18 @@ mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/
install -p -m644 %{SOURCE16} %{buildroot}%{_rpmconfigdir}/macros.d/
(cd %{buildroot}/%{_datadir}/%{name}/%{vimdir}/doc;
# gzip -9 *.txt
# gzip -d help.txt.gz version7.txt.gz sponsor.txt.gz
# cp %{SOURCE12} .
# cat tags | sed -e 's/\t\(.*.txt\)\t/\t\1.gz\t/;s/\thelp.txt.gz\t/\thelp.txt\t/;s/\tversion7.txt.gz\t/\tversion7.txt\t/;s/\tsponsor.txt.gz\t/\tsponsor.txt\t/' > tags.new; mv -f tags.new tags
#cat >> tags << EOF
#vi_help.txt vi_help.txt /*vi_help.txt*
#vi-author.txt vi_help.txt /*vi-author*
#vi-Bram.txt vi_help.txt /*vi-Bram*
#vi-Moolenaar.txt vi_help.txt /*vi-Moolenaar*
#vi-credits.txt vi_help.txt /*vi-credits*
#EOF
#LANG=C sort tags > tags.tmp; mv tags.tmp tags
gzip -9 *.txt
gzip -d help.txt.gz version7.txt.gz sponsor.txt.gz
cp %{SOURCE12} .
cat tags | sed -e 's/\t\(.*.txt\)\t/\t\1.gz\t/;s/\thelp.txt.gz\t/\thelp.txt\t/;s/\tversion7.txt.gz\t/\tversion7.txt\t/;s/\tsponsor.txt.gz\t/\tsponsor.txt\t/' > tags.new; mv -f tags.new tags
cat >> tags << EOF
vi_help.txt vi_help.txt /*vi_help.txt*
vi-author.txt vi_help.txt /*vi-author*
vi-Bram.txt vi_help.txt /*vi-Bram*
vi-Moolenaar.txt vi_help.txt /*vi-Moolenaar*
vi-credits.txt vi_help.txt /*vi-credits*
EOF
LANG=C sort tags > tags.tmp; mv tags.tmp tags
)
(cd ../runtime; rm -rf doc; ln -svf ../../vim/%{vimdir}/doc docs;)
rm -f %{buildroot}/%{_datadir}/vim/%{vimdir}/macros/maze/maze*.c
@ -772,15 +776,15 @@ rm -rf %{buildroot}
* Fri Apr 29 2016 Karsten Hopp <karsten@redhat.com> 7.4.1797-1
- patchlevel 1797
* Fri Apr 29 2016 Karsten Hopp <karsten@redhat.com> - 7.4.1786-1
- dynamically load perl when needed (rhbz#1327755)
* Tue Apr 26 2016 Karsten Hopp <karsten@redhat.com> 7.4.1786-1
- patchlevel 1786
* Tue Apr 26 2016 Karsten Hopp <karsten@redhat.com> - 7.4.1775-2
- fix error in spec.vim (rhbz#1318991)
* Mon Apr 25 2016 Karsten Hopp <karsten@redhat.com> - 7.4.1320-2
- update ftplugin/spec.vim, syntax/spec.vim (rhbz#1297746)
* Fri Apr 22 2016 Karsten Hopp <karsten@redhat.com> 7.4.1775-1
- patchlevel 1775
@ -800,15 +804,75 @@ rm -rf %{buildroot}
* Wed Feb 17 2016 Karsten Hopp <karsten@redhat.com> 7.4.1344-1
- patchlevel 1344
* Mon Feb 15 2016 Karsten Hopp <karsten@redhat.com> 7.4.1320-1
- patchlevel 1320
* Sun Feb 14 2016 Karsten Hopp <karsten@redhat.com> 7.4.1317-1
- patchlevel 1317
* Sat Feb 13 2016 Karsten Hopp <karsten@redhat.com> 7.4.1308-1
- patchlevel 1308
* Fri Feb 12 2016 Karsten Hopp <karsten@redhat.com> 7.4.1304-1
- patchlevel 1304
* Thu Feb 11 2016 Karsten Hopp <karsten@redhat.com> 7.4.1301-1
- patchlevel 1301
* Wed Feb 10 2016 Karsten Hopp <karsten@redhat.com> 7.4.1297-1
- patchlevel 1297
* Tue Feb 09 2016 Karsten Hopp <karsten@redhat.com> 7.4.1293-1
- patchlevel 1293
* Mon Feb 08 2016 Karsten Hopp <karsten@redhat.com> 7.4.1290-1
- patchlevel 1290
* Sun Feb 07 2016 Karsten Hopp <karsten@redhat.com> 7.4.1273-1
- patchlevel 1273
* Sat Feb 06 2016 Karsten Hopp <karsten@redhat.com> 7.4.1265-1
- patchlevel 1265
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2:7.4.1229-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Feb 01 2016 Karsten Hopp <karsten@redhat.com> 7.4.1229-1
- patchlevel 1229
* Sat Jan 23 2016 Karsten Hopp <karsten@redhat.com> 7.4.1153-1
- patchlevel 1153
* Fri Jan 22 2016 Karsten Hopp <karsten@redhat.com> 7.4.1152-1
- patchlevel 1152
* Thu Jan 21 2016 Karsten Hopp <karsten@redhat.com> 7.4.1147-1
- patchlevel 1147
* Wed Jan 20 2016 Karsten Hopp <karsten@redhat.com> 7.4.1143-1
- patchlevel 1143
* Tue Jan 19 2016 Karsten Hopp <karsten@redhat.com> 7.4.1142-1
- patchlevel 1142
* Tue Jan 19 2016 Karsten Hopp <karsten@redhat.com> 7.4.1131-1
- patchlevel 1131
* Mon Jan 18 2016 Karsten Hopp <karsten@redhat.com> 7.4.1129-1
- patchlevel 1129
* Sun Jan 17 2016 Karsten Hopp <karsten@redhat.com> 7.4.1112-1
- patchlevel 1112
* Sat Jan 16 2016 Karsten Hopp <karsten@redhat.com> 7.4.1101-1
- patchlevel 1101
* Fri Jan 15 2016 Karsten Hopp <karsten@redhat.com> 7.4.1090-1
- patchlevel 1090
* Wed Jan 13 2016 Karsten Hopp <karsten@redhat.com> 7.4.1089-1
- patchlevel 1089
* Tue Jan 12 2016 Karsten Hopp <karsten@redhat.com> - 7.4.1087-2
- fix ssh syntax files
- fix %%global in spec.vim (rhbz#1058041)