debcontrol.vim

Gerfried Fuchs alfie@debian.org
Tue, 15 Mar 2005 11:20:25 +0100


--QKdGvSO+nmPlgiQ/
Content-Type: multipart/mixed; boundary="7JfCtLOvnd9MIVvH"
Content-Disposition: inline


--7JfCtLOvnd9MIVvH
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

* Pierre Habouzit <pierre.habouzit@m4x.org> [2005-03-15 10:13]:
> in order to close some longstanding bugs in the vim BTS, I made some=20
> patches to your debcontrol.vim

 Thanks. It would be appreciated if you could send a diff, though. This
is common behavior when dealing with such things, the maintainers often
have a local version they work on (which is reduced this time to a
changed URL only, but still... :)).

> I send you a copy of the current work.

 Thanks. But:

>  + Fix some debcontrol.vim issues:
>    - don't search emails in fields that have not one (closes: #114508).

 Why have you removed the Enhances from debcontrolField? Why removed
debcontrolVariable from Uploaders and Description field? Why didn't you
document that change, too?

>    - fix debcontrolName according to Policy (closes: #148144).

 This fix is somewhat strange.  What's wrong with:
syn match debcontrolName contained "\<[0-9+-.]\*[a-z][a-z0-9+-]*\>"

 Especially because it doesn't say that the first or second character
has to be a letter, does it, like that patch did.

 It would be great if you're unsure and you do have the maintainer
available to contact them beforehand instead of rushing out a half baken
patch which could make some things worth. I really do appreciate your
enthusiasm, pretty please don't get me wrong, but it would be
courteously to contact me beforehand, especially when you aren't sure
(which I hope you weren't).

 So long, and thanks. If there are any other reports about my syntax
files feel free to send them forward directly. Find attached my updated
file, minor the changes you didn't document and for which I don't see
any valid reason.

 So long,
Alfie
--=20
WARNING: Do not execute!  This software violates patent EP0850441.
http://www.elug.de/projekte/patent-party/patente/EP0850441
=20
IP=3D192.168.0.1;while ping -c 1 $IP;do sleep 1;done;echo Host $IP gone\!

--7JfCtLOvnd9MIVvH
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="debcontrol.vim"

" Vim syntax file
" Language:	Debian control files
" Maintainer:	Gerfried Fuchs <alfie@debian.org>
" Last Change:  15. March 2005
" URL:          http://alfie.ist.org/projects/vim/syntax/debcontrol.vim
"
" Original Version: Wichert Akkerman <wakkerma@debian.org>

" Comments are very welcome - but please make sure that you are commenting on
" the latest version of this file.
" SPAM is _NOT_ welcome - be ready to be reported!

" Standard syntax initialization
if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

" Everything that is not explicitly matched by the rules below
syn match debcontrolElse "^.*$"

" Common seperators
syn match debControlComma ", *"
syn match debControlSpace " "

" Define some common expressions we can use later on
syn match debcontrolArchitecture contained "\(all\|any\|alpha\|amd64\|arm\|hppa\|i386\|ia64\|m68k\|mipsel\|mips\|powerpc\|s390\|sheb\|sh\|sparc64\|sparc\|hurd-i386\|kfreebsd-i386\|knetbsd-i386\|netbsd-i386\)"
syn match debcontrolName contained "\<\([0-9+-.]*[a-z][a-z0-9+-.]*\)\>"
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
syn match debcontrolSection contained "\(\(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\)/\)\=\(admin\|base\|comm\|devel\|doc\|editors\|electronics\|embedded\|games\|gnome\|graphics\|hamradio\|interpreters\|kde\|libs\|libdevel\|mail\|math\|misc\|net\|news\|oldlibs\|otherosfs\|perl\|python\|science\|shells\|sound\|text\|tex\|utils\|web\|x11\|debian-installer\)"
syn match debcontrolVariable contained "\${.\{-}}"

" An email address
syn match	debcontrolEmail	"[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
syn match	debcontrolEmail	"<.\{-}>"

" List of all legal keys
syn match debcontrolKey contained "^\(Source\|Package\|Section\|Priority\|Maintainer\|Uploaders\|Build-Depends\|Build-Conflicts\|Build-Depends-Indep\|Build-Conflicts-Indep\|Standards-Version\|Pre-Depends\|Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Essential\|Architecture\|Description\|Bugs\|Origin\|Enhances\): *"

" Fields for which we do strict syntax checking
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
syn region debcontrolStrictField start="^\(Package\|Source\)" end="$" contains=debcontrolKey,debcontrolName oneline
syn region debcontrolStrictField start="^Priority" end="$" contains=debcontrolKey,debcontrolPriority oneline
syn region debcontrolStrictField start="^Section" end="$" contains=debcontrolKey,debcontrolSection oneline

" Catch-all for the other legal fields
syn region debcontrolField start="^\(Build-Depends\|Build-Conflicts\|Build-Depends-Indep\|Build-Conflicts-Indep\|Standards-Version\|Pre-Depends\|Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Essential\|Origin\|Enhances\):" end="$" contains=debcontrolKey,debcontrolVariable oneline
syn region debcontrolField start="^\(Maintainer\|Bugs\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
syn region debcontrolMultiField start="^\(Uploaders\|Description\):" skip="^ " end="^$"me=s-1 end="^[^ ]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable

" Associate our matches and regions with pretty colours
if version >= 508 || !exists("did_debcontrol_syn_inits")
  if version < 508
    let did_debcontrol_syn_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif

  HiLink debcontrolKey		Keyword
  HiLink debcontrolField	Normal
  HiLink debcontrolStrictField	Error
  HiLink debcontrolMultiField	Normal
  HiLink debcontrolArchitecture	Normal
  HiLink debcontrolName		Normal
  HiLink debcontrolPriority	Normal
  HiLink debcontrolSection	Normal
  HiLink debcontrolVariable	Identifier
  HiLink debcontrolEmail	Identifier
  HiLink debcontrolElse		Special

  delcommand HiLink
endif

let b:current_syntax = "debcontrol"

" vim: ts=8 sw=2

--7JfCtLOvnd9MIVvH--

--QKdGvSO+nmPlgiQ/
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCNrbpMU96lewVKUIRApojAKCY5OLuxRUBjfDuVt7HoE2So0dqCwCfSiKb
XbIEFhUXYkFMcCikLfTG48Y=
=O8rt
-----END PGP SIGNATURE-----

--QKdGvSO+nmPlgiQ/--