Re: syntax highlighting addition

2007-05-07 Thread Jonathan Smith
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

I know this is sortof late notice, but it would be great if this could go in 7.1
final :)

> The empty comment is still there.  Just leave that line blank.  No
> biggie, of course, just aesthetics.

i could have sworn i fixed it. this time, though, it really is fixed. :)

>> runtime! syntax/python.vim
>
> Just to make sure: Python is allowed anywhere in a conary recipe?

correct. a recipe is a special type of python file

>> syn match   conaryMacro "%(\w*)[sd]" contained
>> syn match   conaryBadMacro  "%(\w*)[^sd]" contained " no final marker
>
> OK, so you can have the following:
>
> %()s
>
> or should it be "%(\w\+)[sd]"

you're right. fixed

>>   HiLink conaryUseFlag  Typedef
>
> Substitute that with
> hi def link conaryrecipeMacro Macro
> :
> :

fixed

> (If conary recipe macros aren't much like macros in C, then perhaps
> Special is better.  Also note the linking of a generic group to
> function and then other groups linking to them so that a user can
> change them all en masse, to something they like.)

fixed

> That HiLink cruft is also Vim5 compatibility stuff.  And remove the if
> statement.

fixed

>> let b:current_syntax = "recipe"
>
> This should be
>
> let b:current_syntax = "conaryrecipe"

fixed

smithj

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.3 (GNU/Linux)

iD8DBQFGP13N0e1Yawpq2XMRAk7+AKCZoBtDszC/FZpK6m9bZFPMKXHnoQCgjVGu
gstfvNHYnhUHmyzQ8sMxAvI=
=Y9Ve
-END PGP SIGNATURE-
" Vim syntax file
" Language: Conary Recipe
" Maintainer:   rPath Inc 
" Updated:  2007-05-07

if exists("b:current_syntax")
  finish
endif

runtime! syntax/python.vim
syn keyword conarySFunction mainDir addAction addSource addArchive addPatch
syn keyword conarySFunction addRedirect addSvnSnapshot addMercurialSnapshot
syn keyword conarySFunction addCvsSnapshot

syn keyword conaryGFunction add addAll addNewGroup addReference createGroup
syn keyword conaryGFunction addNewGroup startGroup remove removeComponents
syn keyword conaryGFunction replace setByDefault setDefaultGroup 
syn keyword conaryGFunction setLabelPath addCopy setSearchPath

syn keyword conaryBFunction Run Automake Configure ManualConfigure 
syn keyword conaryBFunction Make MakeParallelSubdir MakeInstall
syn keyword conaryBFunction MakePathsInstall CompilePython
syn keyword conaryBFunction Ldconfig Desktopfile Environment SetModes
syn keyword conaryBFunction Install Copy Move Symlink Link Remove Doc
syn keyword conaryBFunction Create MakeDirs disableParallelMake
syn keyword conaryBFunction ConsoleHelper Replace SGMLCatalogEntry
syn keyword conaryBFunction XInetdService XMLCatalogEntry TestSuite
syn keyword conaryBFunction PythonSetup

syn keyword conaryPFunction NonBinariesInBindirs FilesInMandir 
syn keyword conaryPFunction ImproperlyShared CheckSonames CheckDestDir
syn keyword conaryPFunction ComponentSpec PackageSpec 
syn keyword conaryPFunction Config InitScript GconfSchema SharedLibrary
syn keyword conaryPFunction ParseManifest MakeDevices DanglingSymlinks
syn keyword conaryPFunction AddModes WarnWriteable IgnoredSetuid
syn keyword conaryPFunction Ownership ExcludeDirectories
syn keyword conaryPFunction BadFilenames BadInterpreterPaths ByDefault
syn keyword conaryPFunction ComponentProvides ComponentRequires Flavor
syn keyword conaryPFunction EnforceConfigLogBuildRequirements Group
syn keyword conaryPFunction EnforceSonameBuildRequirements InitialContents
syn keyword conaryPFunction FilesForDirectories LinkCount
syn keyword conaryPFunction MakdeDevices NonMultilibComponent ObsoletePaths
syn keyword conaryPFunction NonMultilibDirectories NonUTF8Filenames TagSpec
syn keyword conaryPFunction Provides RequireChkconfig Requires TagHandler
syn keyword conaryPFunction TagDescription Transient User UtilizeGroup
syn keyword conaryPFunction WorldWritableExecutables UtilizeUser
syn keyword conaryPFunction WarnWritable Strip CheckDesktopFiles

