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 <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 pythonFunction        Function
>>   "HiLink pythonConditional     Conditional
>>   "HiLink pythonRepeat          Repeat
>>   "HiLink pythonString          String
>>   "HiLink pythonRawString       String
>>   "HiLink pythonEscape          Special
>>   "HiLink pythonOperator                Operator
>>   "HiLink pythonPreCondit       PreCondit
>>   "HiLink pythonComment         Comment
>>   "HiLink pythonTodo            Todo
>
> ?

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.000000000 -0400
+++ vim63/runtime/filetype.vim	2005-07-29 18:16:32.000000000 -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 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 conaryArches        contained 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-9A-Z]\+" contains=conaryUseFlag

" 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


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 conaryMacro            Special
  HiLink conaryBFunction        Function
  HiLink conaryGFunction        Function
  HiLink conarySFunction        Operator
  HiLink conaryPFunction        Typedef
  HiLink conaryFlags            PreCondit
  HiLink conaryArches           Special
  HiLink conarySubArches        Special
  HiLink conaryBad              Error
  HiLink conaryBadMacro         Error
  HiLink conaryKeywords         Special
  HiLink conaryUseFlag          Typedef

  delcommand HiLink
endif

let b:current_syntax = "recipe"

Reply via email to