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 http://www.rpath.com
 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,conarySubArches
syn match   conaryArch  Arch\.[a-z0-9A-Z]\+ 

Re: syntax highlighting addition

2007-05-07 Thread Bram Moolenaar

Jonathan Smith wrote:

 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

The only thing that I now spot is that the syntax items start with
conary instead of conaryrecipe.  That's a tiny issue though, since
if there is another conaryXXX syntax you can make sure there are no
conflicts.

I'll include the syntax file now.

-- 
hundred-and-one symptoms of being an internet addict:
80. At parties, you introduce your spouse as your service provider.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\download, build and distribute -- http://www.A-A-P.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///


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   conaryRr\.\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 args
   else
 command -nargs=+ HiLink hi def link args
   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 http://www.rpath.com
 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 conaryPFunction FilesForDirectories LinkCount
syn keyword conaryPFunction MakdeDevices NonMultilibComponent 

Re: syntax highlighting addition

2007-04-26 Thread Nikolai Weibull

It's getting there.

On 4/26/07, Jonathan Smith [EMAIL PROTECTED] wrote:


Nikolai Weibull wrote:



  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


Oops.  That should be

syn keyword conaryUse
 \ nextgroup=conaryUseFlagSeparator
 \ Use


 Vim syntax file
 Language: Conary Recipe
 Maintainer:   rPath Inc http://www.rpath.com
 Updated:  2007-04-26



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


runtime! syntax/python.vim


Just to make sure: Python is allowed anywhere in a conary recipe?


syn keyword conarySFunction mainDir addAction addSource addArchive addPatch


If you change the filetype name to conaryrecipe (note: no caps),
you'll also have to change the syntax-group names.


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]


 strings
syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ 
skip=+\|\\'+ contains=pythonEscape,conaryMacro,conaryBadMacro
syn region pythonString matchgroup=Normal start=+[uU]\=+ end=++ 
skip=+\|\\+ contains=pythonEscape,conaryMacro,conaryBadMacro
syn region pythonString matchgroup=Normal start=+[uU]\=+ end=++ 
contains=pythonEscape,conaryMacro,conaryBadMacro
syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ 
contains=pythonEscape,conaryMacro,conaryBadMacro
syn region pythonRawString  matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ 
skip=+\|\\'+ contains=conaryMacro,conaryBadMacro
syn region pythonRawString  matchgroup=Normal start=+[uU]\=[rR]+ end=++ 
skip=+\|\\+ contains=conaryMacro,conaryBadMacro
syn region pythonRawString  matchgroup=Normal start=+[uU]\=[rR]+ 
end=++ contains=conaryMacro,conaryBadMacro
syn region pythonRawString  matchgroup=Normal start=+[uU]\=[rR]'''+ 
end=+'''+ contains=conaryMacro,conaryBadMacro


I wonder if naming them pythonX is very good.  Bram?


if version = 508 || !exists(did_python_syn_inits)
  command -nargs=+ HiLink hi def link args

   The default methods for highlighting.  Can be overridden later
  HiLink conaryMacroSpecial
  HiLink conaryBFunctionFunction
  HiLink conaryGFunctionFunction
  HiLink conarySFunctionOperator
  HiLink conaryPFunctionTypedef
  HiLink conaryFlagsPreCondit
  HiLink conaryArches   Special
  HiLink conarySubArchesSpecial
  HiLink conaryBad  Error
  HiLink conaryBadMacro Error
  HiLink conaryKeywords Special
  HiLink conaryUseFlag  Typedef

  delcommand HiLink
endif


Substitute that with

hi def link conaryrecipeMacro Macro
hi def link conaryrecipeFunction Function
hi def link conaryrecipeBFunction conaryrecipeFunction
hi def link conaryrecipeGFunction conaryrecipeFunction
:
:

(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.)

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


let b:current_syntax = recipe


This should be

let b:current_syntax = conaryrecipe

 nikolai


Re: syntax highlighting addition

2007-04-26 Thread Bram Moolenaar

Jonathan Smith wrote:

 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.

No other filetype has an uppercase letter.  I would call it
conaryrecipe.  It's a bit long, but clear.

Now all items in the syntax file need to start with conaryrecipe to
avoid any confusion with other syntax files and highlighting items.
b:current_syntax also needs to be set to the same name.

   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   conaryRr\.\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 args
 else
   command -nargs=+ HiLink hi def link args
 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. :)

You might as well use hi def link instead of HiLink.

 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.

But the python syntax items are still there.  This doesn't look right.

vim: ts=8
  
   This is the default setting.
 
 removed
 
 new version attached, as before. thanks for the feedback. further feedback 
 requested :)

-- 
hundred-and-one symptoms of being an internet addict:
27. You refer to your age as 3.x.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\download, build and distribute -- http://www.A-A-P.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///


Re: syntax highlighting addition

2007-04-21 Thread Nikolai Weibull

