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