" Most destdirPolicy aren't called from recipes, except for these
syn keyword conaryPFunction AutoDoc RemoveNonPackageFiles TestSuiteFiles
syn keyword conaryPFunction TestSuiteLinks

syn match   conaryMacro "%(\w\+)[sd]" contained
syn match   conaryBadMacro  "%(\w*)[^sd]" contained " no final marker
syn keyword conaryArchescontained x86 x86_64 alpha ia64 ppc ppc64 s390
syn keyword conaryArchescontained sparc sparc64
syn keyword conarySubArches contained sse2 3dnow 3dnowext cmov i486 i586
syn keyword conarySubArches contained i686 mmx mmxext nx sse sse2
syn keyword conaryBad   RPM_BUILD_ROOT EtcConfig InstallBucket subDir 
subdir 
syn keyword conaryBad   RPM_OPT_FLAGS 
syn cluster conaryArchFlags contains=conaryArches,conarySubArches
syn match   conaryArch  "Arch\.[a-z0-9A-Z]\+" 
contains=conaryArches,conarySubArch

Re: vim 7.1?

2007-04-26 Thread Jonathan Smith

A.J.Mechelynck wrote:
- Insane? All is relative. We're only at 7.0.233 as of today. FYI, Vim 
6.2 went to 532 patches, see http://ftp.vim.org/pub/vim/patches/


Release early, release often :)

- What devel tree? I'll believe that a 7.1 is on the rails when I see at 
least an alpha. Before that, AFA-anyone-CT, there's no "devel tree". 
Let's not "presume" about what we know nothing about.


Hence "presume".

- It's not "anyone", it's Bram Moolenaar and no-one else; and since he 
now has a full-time job again, it's a small sort of miracle that he 
still finds "some" time for Vim.


Even if BM is the only one who can actually make a release, I'd imagine others 
have opinions on the matter. Anyway, I was just wondering.


-smithj


vim 7.1?

2007-04-26 Thread Jonathan Smith
With the insane number of patches collecting against 7.0, and presumably the new 
features accumulating in the devel tree, is anyone thinking about when a 7.1 
release might be made?


-smithj


Re: syntax highlighting addition

2007-04-26 Thread Jonathan Smith

sorry for the long time between replies. i've been busy on other things :)

Nikolai Weibull wrote:
> Well, the rpm spec file-type has been with us a long time, well before
> we knew better.  Try to give your file-type an as specific name as
> possible.  You will not be getting the name "recipe"; it's way too
> generic in this day and age.  Go with "conrecipe" or something
> similar.  Remember: Bram has his own build system, called Aap, which
> also uses recipes.  Also, if Vim will never edit a (Conary) changeset,
> then why will we have to worry about a name-clash between different
> conary file-types?

done - changed to conaryRecipe.

> Nitpick: remove the empty comment.

done

> Just do
>
> if exists("b:current_syntax")
>  finish
> endif
>
> No one will be using your syntax definition with vim 5 anyway.  Let's
> keep new files clean from (now) unnecessary cruft.

done

>> syn match   conaryUse   "Use\.[a-z0-9.]*" contains=conaryUseFlag
>
> Sure that * shouldn't be a \+?  And can you have a sequence of dots,
> as in Use...?

done

> A better way of doing this is to do (substitute \w with whatever
> pattern your parser actually allows)
>
> syn match conaryUse
> \ "Use\.\w\+"
> \ nextgroup=conaryUseFlag
>
> syn keyword conaryUseFlag
> \ contained
> \ nextgroup=conaryUseFlagSeparator
> \ pcre
> \ tcpwrappers
> \ ...
>
> syn match conaryUseFlagSeparator
> \ contained
> \ nextgroup=conaryUseFlag
> \ '\.'

that didn't work for me for some reason. perhaps i'm misunderstanding?

>> "syn match   conaryR"r\.\w*" contains=conaryFunction
>
> Leftover?

yes. axed.

>> if version >= 508 || !exists("did_python_syn_inits")
>>   if version <= 508
>>let did_python_syn_inits = 1
>> command -nargs=+ HiLink hi link 
>>   else
>> command -nargs=+ HiLink hi def link 
>>   endif
>
> Just skip this.  No one will be using your syntax definition with Vim 5.

yep, removed. as i said, rPath has been maintaining this for a long time. :)

>>   "HiLink pythonStatement   Statement
>>   "HiLink pythonFunctionFunction
>>   "HiLink pythonConditional Conditional
>>   "HiLink pythonRepeat  Repeat
>>   "HiLink pythonString  String
>>   "HiLink pythonRawString   String
>>   "HiLink pythonEscape  Special
>>   "HiLink pythonOperatorOperator
>>   "HiLink pythonPreCondit   PreCondit
>>   "HiLink pythonComment Comment
>>   "HiLink pythonTodoTodo
>
> ?