On 4/20/07, Bram Moolenaar [EMAIL PROTECTED] wrote:


Getting better.  Nikola's comments also apply (thanks Nikola!).


No problem.  I guess there's a bug in the current Ctrl+N
implementation?  It seems to be cutting off the last character in the
completion.  ;-)

 nikolai


Re: syntax highlighting addition

2007-04-21 Thread A.J.Mechelynck

Nikolai Weibull wrote:

On 4/20/07, Bram Moolenaar [EMAIL PROTECTED] wrote:


Getting better.  Nikola's comments also apply (thanks Nikola!).


No problem.  I guess there's a bug in the current Ctrl+N
implementation?  It seems to be cutting off the last character in the
completion.  ;-)

 nikolai



Insert-mode competion, you mean? I don't see anything cut off; but I use :set 
completeopt=menuone,preview which adds info (for Ctrl-N: where it was found, 
if not the current file) to the right of the menu items. There seems to be a 
maximum width, and the last column of the menu looks like a scrollbar. Maybe 
an off-by-one error if preview is not included?



Best regards,
Tony.
--
Happiness, n.:
An agreeable sensation arising from contemplating the misery of
another.
-- Ambrose Bierce, The Devil's Dictionary


Re: syntax highlighting addition

2007-04-21 Thread Nikolai Weibull

On 4/21/07, A.J.Mechelynck [EMAIL PROTECTED] wrote:

Nikolai Weibull wrote:
 On 4/20/07, Bram Moolenaar [EMAIL PROTECTED] wrote:

 Getting better.  Nikola's comments also apply (thanks Nikola!).

 No problem.  I guess there's a bug in the current Ctrl+N
 implementation?  It seems to be cutting off the last character in the
 completion.  ;-)



Insert-mode competion, you mean? I don't see anything cut off; but I use :set
completeopt=menuone,preview which adds info (for Ctrl-N: where it was found,
if not the current file) to the right of the menu items. There seems to be a
maximum width, and the last column of the menu looks like a scrollbar. Maybe
an off-by-one error if preview is not included?


You totally missed the point.

What I meant was that Bram mentioned that he uses Ctrl+N to complete
names in emails to make sure he doesn't misspell people's names.  In
his response to Jonathan's mail he wrote Nikola (note the missing 'i'
in Nikola/i/), so I figured I'd be humorous about it and say that
Ctrl+N completion seems broken in his version of Vim.

 nikolai


Re: syntax highlighting addition

2007-04-21 Thread A.J.Mechelynck

Nikolai Weibull wrote:

On 4/21/07, A.J.Mechelynck [EMAIL PROTECTED] wrote:

Nikolai Weibull wrote:
 On 4/20/07, Bram Moolenaar [EMAIL PROTECTED] wrote:

 Getting better.  Nikola's comments also apply (thanks Nikola!).

 No problem.  I guess there's a bug in the current Ctrl+N
 implementation?  It seems to be cutting off the last character in the
 completion.  ;-)


Insert-mode competion, you mean? I don't see anything cut off; but I 
use :set
completeopt=menuone,preview which adds info (for Ctrl-N: where it was 
found,
if not the current file) to the right of the menu items. There seems 
to be a
maximum width, and the last column of the menu looks like a scrollbar. 
Maybe

an off-by-one error if preview is not included?


You totally missed the point.

What I meant was that Bram mentioned that he uses Ctrl+N to complete
names in emails to make sure he doesn't misspell people's names.  In
his response to Jonathan's mail he wrote Nikola (note the missing 'i'
in Nikola/i/), so I figured I'd be humorous about it and say that
Ctrl+N completion seems broken in his version of Vim.

 nikolai



Ah, I see. I thought it was something that /you/ had experienced. Yes, I 
missed the point, and the l of completion slipped away in the process (in 
part because I compose my emails using Thunderbird, not Vim, and that it 
doesn't have that kind of completion).



Best regards,
Tony.
--
If anyone wants to trade a couple of centrally located, well-cushioned
showgirls for an eroded slope 90 minutes from Broadway, I'll be on this
corner tomorrow at 11 with my tongue hanging out.
-- S. J. Perelman


Re: syntax highlighting addition

2007-04-20 Thread Bram Moolenaar

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).

Well, then we would need to call it conaryrecipe, but that's quite
long.

At least you need to be consistent: the name of the filetype is used for
the file name, and all syntax items must start with that name.

I now notice that you also have items starting with python.  That's
weird.  Is this the result of copypaste or was this intentional?

 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.

Ah, it's good to know this.

 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.

Getting better.  Nikola's comments also apply (thanks Nikola!).

-- 
Sometimes you can protect millions of dollars in your budget simply by buying
a bag of cookies, dropping it on the budget anylyst's desk, and saying
something deeply personal such as How was your weekend, big guy?
(Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\download, build and distribute -- http://www.A-A-P.org///
 \\\help me help AIDS victims -- http://ICCF-Holland.org///


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 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