mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 15:58:50 -05:00
Add vim syntax file for PKGBUILDs to contrib/
Thanks for the contribution. Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
1213212c31
commit
5fc170ff05
287
contrib/PKGBUILD.vim
Normal file
287
contrib/PKGBUILD.vim
Normal file
@ -0,0 +1,287 @@
|
||||
" Vim syntax file
|
||||
" Language: PKGBUILD
|
||||
" Maintainer: Alessio 'mOLOk' Bolognino <themolok at gmail.com>
|
||||
" Last Change: 2007/05/08
|
||||
" Version Info: PKGBUILD-0.1
|
||||
|
||||
" 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
|
||||
|
||||
|
||||
" case on
|
||||
syn case match
|
||||
|
||||
" pkgname
|
||||
" FIXME if '=' is in pkgname/pkgver, it highlights whole string, not just '='
|
||||
syn keyword pb_k_pkgname pkgname contained
|
||||
syn match pbValidPkgname /\([[:alnum:]]\|+\|-\|_\){,32}/ contained contains=pbIllegalPkgname
|
||||
syn match pbIllegalPkgname /[[:upper:]]\|[^[:alnum:]-+_=]\|=.*=\|=['"]\?.\{33,\}['"]\?/ contained
|
||||
"syn match pbIllegalPkgname /=.\{33,\}/ contains=pbValidPkgname contained
|
||||
"syn match pbIllegalPkgname /[^=]/ contains=pbValidPkgname contained
|
||||
"syn match pbValidPkgname /=\([[:lower:][:digit:]-_+]\)\{,32\}/ contained
|
||||
"syn match pbIllegalPkgname /[^=]/ contains=pbValidPkgname contained
|
||||
"syn match pbValidPkgname /=\([[:digit:][:lower:]]\|+\|-\|_\)\{,32\}/ contained
|
||||
syn match pbPkgnameGroup /^pkgname=.*/ contains=pbIllegalPkgname,pb_k_pkgname ",pbValidPkgname
|
||||
|
||||
" pkgver
|
||||
syn keyword pb_k_pkgver pkgver contained
|
||||
syn match pbValidPkgver /\([[:alnum:]]\|\.\|+\|_\)/ contained contains=pbIllegalPkgver
|
||||
syn match pbIllegalPkgver /[^[:alnum:]+=\.\_]\|=.*=/ contained
|
||||
syn match pbPkgverGroup /^pkgver=.*/ contains=pbIllegalPkgver,pbValidPkgver,pb_k_pkgver
|
||||
|
||||
" pkgrel
|
||||
syn keyword pb_k_pkgrel pkgrel contained
|
||||
syn match pbValidPkgrel /[[:digit:]]*/ contained contains=pbIllegalPkgver
|
||||
"syn match pbIllegalPkgrel /[^[:alnum:]=]\|[[:alpha:]]/ contained
|
||||
syn match pbIllegalPkgrel /[^[:digit:]=]\|=.*=/ contained
|
||||
syn match pbPkgrelGroup /^pkgrel=.*/ contains=pbIllegalPkgrel,pbValidPkgrel,pb_k_pkgrel
|
||||
|
||||
" pkgdesc
|
||||
syn keyword pb_k_desc pkgdesc contained
|
||||
" 90 chars: 80 for description, 8 for pkgdesc and 2 for ''
|
||||
syn match pbIllegalPkgdesc /.\{90,}\|=['"]\?.*['" ]\+[iI][sS] [aA]/ contained contains=pbPkgdescSign
|
||||
syn match pbValidPkgdesc /[^='"]\.\{,80}/ contained contains=pbIllegalPkgdesc
|
||||
syn match pbPkgdescGroup /^pkgdesc=.*/ contains=pbIllegalPkgdesc,pb_k_desc,pbValidPkgdesc
|
||||
syn match pbPkgdescSign /[='"]/ contained
|
||||
|
||||
|
||||
" url
|
||||
syn keyword pb_k_url url contained
|
||||
syn match pbValidUrl /['"]*\(https\|http\|ftp\)\:\/.*\.\+.*/ contained
|
||||
|
||||
syn match pbIllegalUrl /[^=]/ contained contains=pbValidUrl
|
||||
"syn match pbIllegalUrl /\(https\|http\|ftp\)\:\/\/.*/ contained
|
||||
syn match pbUrlGroup /^url=.*/ contains=pbValidUrl,pb_k_url,pbIllegalUrl
|
||||
"syn match pbEq /=/ contained
|
||||
|
||||
" license
|
||||
syn keyword pb_k_license license contained
|
||||
syn keyword pbLicense APACHE CDDL EPL FDL GPL LGPL MPL PHP RUBY ZLIB ISC MIT BSD contained
|
||||
syn match pbLicenseCustom /custom\(:[[:alnum:]]*\)*/ contained
|
||||
"syn match pbValidLicense /[^=][('")]*/ contained
|
||||
"syn match pbLicenseGroup /^license=.*/ contains=pb_k_license,pbLicense,pbValidLicense,pbLicenseCustom
|
||||
syn match pbIllegalLicense /[^='"() ]/ contained contains=pbLicenseCustom,pbLicense
|
||||
syn match pbLicenseGroup /^license=.*/ contains=pb_k_license,pbLicenseCustom,pbLicense,pbIllegalLicense
|
||||
|
||||
" backup
|
||||
syn keyword pb_k_backup backup contained
|
||||
syn match pbValidBackup /\.\?[[:alpha:]]*\/[[:alnum:]\{\}+._$-]*]*/ contained
|
||||
syn match pbBackupGroup /^backup=.*/ contains=pb_k_backup,pbValidBackup
|
||||
|
||||
" arch
|
||||
syn keyword pb_k_arch arch contained
|
||||
syn keyword pbArch i686 x86_64 ppc contained
|
||||
syn match pbIllegalArch /[^='() ]/ contained contains=pbArch
|
||||
syn match pbArchGroup /^arch=.*/ contains=pb_k_arch,pbArch,pbIllegalArch
|
||||
|
||||
" makedepends
|
||||
syn keyword pb_k_makedepends makedepends contained
|
||||
syn match pbValidMakedepends /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
"syn match pbMakedependsGroup /^makedepends=.*/ contains=pb_k_makedepends,pbValidMakedepends
|
||||
syn region pbMakedependsGroup start=/^makedepends=(/ end=/)/ contains=pb_k_makedepends,pbValidMakedepends
|
||||
|
||||
" depends
|
||||
syn keyword pb_k_depends depends contained
|
||||
syn match pbValidDepends /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
"syn match pbDependsGroup /^depends=.*/ contains=pb_k_depends,pbValidDepends
|
||||
syn region pbDependsGroup start=/^depends=(/ end=/)/ contains=pb_k_depends,pbValidDepends
|
||||
|
||||
" XXX little hack to color conflicts/provides/replaces keyword even without =()
|
||||
syn match pbkw /^\(conflicts\|provides\|replaces\)/ contains=pb_k_conflicts,pb_k_provides,pb_k_replaces
|
||||
hi link pbkw keyword
|
||||
|
||||
" conflicts
|
||||
"syn keyword pb_k_conflicts conflicts
|
||||
syn keyword pb_k_conflicts conflicts contained
|
||||
syn match pbValidConflicts /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
"syn match pbConflictsGroup /^conflicts=.*/ contains=pb_k_conflicts,pbValidConflicts
|
||||
syn region pbConflictsGroup start=/^conflicts=(/ end=/)/ contains=pb_k_conflicts,pbValidConflicts
|
||||
"syn region pbConflictsGroup start=/^conflicts=(/ end=/)/ contains=pbValidConflicts
|
||||
|
||||
" provides
|
||||
"syn keyword pb_k_provides provides
|
||||
syn keyword pb_k_provides provides contained
|
||||
syn match pbValidProvides /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
"syn match pbProvidesGroup /^provides=.*/ contains=pb_k_provides,pbValidProvides
|
||||
syn region pbProvidesGroup start=/^provides=(/ end=/)/ contains=pb_k_provides,pbValidProvides
|
||||
"syn region pbProvidesGroup start=/^provides=(/ end=/)/ contains=pbValidProvides
|
||||
|
||||
" replaces
|
||||
"syn keyword pb_k_replaces replaces
|
||||
syn keyword pb_k_replaces replaces contained
|
||||
syn match pbValidReplaces /\([[:alnum:]]\|+\|-\|_\)*/ contained
|
||||
"syn match pbReplacesGroup /^replaces=.*/ contains=pb_k_replaces,pbValidReplaces
|
||||
syn region pbReplacesGroup start=/^replaces=(/ end=/)/ contains=pb_k_replaces,pbValidReplaces
|
||||
"syn region pbReplacesGroup start=/^replaces=(/ end=/)/ contains=pbValidReplaces
|
||||
|
||||
" install
|
||||
syn keyword pb_k_install install contained
|
||||
syn match pbValidInstall /\([[:alnum:]]\|\$\|+\|-\|_\)*\.install/ contained
|
||||
syn match pbIllegalInstall /[^=]/ contained contains=pbValidInstall
|
||||
"syn match pbInstall /\([a-z]\|+\|-\)*\.install/ contained
|
||||
syn match pbInstallGroup /^install=.*/ contains=pb_k_install,pbValidInstall,pbIllegalInstall
|
||||
|
||||
" source
|
||||
syn keyword pb_k_source source contained
|
||||
|
||||
" search for specific sf.net mirrors
|
||||
syn match pbIllegalSource /\(http\|ftp\|https\).*\.\+\(dl\|download.\?\)\.\(sourceforge\|sf\).net/ contained
|
||||
syn match pbSourceRemote /['"]*\(https\|http\|ftp\)\:\/\/.*[[:alnum:]"']/ contained contains=pbIllegalSource
|
||||
"syn match pbSourceLocal /[[:alnum:]+._${}\/-]\+/ contained
|
||||
"syn match pbSourceLocal /[[:alnum:]+._${}-]\+/ contained
|
||||
syn region pbSourceGroup start=/^source=(/ end=/)/ contains=pb_k_source,pbSourceRemote
|
||||
",pbSourceLocal
|
||||
"syn match pbSourceGroup /^source=.*/ contains=pb_k_source,pbSourceRemote,pbSourceLocal
|
||||
|
||||
|
||||
" md5sums
|
||||
syn keyword pb_k_md5sums md5sums contained
|
||||
syn match pbValidMd5sums /[[:alnum:]]\{32\}/ contained
|
||||
syn match pbIllegalMd5sums /[^='"()\/ ]/ contained contains=pbValidMd5sums
|
||||
syn region pbMd5sumsGroup start=/^md5sums/ end=/)/ contains=pb_k_md5sums,pbValidMd5sums,pbIllegalMd5sums
|
||||
|
||||
" sha1sums
|
||||
syn keyword pb_k_sha1sums sha1sums contained
|
||||
syn match pbValidSha1sums /[[:alnum:]]\{40\}/ contained
|
||||
syn match pbIllegalSha1sums /[^='"()\/ ]/ contained contains=pbValidSha1sums
|
||||
syn region pbSha1sumsGroup start=/^sha1sums/ end=/)/ contains=pb_k_sha1sums,pbValidSha1sums,pbIllegalSha1sums
|
||||
|
||||
" options
|
||||
syn keyword pb_k_options options contained
|
||||
"syn keyword pbOptions strip docs libtool emptydirs ccache distcc makeflags force contained
|
||||
syn match pbOptions /\(no\)\?\(strip\|docs\|libtool\|emptydirs\|ccache\|distcc\|makeflags\|force\)/ contained
|
||||
" syn match pbOptionsNeg /\(\!\|no\)/ contained
|
||||
syn match pbOptionsNeg /\!/ contained
|
||||
syn match pbOptionsDeprec /no/ contained
|
||||
syn region pbOptionsGroup start=/^options=(/ end=/)/ contains=pb_k_options,pbOptions,pbOptionsNeg,pbOptionsDeprec,pbIllegalOption
|
||||
syn match pbIllegalOption /[^!"'()= ]/ contained contains=pbOptionsDeprec,pbOptions
|
||||
|
||||
" noextract
|
||||
syn match pbNoextract /[[:alnum:]+._${}-]\+/ contained
|
||||
syn keyword pb_k_noextract noextract contained
|
||||
syn region pbNoextractGroup start=/^noextract=(/ end=/)/ contains=pb_k_noextract,pbNoextract
|
||||
|
||||
" comments
|
||||
syn keyword pb_k_maintainer Maintainer Contributor contained
|
||||
"syn match pbMaintainer /:.*/ contained
|
||||
syn match pbMaintainerGroup /Maintainer.*/ contains=pbMaintainer contained
|
||||
|
||||
syn match pbDate /[0-9]\{4}\/[0-9]\{2}\/[0-9]\{2}/ contained
|
||||
|
||||
syn cluster pbCommentGroup contains=pbTodo,pb_k_maintainer,pbMaintainerGroup,pbDate
|
||||
syn keyword pbTodo contained COMBAK FIXME TODO XXX
|
||||
syn match pbComment "^#.*$" contains=@pbCommentGroup
|
||||
syn match pbComment "[^0-9]#.*$" contains=@pbCommentGroup
|
||||
|
||||
hi link pbComment Comment
|
||||
hi link pbTodo Todo
|
||||
|
||||
hi link pbValidPkgname Special
|
||||
hi link pbPkgnameGroup Normal
|
||||
hi link pbIllegalPkgname Error
|
||||
hi link pb_k_pkgname Keyword
|
||||
|
||||
hi link pbValidPkgver StorageClass
|
||||
hi link pbPkgverGroup Normal
|
||||
hi link pbIllegalPkgver Error
|
||||
hi link pb_k_pkgver Keyword
|
||||
|
||||
hi link pbValidPkgrel Number
|
||||
hi link pbPkgrelGroup Normal
|
||||
hi link pbIllegalPkgrel Error
|
||||
hi link pb_k_pkgrel Keyword
|
||||
|
||||
hi link pbValidPkgdesc Special
|
||||
hi link pbPkgdescGroup Normal
|
||||
hi link pbIllegalPkgdesc Error
|
||||
hi link pb_k_desc Keyword
|
||||
hi link pbPkgdescSign Normal
|
||||
|
||||
hi link pbIllegalUrl Error
|
||||
hi link pbValidUrl Comment
|
||||
hi link pbUrlGroup Normal
|
||||
hi link pbEq Normal
|
||||
hi link pb_k_url Keyword
|
||||
|
||||
hi link pb_k_license Keyword
|
||||
hi link pbLicense Number
|
||||
hi link pbLicenseCustom Number
|
||||
hi link pbLicenseGroup Normal
|
||||
hi link pbValidLicense Normal
|
||||
hi link pbIllegalLicense Error
|
||||
|
||||
hi link pbBackupGroup Normal
|
||||
hi link pbValidBackup Identifier
|
||||
hi link pb_k_backup Keyword
|
||||
|
||||
hi link pbArchGroup Normal
|
||||
hi link pb_k_arch Keyword
|
||||
hi link pbArch Number
|
||||
hi link pbIllegalArch Error
|
||||
|
||||
hi link pbMakedependsGroup Normal
|
||||
hi link pb_k_makedepends Keyword
|
||||
hi link pbValidMakedepends Comment
|
||||
|
||||
hi link pbDependsGroup Normal
|
||||
hi link pb_k_depends Keyword
|
||||
hi link pbValidDepends StorageClass
|
||||
|
||||
hi link pbReplacesGroup Normal
|
||||
hi link pb_k_replaces Keyword
|
||||
hi link pbValidReplaces Identifier
|
||||
|
||||
hi link pbConflictsGroup Normal
|
||||
hi link pb_k_conflicts Keyword
|
||||
hi link pbValidConflicts Number
|
||||
|
||||
hi link pbProvidesGroup Normal
|
||||
hi link pb_k_provides Keyword
|
||||
hi link pbValidProvides Special
|
||||
|
||||
hi link pbValidInstall Normal
|
||||
hi link pbIllegalInstall Error
|
||||
hi link pb_k_install Keyword
|
||||
|
||||
"hi link pbSourceLocal Identifier
|
||||
hi link pb_k_source Keyword
|
||||
hi link pbSourceRemote Number
|
||||
hi link pbSourceGroup Normal
|
||||
hi link pbIllegalSource Error
|
||||
|
||||
hi link pb_k_md5sums Keyword
|
||||
hi link pbMd5sumsGroup Normal
|
||||
hi link pbValidMd5sums StorageClass
|
||||
hi link pbIllegalMd5sums Error
|
||||
|
||||
hi link pb_k_sha1sums Keyword
|
||||
hi link pbSha1sumsGroup Normal
|
||||
hi link pbValidSha1sums Number
|
||||
hi link pbIllegalSha1sums Error
|
||||
|
||||
hi link pb_k_options Keyword
|
||||
hi link pbOptions StorageClass
|
||||
hi link pbOptionsNeg StorageClass
|
||||
hi link pbOptionsGroup Normal
|
||||
hi link pbOptionsDeprec Todo
|
||||
hi link pbIllegalOption Error
|
||||
|
||||
hi link pb_k_noextract Keyword
|
||||
hi link pbNoextract Identifier
|
||||
hi link pbNoextractGroup Normal
|
||||
|
||||
hi link pb_k_maintainer Keyword
|
||||
"hi link pbMaintainer Normal
|
||||
|
||||
hi link pbDate Special
|
||||
|
||||
syntax include @SHELL syntax/sh.vim
|
||||
syntax region BUILD start=/^build()/ end=/^}/ contains=@SHELL
|
||||
let b:current_syntax = "PKGBUILD"
|
||||
|
||||
" vim: ft=vim
|
@ -1,16 +1,23 @@
|
||||
Here is a brief description of the files included in this directory:
|
||||
|
||||
PKGBUILD.vim - a vim/gvim syntax file for PKGBUILDs. Colors known variable
|
||||
names, highlights common errors such as invalid characters in pkgname or
|
||||
pkgver, etc.
|
||||
|
||||
bash_completion - a bash completion script for pacman, install in
|
||||
/etc/bash_completion.d/ for use (but rename to something descriptive!).
|
||||
|
||||
zsh_completion - a zsh completion script, install (with a rename) to
|
||||
/usr/share/zsh/site-functions/.
|
||||
|
||||
pacdiff - a simple pacnew/pacorig/pacsave updater for /etc/.
|
||||
|
||||
pacsearch - a colorized search combining both -Ss and -Qs output. Installed
|
||||
packages are easily identified with a *** and local-only packages are also
|
||||
listed.
|
||||
|
||||
pacdiff - a simple pacnew/pacorig/pacsave updater for /etc/.
|
||||
|
||||
re-pacman - regenerate a pacman package based on installed files and the pacman
|
||||
database entries. Useful for reuse, or possible config file extension.
|
||||
|
||||
vimproject - a project file for the vim project plugin (some files listed
|
||||
may need to be updated).
|
||||
|
0
contrib/pacdiff
Normal file → Executable file
0
contrib/pacdiff
Normal file → Executable file
Loading…
Reference in New Issue
Block a user