all wacked. just crufty.

>> " vim: ts=8
>
> This is the default setting.

removed

new version attached, as before. thanks for the feedback. further feedback 
requested :)


-smithj

--- vim63/runtime/filetype.vim.old	2005-07-29 18:16:25.0 -0400
+++ vim63/runtime/filetype.vim	2005-07-29 18:16:32.0 -0400
@@ -1216,6 +1216,9 @@
   endif
 endfun
 
+" Conary Recipe
+au BufNewFile,BufRead *.recipe		setf conaryRecipe
+
 " Remind
 au BufNewFile,BufRead .reminders*		setf remind
 
" Vim syntax file
" Language: Conary Recipe
" Maintainer:   rPath Inc 
" Updated:  2007-04-26
"
if exists("b:current_syntax")
  finish
endif

runtime! syntax/python.vim
syn keyword conarySFunction mainDir addAction addSource addArchive addPatch
syn keyword conarySFunction addRedirect

syn keyword conaryGFunction add addAll addNewGroup addReference createGroup
syn keyword conaryGFunction addNewGroup startGroup remove removeComponents
syn keyword conaryGFunction replace setByDefault setDefaultGroup 
syn keyword conaryGFunction setLabelPath addCopy setSearchPath

syn keyword conaryBFunction Run Automake Configure ManualConfigure 
syn keyword conaryBFunction Make MakeParallelSubdir MakeInstall
syn keyword conaryBFunction MakePathsInstall CompilePython
syn keyword conaryBFunction Ldconfig Desktopfile Environment SetModes
syn keyword conaryBFunction Install Copy Move Symlink Link Remove Doc
syn keyword conaryBFunction Create MakeDirs disableParallelMake
syn keyword conaryBFunction ConsoleHelper Replace SGMLCatalogEntry
syn keyword conaryBFunction XInetdService XMLCatalogEntry TestSuite
syn keyword conaryBFunction PythonSetup

syn keyword conaryPFunction NonBinariesInBindirs FilesInMandir 
syn keyword conaryPFunction ImproperlyShared CheckSonames CheckDestDir
syn keyword conaryPFunction ComponentSpec PackageSpec 
syn keyword conaryPFunction Config InitScript GconfSchema SharedLibrary
syn keyword conaryPFunction ParseManifest MakeDevices DanglingSymlinks
syn keyword conaryPFunction AddModes WarnWriteable IgnoredSetuid
syn keyword conaryPFunction Ownership ExcludeDirectories
syn keyword conaryPFunction BadFilenames BadInterpreterPaths ByDefault
syn keyword conaryPFunction ComponentProvides ComponentRequires Flavor
syn keyword conaryPFunction EnforceConfigLogBuildRequirements Group
syn keyword conaryPFunction EnforceSonameBuildRequirements InitialContents
syn keyword conary

Re: syntax highlighting addition

2007-04-19 Thread Jonathan Smith

Bram Moolenaar wrote:

Jonathan Smith wrote:


Conary [1] has a file format called a "recipe" [2] which is in many
ways similar in function to a spec file or an ebuild. rPath has been
maintaining a syntax highlighting file for this format, but it would
be nice if vim would accept a patch to include this in the standard
distribution. Attached is just such a patch.


Thanks for looking into this.

"recipe" is not a good filetype name.  Is there anything against using
"conary"?

The syntax file must not start with "syntax clear".  Look into a few
examples in the Vim 7 distribution how this is done properly.

I would very much prefer that the author of the file directly sends the
syntax file to me.  At least for copyright issues.



Well, the files are called recipes. In the same way that you wouldn't call a 
spec file "rpm", you wouldn't call a recipe "conary". Conary has other file 
types which it uses, which vim should not be able to edit (changesets, the 
equivalent of an RPM).


You'll notice that "rPath Inc" is listed as the author. I am a member of the 
rPath distro team, and an employee of the same, so copyright shouldn't be an issue.


Thanks for the tips about "syntax clear". Taking an example from the spec.vim 
file, I have modified the recipe.vim file to hopefully be acceptable. It is once 
 again attached to this email.


-smithj
--- vim63/runtime/filetype.vim.old	2005-07-29 18:16:25.0 -0400
+++ vim63/runtime/filetype.vim	2005-07-29 18:16:32.0 -0400
@@ -1216,6 +1216,9 @@
   endif
 endfun
 
