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"