+" Conary Recipe
+au BufNewFile,BufRead *.recipe		setf recipe
+
 " Remind
 au BufNewFile,BufRead .reminders*		setf remind
 
" Vim syntax file
" Language: Conary Recipe
" Maintainer:   rPath Inc <http://www.rpath.com>
" Updated:  2007-04-18
"
" 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

runtime! syntax/python.vim
syn keyword conarySFunction mainDir addAction addSource addArchive addPatch
syn keyword conarySFunction addRedirect

syn keyword conaryGFunction add addAll addNewGroup addReference createGroup
syn keyword conaryGFunction addNewGroup startGroup remove removeComponents
syn keyword conaryGFunction replace setByDefault setDefaultGroup 
syn keyword conaryGFunction setLabelPath addCopy setSearchPath

syn keyword conaryBFunction Run Automake Configure ManualConfigure 
syn keyword conaryBFunction Make MakeParallelSubdir MakeInstall
syn keyword conaryBFunction MakePathsInstall CompilePython
syn keyword conaryBFunction Ldconfig Desktopfile Environment SetModes
syn keyword conaryBFunction Install Copy Move Symlink Link Remove Doc
syn keyword conaryBFunction Create MakeDirs disableParallelMake
syn keyword conaryBFunction ConsoleHelper Replace SGMLCatalogEntry
syn keyword conaryBFunction XInetdService XMLCatalogEntry TestSuite
syn keyword conaryBFunction PythonSetup

syn keyword conaryPFunction NonBinariesInBindirs FilesInMandir 
syn keyword conaryPFunction ImproperlyShared CheckSonames CheckDestDir
syn keyword conaryPFunction ComponentSpec PackageSpec 
syn keyword conaryPFunction Config InitScript GconfSchema SharedLibrary
syn keyword conaryPFunction ParseManifest MakeDevices DanglingSymlinks
syn keyword conaryPFunction AddModes WarnWriteable IgnoredSetuid
syn keyword conaryPFunction Ownership ExcludeDirectories
syn keyword conaryPFunction BadFilenames BadInterpreterPaths ByDefault
syn keyword conaryPFunction ComponentProvides ComponentRequires Flavor
syn keyword conaryPFunction EnforceConfigLogBuildRequirements Group
syn keyword conaryPFunction EnforceSonameBuildRequirements InitialContents
syn keyword conaryPFunction FilesForDirectories LinkCount
syn keyword conaryPFunction MakdeDevices NonMultilibComponent ObsoletePaths
syn keyword conaryPFunction NonMultilibDirectories NonUTF8Filenames TagSpec
syn keyword conaryPFunction Provides RequireChkconfig Requires TagHandler
syn keyword conaryPFunction TagDescription Transient User UtilizeGroup
syn keyword conaryPFunction WorldWritableExecutables UtilizeUser
syn keyword conaryPFunction WarnWritable Strip CheckDesktopFiles

" Most destdirPolicy aren't called from recipes, except for these
syn keyword conaryPFunction AutoDoc RemoveNonPackageFiles TestSuiteFiles
syn keyword conaryPFunction TestSuiteLinks

syn match   conaryMacro "%(\w*)[sd]" contained
syn match   conaryBadMacro  "%(\w*)[^sd]" contained " no final marker
syn keyword conaryArchescontained x86 x86_64
syn keyword conarySubArches contained sse2 3dnow 3dnowext cmov i486 i586
syn keyw

syntax highlighting addition

2007-04-19 Thread Jonathan Smith
Conary [1] has a file format called a "recipe" [2] which is in many ways similar 
in function to a spec file or an ebuild. rPath has been maintaining a syntax 
highlighting file for this format, but it would be nice if vim would accept a 
patch to include this in the standard distribution. Attached is just such a patch.


Thanks,

-smithj

[1]: http://wiki.rpath.com/wiki/Conary
[2]: http://wiki.rpath.com/wiki/Conary:Recipe
--- vim63/runtime/filetype.vim.old	2005-07-29 18:16:25.0 -0400
+++ vim63/runtime/filetype.vim	2005-07-29 18:16:32.0 -0400
@@ -1216,6 +1216,9 @@
   endif
 endfun
 
+" Conary Recipe
+au BufNewFile,BufRead *.recipe		setf recipe
+
 " Remind
 au BufNewFile,BufRead .reminders*		setf remind
 
" Vim syntax file
" Language: Conary Recipe
" Maintainer:   rPath Inc 
" Updated:  2007-04-18
"
syntax clear
runtime! syntax/python.vim
syn keyword conarySFunction mainDir addAction addSource addArchive addPatch
syn keyword conarySFunction addRedirect

syn keyword conaryGFunction add addAll addNewGroup addReference createGroup
syn keyword conaryGFunction addNewGroup startGroup remove removeComponents
syn keyword conaryGFunction replace setByDefault setDefaultGroup 
syn keyword conaryGFunction setLabelPath addCopy setSearchPath

syn keyword conaryBFunction Run Automake Configure ManualConfigure 
syn keyword conaryBFunction Make MakeParallelSubdir MakeInstall
syn keyword conaryBFunction MakePathsInstall CompilePython
syn keyword conaryBFunction Ldconfig Desktopfile Environment SetModes
syn keyword conaryBFunction Install Copy Move Symlink Link Remove Doc
syn keyword conaryBFunction Create MakeDirs disableParallelMake
syn keyword conaryBFunction ConsoleHelper Replace SGMLCatalogEntry
syn keyword conaryBFunction XInetdService XMLCatalogEntry TestSuite
syn keyword conaryBFunction PythonSetup

syn keyword conaryPFunction NonBinariesInBindirs FilesInMandir 
syn keyword conaryPFunction ImproperlyShared CheckSonames CheckDestDir
syn keyword conaryPFunction ComponentSpec PackageSpec 
syn keyword conaryPFunction Config InitScript GconfSchema SharedLibrary
syn keyword conaryPFunction ParseManifest MakeDevices DanglingSymlinks
syn keyword conaryPFunction AddModes WarnWriteable IgnoredSetuid
syn keyword conaryPFunction Ownership ExcludeDirectories
syn keyword conaryPFunction BadFilenames BadInterpreterPaths ByDefault
syn keyword conaryPFunction ComponentProvides ComponentRequires Flavor
syn keyword conaryPFunction EnforceConfigLogBuildRequirements Group
syn keyword conaryPFunction EnforceSonameBuildRequirements InitialContents
syn keyword conaryPFunction FilesForDirectories LinkCount
syn keyword conaryPFunction MakdeDevices NonMultilibComponent ObsoletePaths
syn keyword conaryPFunction NonMultilibDirectories NonUTF8Filenames TagSpec
syn keyword conaryPFunction Provides RequireChkconfig Requires TagHandler
syn keyword conaryPFunction TagDescription Transient User UtilizeGroup
syn keyword conaryPFunction WorldWritableExecutables UtilizeUser
syn keyword conaryPFunction WarnWritable Strip CheckDesktopFiles

" Most destdirPolicy aren't called from recipes, except for these
syn keyword conaryPFunction AutoDoc RemoveNonPackageFiles TestSuiteFiles
syn keyword conaryPFunction TestSuiteLinks

syn match   conaryMacro "%(\w*)[sd]" contained
syn match   conaryBadMacro  "%(\w*)[^sd]" contained " no final marker
syn keyword conaryArchescontained x86 x86_64
syn keyword conarySubArches contained sse2 3dnow 3dnowext cmov i486 i586
syn keyword conarySubArches contained i686 mmx mmxext nx sse sse2
syn keyword conaryBad   RPM_BUILD_ROOT EtcConfig InstallBucket subDir 
subdir 
syn keyword conaryBad   RPM_OPT_FLAGS 
syn cluster conaryArchFlags contains=conaryArches,conarySubArches
syn match   conaryArch  "Arch\.[a-z0-9.]*" 
contains=conaryArches,conarySubArches
syn match   conaryArch  "Arch\.[a-z0-9.]*" 
contains=conaryArches,conarySubArches
syn keyword conaryKeywords  name buildRequires version clearBuildReqs
syn keyword conaryUseFlag   contained pcre tcpwrappers gcj gnat selinux pam 
syn keyword conaryUseFlag   contained bootstrap python perl 
syn keyword conaryUseFlag   contained readline gdbm emacs krb builddocs 
syn keyword conaryUseFlag   contained alternatives tcl tk X gtk gnome qt
syn keyword conaryUseFlag   contained xfce gd ldap sasl pie desktop ssl kde
syn keyword conaryUseFlag   contained slang netpbm nptl ipv6 buildtests
syn keyword conaryUseFlag   contained ntpl xen dom0 domU
syn match   conaryUse   "Use\.[a-z0-9.]*" contains=conaryUseFlag

"syn match   conaryR"r\.\w*" contains=conaryFunction

" strings
syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ 
skip=+\|\\'+ contains=pythonEscape,conaryMac